All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__find_map_by_name
      Src: /src/libbpf/src/usdt.c:274,1
    - Dst: bpf_object__find_map_by_name
      Src: /src/libbpf/src/usdt.c:275,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:277,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/usdt.c:278,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:281,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/usdt.c:283,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/usdt.c:292,1
    - Dst: faccessat
      Src: /src/libbpf/src/usdt.c:298,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/usdt.c:304,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/usdt.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 313
    functionName: usdt_manager_new
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - faccessat
    - kernel_supports
    - calloc
    - bpf_object__find_map_by_name
    - pr_warn
    - ERR_PTR
    linkageType: ''
    returnType: struct usdt_manager
    signature: struct usdt_manager *usdt_manager_new(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/usdt.c:317,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:320,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - man
    argTypes:
    - struct usdt_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: usdt_manager_free
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - free
    - IS_ERR_OR_NULL
    linkageType: ''
    returnType: void
    signature: void usdt_manager_free(struct usdt_manager *man)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: elf_kind
      Src: /src/libbpf/src/usdt.c:329,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:330,1
    - Dst: elf_kind
      Src: /src/libbpf/src/usdt.c:330,1
    - Dst: gelf_getclass
      Src: /src/libbpf/src/usdt.c:334,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:337,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:343,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:348,1
    - Dst: gelf_getehdr
      Src: /src/libbpf/src/usdt.c:352,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:356,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - elf
    - path
    argTypes:
    - Elf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 374
    functionName: sanity_check_usdt_elf
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - elf_kind
    - gelf_getclass
    - pr_warn
    - gelf_getehdr
    linkageType: ''
    returnType: int
    signature: int sanity_check_usdt_elf(Elf *elf, const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: elf_getshdrstrndx
      Src: /src/libbpf/src/usdt.c:381,1
    - Dst: elf_rawdata
      Src: /src/libbpf/src/usdt.c:385,1
    - Dst: elf_getscn
      Src: /src/libbpf/src/usdt.c:385,1
    - Dst: elf_nextscn
      Src: /src/libbpf/src/usdt.c:388,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/usdt.c:391,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/usdt.c:394,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - elf
    - sec_name
    - shdr
    - scn
    argTypes:
    - Elf*
    - char*
    - GElf_Shdr*
    - Elf_Scn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: find_elf_sec_by_name
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - elf_getscn
    - elf_getshdrstrndx
    - gelf_getshdr
    - strcmp
    - elf_nextscn
    - elf_strptr
    - elf_rawdata
    linkageType: ''
    returnType: int
    signature: int find_elf_sec_by_name(Elf *elf, const char *sec_name, GElf_Shdr
      *shdr, Elf_Scn **scn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: cmp_elf_segs
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_elf_segs(const void *_a, const void *_b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: elf_getphdrnum
      Src: /src/libbpf/src/usdt.c:429,1
    - Dst: gelf_getphdr
      Src: /src/libbpf/src/usdt.c:435,1
    - Dst: pr_debug
      Src: /src/libbpf/src/usdt.c:440,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/usdt.c:447,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:462,1
    - Dst: qsort
      Src: /src/libbpf/src/usdt.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - elf
    - path
    - segs
    - seg_cnt
    argTypes:
    - Elf*
    - char*
    - struct elf_seg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 468
    functionName: parse_elf_segs
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - pr_debug
    - gelf_getphdr
    - qsort
    - elf_getphdrnum
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_elf_segs(Elf *elf, const char *path, struct elf_seg **segs,
      size_t *seg_cnt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:486,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/usdt.c:488,1
    - Dst: realpath
      Src: /src/libbpf/src/usdt.c:492,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:493,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:494,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/usdt.c:495,1
    - Dst: sprintf
      Src: /src/libbpf/src/usdt.c:499,1
    - Dst: fopen
      Src: /src/libbpf/src/usdt.c:500,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:503,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:504,1
    - Dst: fscanf
      Src: /src/libbpf/src/usdt.c:517,1
    - Dst: isblank
      Src: /src/libbpf/src/usdt.c:526,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:528,1
    - Dst: pr_debug
      Src: /src/libbpf/src/usdt.c:531,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/usdt.c:538,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:555,1
    - Dst: qsort
      Src: /src/libbpf/src/usdt.c:561,1
    - Dst: fclose
      Src: /src/libbpf/src/usdt.c:564,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 4
    argNames:
    - pid
    - lib_path
    - segs
    - seg_cnt
    argTypes:
    - int
    - char*
    - struct elf_seg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 566
    functionName: parse_vma_segs
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - fclose
    - libbpf_strlcpy
    - fscanf
    - sprintf
    - strcmp
    - libbpf_reallocarray
    - pr_debug
    - realpath
    - fopen
    - sscanf
    - errstr
    - qsort
    - isblank
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_vma_segs(int pid, const char *lib_path, struct elf_seg **segs,
      size_t *seg_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - segs
    - seg_cnt
    - virtaddr
    argTypes:
    - struct elf_seg*
    - size_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 582
    functionName: find_elf_seg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct elf_seg
    signature: struct elf_seg *find_elf_seg(struct elf_seg *segs, size_t seg_cnt,
      long virtaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - segs
    - seg_cnt
    - offset
    argTypes:
    - struct elf_seg*
    - size_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: find_vma_seg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct elf_seg
    signature: struct elf_seg *find_vma_seg(struct elf_seg *segs, size_t seg_cnt,
      long offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/libbpf/src/usdt.c:613,1
    - Dst: memcmp
      Src: /src/libbpf/src/usdt.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - 'off'
    argTypes:
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: has_nop_combo
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - memcmp
    - pread
    linkageType: ''
    returnType: bool
    signature: bool has_nop_combo(int fd, long off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - 'off'
    argTypes:
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: has_nop_combo
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_nop_combo(int fd, long off)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: find_elf_sec_by_name
      Src: /src/libbpf/src/usdt.c:644,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:646,1
    - Dst: gelf_getehdr
      Src: /src/libbpf/src/usdt.c:650,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:651,1
    - Dst: parse_elf_segs
      Src: /src/libbpf/src/usdt.c:655,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:657,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:658,1
    - Dst: find_elf_sec_by_name
      Src: /src/libbpf/src/usdt.c:665,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/usdt.c:668,1
    - Dst: gelf_getnote
      Src: /src/libbpf/src/usdt.c:670,1
    - Dst: parse_usdt_note
      Src: /src/libbpf/src/usdt.c:676,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:680,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:680,1
    - Dst: find_elf_seg
      Src: /src/libbpf/src/usdt.c:719,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:722,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:728,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:751,1
    - Dst: parse_vma_segs
      Src: /src/libbpf/src/usdt.c:758,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:760,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:761,1
    - Dst: find_vma_seg
      Src: /src/libbpf/src/usdt.c:766,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:769,1
    - Dst: pr_debug
      Src: /src/libbpf/src/usdt.c:777,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:787,1
    - Dst: find_elf_seg
      Src: /src/libbpf/src/usdt.c:793,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:796,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:802,1
    - Dst: pr_debug
      Src: /src/libbpf/src/usdt.c:810,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/usdt.c:817,1
    - Dst: memset
      Src: /src/libbpf/src/usdt.c:825,1
    - Dst: has_nop_combo
      Src: /src/libbpf/src/usdt.c:832,1
    - Dst: parse_usdt_spec
      Src: /src/libbpf/src/usdt.c:846,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:858,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:859,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:861,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 127
    argCount: 9
    argNames:
    - man
    - elf_fd
    - path
    - pid
    - usdt_provider
    - usdt_name
    - usdt_cookie
    - out_targets
    - out_target_cnt
    argTypes:
    - struct usdt_manager*
    - struct elf_fd*
    - char*
    - pid_t
    - char*
    - char*
    - __u64
    - struct usdt_target**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 863
    functionName: collect_usdt_targets
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - elf_getdata
    - gelf_getnote
    - find_elf_seg
    - find_vma_seg
    - memset
    - parse_usdt_note
    - strcmp
    - libbpf_reallocarray
    - pr_debug
    - parse_usdt_spec
    - errstr
    - parse_vma_segs
    - free
    - has_nop_combo
    - find_elf_sec_by_name
    - parse_elf_segs
    - pr_warn
    - gelf_getehdr
    linkageType: ''
    returnType: int
    signature: "int collect_usdt_targets(struct usdt_manager *man, struct elf_fd *elf_fd,
      const char *path,\n\t\t\t\tpid_t pid, const char *usdt_provider, const char
      *usdt_name,\n\t\t\t\t__u64 usdt_cookie, struct usdt_target **out_targets,\n\t\t\t\tsize_t
      *out_target_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libbpf/src/usdt.c:884,1
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/usdt.c:888,1
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/usdt.c:893,1
    - Dst: bpf_map_delete_elem
      Src: /src/libbpf/src/usdt.c:902,1
    - Dst: bpf_map__fd
      Src: /src/libbpf/src/usdt.c:902,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/usdt.c:920,1
    - Dst: memcpy
      Src: /src/libbpf/src/usdt.c:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 940
    functionName: bpf_link_usdt_detach
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - container_of
    - bpf_map__fd
    - libbpf_reallocarray
    - bpf_map_delete_elem
    - bpf_link__destroy
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_link_usdt_detach(struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libbpf/src/usdt.c:944,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:946,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:947,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: bpf_link_usdt_dealloc
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - container_of
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_link_usdt_dealloc(struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_hash
      Src: /src/libbpf/src/usdt.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: specs_hash_fn
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - str_hash
    linkageType: ''
    returnType: size_t
    signature: size_t specs_hash_fn(long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key1
    - key2
    - ctx
    argTypes:
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: specs_equal_fn
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool specs_equal_fn(long key1, long key2, void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__find
      Src: /src/libbpf/src/usdt.c:970,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/usdt.c:979,1
    - Dst: hashmap__add
      Src: /src/libbpf/src/usdt.c:989,1
    - Dst: bpf_map__max_entries
      Src: /src/libbpf/src/usdt.c:996,1
    - Dst: hashmap__add
      Src: /src/libbpf/src/usdt.c:1002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 6
    argNames:
    - man
    - specs_hash
    - link
    - target
    - spec_id
    - is_new
    argTypes:
    - struct usdt_manager*
    - struct hashmap*
    - struct bpf_link_usdt*
    - struct usdt_target*
    - int*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1014
    functionName: allocate_spec_id
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - hashmap__add
    - libbpf_reallocarray
    - bpf_map__max_entries
    - hashmap__find
    linkageType: ''
    returnType: int
    signature: "int allocate_spec_id(struct usdt_manager *man, struct hashmap *specs_hash,\n\t\t\t
      \   struct bpf_link_usdt *link, struct usdt_target *target,\n\t\t\t    int *spec_id,
      bool *is_new)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/usdt.c:1023,1
    - Dst: bpf_map__fd
      Src: /src/libbpf/src/usdt.c:1031,1
    - Dst: bpf_map__fd
      Src: /src/libbpf/src/usdt.c:1032,1
    - Dst: elf_open
      Src: /src/libbpf/src/usdt.c:1034,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/usdt.c:1036,1
    - Dst: sanity_check_usdt_elf
      Src: /src/libbpf/src/usdt.c:1038,1
    - Dst: getpid
      Src: /src/libbpf/src/usdt.c:1046,1
    - Dst: collect_usdt_targets
      Src: /src/libbpf/src/usdt.c:1051,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/usdt.c:1058,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/usdt.c:1059,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/usdt.c:1060,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:1064,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:1075,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:1076,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:1077,1
    - Dst: calloc
      Src: /src/libbpf/src/usdt.c:1084,1
    - Dst: allocate_spec_id
      Src: /src/libbpf/src/usdt.c:1105,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/usdt.c:1109,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1111,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:1112,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/usdt.c:1116,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1119,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1122,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:1124,1
    - Dst: bpf_program__attach_uprobe_opts
      Src: /src/libbpf/src/usdt.c:1136,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/usdt.c:1138,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1140,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:1141,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/usdt.c:1152,1
    - Dst: bpf_program__attach_uprobe_multi
      Src: /src/libbpf/src/usdt.c:1159,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1163,1
    - Dst: errstr
      Src: /src/libbpf/src/usdt.c:1164,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1168,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1169,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1170,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1173,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/usdt.c:1174,1
    - Dst: elf_close
      Src: /src/libbpf/src/usdt.c:1175,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1179,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1180,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1181,1
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/usdt.c:1184,1
    - Dst: free
      Src: /src/libbpf/src/usdt.c:1185,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/usdt.c:1186,1
    - Dst: elf_close
      Src: /src/libbpf/src/usdt.c:1187,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/usdt.c:1188,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 7
    argNames:
    - man
    - prog
    - pid
    - path
    - usdt_provider
    - usdt_name
    - usdt_cookie
    argTypes:
    - struct usdt_manager*
    - struct bpf_program*
    - pid_t
    - char*
    - char*
    - char*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1189
    functionName: usdt_manager_attach_usdt
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - IS_ERR
    - PTR_ERR
    - libbpf_get_error
    - bpf_program__attach_uprobe_multi
    - bpf_link__destroy
    - libbpf_err_ptr
    - errstr
    - allocate_spec_id
    - elf_close
    - LIBBPF_OPTS
    - bpf_map__fd
    - getpid
    - collect_usdt_targets
    - hashmap__free
    - pr_warn
    - elf_open
    - sanity_check_usdt_elf
    - bpf_program__attach_uprobe_opts
    - calloc
    - hashmap__new
    - free
    - bpf_map_update_elem
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *usdt_manager_attach_usdt(struct usdt_manager *man,
      const struct bpf_program *prog,\n\t\t\t\t\t  pid_t pid, const char *path,\n\t\t\t\t\t
      \ const char *usdt_provider, const char *usdt_name,\n\t\t\t\t\t  __u64 usdt_cookie)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libbpf/src/usdt.c:1202,1
    - Dst: memcpy
      Src: /src/libbpf/src/usdt.c:1216,1
    - Dst: memchr
      Src: /src/libbpf/src/usdt.c:1221,1
    - Dst: memchr
      Src: /src/libbpf/src/usdt.c:1228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - nhdr
    - data
    - name_off
    - desc_off
    - note
    argTypes:
    - GElf_Nhdr*
    - char*
    - size_t
    - size_t
    - struct usdt_note*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1246
    functionName: parse_usdt_note
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - strncmp
    - memcpy
    - memchr
    linkageType: ''
    returnType: int
    signature: "int parse_usdt_note(GElf_Nhdr *nhdr, const char *data, size_t name_off,
      size_t desc_off,\n\t\t\t   struct usdt_note *note)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1262,1
    - Dst: parse_usdt_arg
      Src: /src/libbpf/src/usdt.c:1268,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - spec
    - note
    - usdt_cookie
    argTypes:
    - struct usdt_spec*
    - struct usdt_note*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1291
    functionName: parse_usdt_spec
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - pr_warn
    - parse_usdt_arg
    linkageType: ''
    returnType: int
    signature: int parse_usdt_spec(struct usdt_spec *spec, const struct usdt_note
      *note, __u64 usdt_cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1304,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1306,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1308,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1309,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1310,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1311,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1312,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1313,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1314,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1315,1
    - Dst: reg_off
      Src: /src/libbpf/src/usdt.c:1316,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/usdt.c:1331,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/usdt.c:1332,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:1333,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - reg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1340
    functionName: calc_pt_regs_off
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strcmp
    - pr_warn
    - reg_off
    linkageType: ''
    returnType: int
    signature: int calc_pt_regs_off(const char *reg_name)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1348,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1350,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1352,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1354,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1367,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1372,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1384,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1387,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1392,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1396,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1400,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1404,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1410,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1414,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1420,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1425
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - calc_pt_regs_off
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1435,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1440,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1444,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1449,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1453,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1464
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1472,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:1475,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - reg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1480
    functionName: calc_pt_regs_off
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - strcmp
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int calc_pt_regs_off(const char *reg_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1488,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1492,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1496,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1500,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1504,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1509,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1513,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1523
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - calc_pt_regs_off
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/usdt.c:1567,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:1568,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - reg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1574
    functionName: calc_pt_regs_off
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    - strcmp
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int calc_pt_regs_off(const char *reg_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1582,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1586,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1590,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1595,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1599,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1576
    functionDepth: 2
    functionLinenumber: 1576
    functionLinenumberEnd: 1609
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - calc_pt_regs_off
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/usdt.c:1638,1
    - Dst: strcmp
      Src: /src/libbpf/src/usdt.c:1639,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - reg_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1645
    functionName: calc_pt_regs_off
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 3
    functionsReached:
    - ARRAY_SIZE
    - strcmp
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int calc_pt_regs_off(const char *reg_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1653,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1658,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1662,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1666,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1670,1
    - Dst: sscanf
      Src: /src/libbpf/src/usdt.c:1675,1
    - Dst: calc_pt_regs_off
      Src: /src/libbpf/src/usdt.c:1679,1
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1689
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - calc_pt_regs_off
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/usdt.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - arg_str
    - arg_num
    - arg
    - arg_sz
    argTypes:
    - char*
    - int
    - struct usdt_arg_spec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: parse_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.c
    functionUses: 1
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec
      *arg, int *arg_sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/ringbuf.c:63,1
    - Dst: munmap
      Src: /src/libbpf/src/ringbuf.c:67,1
    - Dst: free
      Src: /src/libbpf/src/ringbuf.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rb
    - r
    argTypes:
    - struct ring_buffer*
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: ringbuf_free_ring
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - munmap
    - free
    linkageType: ''
    returnType: void
    signature: void ringbuf_free_ring(struct ring_buffer *rb, struct ring *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/ringbuf.c:86,1
    - Dst: bpf_map_get_info_by_fd
      Src: /src/libbpf/src/ringbuf.c:88,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:91,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:92,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:93,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:97,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:99,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/ringbuf.c:102,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:104,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/ringbuf.c:107,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:109,1
    - Dst: calloc
      Src: /src/libbpf/src/ringbuf.c:112,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:114,1
    - Dst: mmap
      Src: /src/libbpf/src/ringbuf.c:123,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:126,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:127,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:139,1
    - Dst: mmap
      Src: /src/libbpf/src/ringbuf.c:142,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:145,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:146,1
    - Dst: memset
      Src: /src/libbpf/src/ringbuf.c:153,1
    - Dst: epoll_ctl
      Src: /src/libbpf/src/ringbuf.c:157,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:159,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:160,1
    - Dst: ringbuf_free_ring
      Src: /src/libbpf/src/ringbuf.c:168,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 4
    argNames:
    - rb
    - map_fd
    - sample_cb
    - ctx
    argTypes:
    - struct ring_buffer*
    - int
    - ring_buffer_sample_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 170
    functionName: ring_buffer__add
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - mmap
    - ringbuf_free_ring
    - memset
    - libbpf_reallocarray
    - errstr
    - calloc
    - bpf_map_get_info_by_fd
    - epoll_ctl
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int ring_buffer__add(struct ring_buffer *rb, int map_fd,\n\t\t     ring_buffer_sample_fn
      sample_cb, void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ringbuf_free_ring
      Src: /src/libbpf/src/ringbuf.c:180,1
    - Dst: close
      Src: /src/libbpf/src/ringbuf.c:182,1
    - Dst: free
      Src: /src/libbpf/src/ringbuf.c:184,1
    - Dst: free
      Src: /src/libbpf/src/ringbuf.c:185,1
    - Dst: free
      Src: /src/libbpf/src/ringbuf.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct ring_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: ring_buffer__free
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - close
    - free
    - ringbuf_free_ring
    linkageType: ''
    returnType: void
    signature: void ring_buffer__free(struct ring_buffer *rb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/ringbuf.c:196,1
    - Dst: calloc
      Src: /src/libbpf/src/ringbuf.c:199,1
    - Dst: getpagesize
      Src: /src/libbpf/src/ringbuf.c:203,1
    - Dst: epoll_create1
      Src: /src/libbpf/src/ringbuf.c:205,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:208,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:208,1
    - Dst: ring_buffer__add
      Src: /src/libbpf/src/ringbuf.c:212,1
    - Dst: ring_buffer__free
      Src: /src/libbpf/src/ringbuf.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - map_fd
    - sample_cb
    - ctx
    - opts
    argTypes:
    - int
    - ring_buffer_sample_fn
    - void*
    - struct ring_buffer_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 221
    functionName: ring_buffer__new
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ring_buffer__free
    - ring_buffer__add
    - getpagesize
    - epoll_create1
    - OPTS_VALID
    - errstr
    - calloc
    - pr_warn
    linkageType: ''
    returnType: struct ring_buffer
    signature: "struct ring_buffer *\nring_buffer__new(int map_fd, ring_buffer_sample_fn
      sample_cb, void *ctx,\n\t\t const struct ring_buffer_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - len
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: roundup_len
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int roundup_len(__u32 len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:243,1
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:246,1
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:249,1
    - Dst: roundup_len
      Src: /src/libbpf/src/ringbuf.c:256,1
    - Dst: struct ring*::sample_cb
      Src: /src/libbpf/src/ringbuf.c:260,1
    - Dst: smp_store_release
      Src: /src/libbpf/src/ringbuf.c:263,1
    - Dst: smp_store_release
      Src: /src/libbpf/src/ringbuf.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - struct ring*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 278
    functionName: ringbuf_process_ring
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - roundup_len
    - smp_store_release
    - struct ring*::sample_cb
    - smp_load_acquire
    linkageType: ''
    returnType: int64_t
    signature: int64_t ringbuf_process_ring(struct ring *r, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ringbuf_process_ring
      Src: /src/libbpf/src/ringbuf.c:295,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rb
    - n
    argTypes:
    - struct ring_buffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 305
    functionName: ring_buffer__consume_n
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ringbuf_process_ring
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int ring_buffer__consume_n(struct ring_buffer *rb, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ringbuf_process_ring
      Src: /src/libbpf/src/ringbuf.c:320,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct ring_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: ring_buffer__consume
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ringbuf_process_ring
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int ring_buffer__consume(struct ring_buffer *rb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_wait
      Src: /src/libbpf/src/ringbuf.c:341,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:343,1
    - Dst: ringbuf_process_ring
      Src: /src/libbpf/src/ringbuf.c:349,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rb
    - timeout_ms
    argTypes:
    - struct ring_buffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: ring_buffer__poll
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ringbuf_process_ring
    - epoll_wait
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct ring_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: ring_buffer__epoll_fd
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ring_buffer__epoll_fd(const struct ring_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rb
    - idx
    argTypes:
    - struct ring_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: ring_buffer__ring
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ring
    signature: struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: ring__consumer_pos
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - smp_load_acquire
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ring__consumer_pos(const struct ring *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: ring__producer_pos
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - smp_load_acquire
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ring__producer_pos(const struct ring *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring__consumer_pos
      Src: /src/libbpf/src/ringbuf.c:391,1
    - Dst: ring__producer_pos
      Src: /src/libbpf/src/ringbuf.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: ring__avail_data_size
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ring__consumer_pos
    - ring__producer_pos
    linkageType: ''
    returnType: size_t
    signature: size_t ring__avail_data_size(const struct ring *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: ring__size
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ring__size(const struct ring *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: ring__map_fd
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ring__map_fd(const struct ring *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ringbuf_process_ring
      Src: /src/libbpf/src/ringbuf.c:410,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/ringbuf.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - struct ring*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: ring__consume_n
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ringbuf_process_ring
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int ring__consume_n(struct ring *r, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring__consume_n
      Src: /src/libbpf/src/ringbuf.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ring__consume
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ring__consume_n
    linkageType: ''
    returnType: int
    signature: int ring__consume(struct ring *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/ringbuf.c:425,1
    - Dst: munmap
      Src: /src/libbpf/src/ringbuf.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct user_ring_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: user_ringbuf_unmap_ring
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void user_ringbuf_unmap_ring(struct user_ring_buffer *rb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: user_ringbuf_unmap_ring
      Src: /src/libbpf/src/ringbuf.c:439,1
    - Dst: close
      Src: /src/libbpf/src/ringbuf.c:442,1
    - Dst: free
      Src: /src/libbpf/src/ringbuf.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct user_ring_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: user_ring_buffer__free
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - close
    - free
    - user_ringbuf_unmap_ring
    linkageType: ''
    returnType: void
    signature: void user_ring_buffer__free(struct user_ring_buffer *rb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/ringbuf.c:456,1
    - Dst: bpf_map_get_info_by_fd
      Src: /src/libbpf/src/ringbuf.c:458,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:461,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:462,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:467,1
    - Dst: mmap
      Src: /src/libbpf/src/ringbuf.c:475,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:478,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:479,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:491,1
    - Dst: mmap
      Src: /src/libbpf/src/ringbuf.c:494,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:498,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:499,1
    - Dst: epoll_ctl
      Src: /src/libbpf/src/ringbuf.c:508,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:510,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - rb
    - map_fd
    argTypes:
    - struct user_ring_buffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 515
    functionName: user_ringbuf_map
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - mmap
    - memset
    - errstr
    - bpf_map_get_info_by_fd
    - epoll_ctl
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int user_ringbuf_map(struct user_ring_buffer *rb, int map_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/ringbuf.c:523,1
    - Dst: calloc
      Src: /src/libbpf/src/ringbuf.c:526,1
    - Dst: getpagesize
      Src: /src/libbpf/src/ringbuf.c:530,1
    - Dst: epoll_create1
      Src: /src/libbpf/src/ringbuf.c:532,1
    - Dst: pr_warn
      Src: /src/libbpf/src/ringbuf.c:535,1
    - Dst: errstr
      Src: /src/libbpf/src/ringbuf.c:535,1
    - Dst: user_ringbuf_map
      Src: /src/libbpf/src/ringbuf.c:539,1
    - Dst: user_ring_buffer__free
      Src: /src/libbpf/src/ringbuf.c:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - map_fd
    - opts
    argTypes:
    - int
    - struct user_ring_buffer_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 548
    functionName: user_ring_buffer__new
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - user_ring_buffer__free
    - getpagesize
    - epoll_create1
    - OPTS_VALID
    - errstr
    - calloc
    - user_ringbuf_map
    - pr_warn
    linkageType: ''
    returnType: struct user_ring_buffer
    signature: 'struct user_ring_buffer *

      user_ring_buffer__new(int map_fd, const struct user_ring_buffer_opts *opts)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_exchange_n
      Src: /src/libbpf/src/ringbuf.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rb
    - sample
    - discard
    argTypes:
    - struct user_ring_buffer*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 567
    functionName: user_ringbuf_commit
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    linkageType: ''
    returnType: void
    signature: void user_ringbuf_commit(struct user_ring_buffer *rb, void *sample,
      bool discard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: user_ringbuf_commit
      Src: /src/libbpf/src/ringbuf.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rb
    - sample
    argTypes:
    - struct user_ring_buffer*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: user_ring_buffer__discard
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - user_ringbuf_commit
    linkageType: ''
    returnType: void
    signature: void user_ring_buffer__discard(struct user_ring_buffer *rb, void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: user_ringbuf_commit
      Src: /src/libbpf/src/ringbuf.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rb
    - sample
    argTypes:
    - struct user_ring_buffer*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: user_ring_buffer__submit
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - user_ringbuf_commit
    linkageType: ''
    returnType: void
    signature: void user_ring_buffer__submit(struct user_ring_buffer *rb, void *sample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:593,1
    - Dst: smp_load_acquire
      Src: /src/libbpf/src/ringbuf.c:595,1
    - Dst: smp_store_release
      Src: /src/libbpf/src/ringbuf.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - rb
    - size
    argTypes:
    - struct user_ring_buffer*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 618
    functionName: user_ring_buffer__reserve
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - smp_store_release
    - smp_load_acquire
    linkageType: ''
    returnType: void
    signature: void *user_ring_buffer__reserve(struct user_ring_buffer *rb, __u32
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - struct timespec*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: ns_elapsed_timespec
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 ns_elapsed_timespec(const struct timespec *start, const struct
      timespec *end)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libbpf/src/ringbuf.c:640,1
    - Dst: user_ring_buffer__reserve
      Src: /src/libbpf/src/ringbuf.c:650,1
    - Dst: epoll_wait
      Src: /src/libbpf/src/ringbuf.c:667,1
    - Dst: clock_gettime
      Src: /src/libbpf/src/ringbuf.c:674,1
    - Dst: ns_elapsed_timespec
      Src: /src/libbpf/src/ringbuf.c:678,1
    - Dst: user_ring_buffer__reserve
      Src: /src/libbpf/src/ringbuf.c:683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - rb
    - size
    - timeout_ms
    argTypes:
    - struct user_ring_buffer*
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 684
    functionName: user_ring_buffer__reserve_blocking
    functionSourceFile: /src/libbpf/src/ringbuf.c
    functionUses: 0
    functionsReached:
    - ns_elapsed_timespec
    - user_ring_buffer__reserve
    - epoll_wait
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void *user_ring_buffer__reserve_blocking(struct user_ring_buffer *rb,
      __u32 size, int timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elf_version
      Src: /src/libbpf/src/elf.c:32,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:33,1
    - Dst: open
      Src: /src/libbpf/src/elf.c:36,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:39,1
    - Dst: errstr
      Src: /src/libbpf/src/elf.c:39,1
    - Dst: elf_begin
      Src: /src/libbpf/src/elf.c:42,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:44,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/elf.c:44,1
    - Dst: close
      Src: /src/libbpf/src/elf.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - binary_path
    - elf_fd
    argTypes:
    - char*
    - struct elf_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: elf_open
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 1
    functionsReached:
    - elf_errmsg
    - open
    - elf_begin
    - close
    - errstr
    - elf_version
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int elf_open(const char *binary_path, struct elf_fd *elf_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_end
      Src: /src/libbpf/src/elf.c:57,1
    - Dst: close
      Src: /src/libbpf/src/elf.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - elf_fd
    argTypes:
    - struct elf_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: elf_close
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 1
    functionsReached:
    - close
    - elf_end
    linkageType: ''
    returnType: void
    signature: void elf_close(struct elf_fd *elf_fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elf_nextscn
      Src: /src/libbpf/src/elf.c:64,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/elf.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - elf
    - sh_type
    - scn
    argTypes:
    - Elf*
    - int
    - Elf_Scn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: elf_find_next_scn_by_type
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - gelf_getshdr
    - elf_nextscn
    linkageType: ''
    returnType: Elf_Scn
    signature: Elf_Scn *elf_find_next_scn_by_type(Elf *elf, int sh_type, Elf_Scn *scn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/elf.c:104,1
    - Dst: gelf_getehdr
      Src: /src/libbpf/src/elf.c:106,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:107,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/elf.c:107,1
    - Dst: elf_find_next_scn_by_type
      Src: /src/libbpf/src/elf.c:111,1
    - Dst: pr_debug
      Src: /src/libbpf/src/elf.c:113,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/elf.c:118,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/elf.c:122,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:124,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/elf.c:125,1
    - Dst: elf_find_next_scn_by_type
      Src: /src/libbpf/src/elf.c:136,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/elf.c:139,1
    - Dst: elf_find_next_scn_by_type
      Src: /src/libbpf/src/elf.c:141,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/elf.c:145,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/elf.c:146,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - iter
    - elf
    - binary_path
    - sh_type
    - st_type
    argTypes:
    - struct elf_sym_iter*
    - Elf*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: elf_sym_iter_new
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_errmsg
    - elf_getdata
    - elf_find_next_scn_by_type
    - memset
    - gelf_getshdr
    - pr_debug
    - pr_warn
    - gelf_getehdr
    linkageType: ''
    returnType: int
    signature: "int elf_sym_iter_new(struct elf_sym_iter *iter,\n\t\t\t    Elf *elf,
      const char *binary_path,\n\t\t\t    int sh_type, int st_type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gelf_getsym
      Src: /src/libbpf/src/elf.c:165,1
    - Dst: GELF_ST_TYPE
      Src: /src/libbpf/src/elf.c:167,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/elf.c:169,1
    - Dst: elf_getscn
      Src: /src/libbpf/src/elf.c:172,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/elf.c:175,1
    - Dst: gelf_getversym
      Src: /src/libbpf/src/elf.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct elf_sym_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 193
    functionName: elf_sym_iter_next
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_getscn
    - gelf_getshdr
    - gelf_getsym
    - GELF_ST_TYPE
    - elf_strptr
    - gelf_getversym
    linkageType: ''
    returnType: struct elf_sym
    signature: struct elf_sym *elf_sym_iter_next(struct elf_sym_iter *iter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gelf_getverdef
      Src: /src/libbpf/src/elf.c:205,1
    - Dst: gelf_getverdaux
      Src: /src/libbpf/src/elf.c:214,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/elf.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - iter
    - ver
    argTypes:
    - struct elf_sym_iter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: elf_get_vername
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - gelf_getverdef
    - gelf_getverdaux
    - elf_strptr
    linkageType: ''
    returnType: char
    signature: char *elf_get_vername(struct elf_sym_iter *iter, int ver)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libbpf/src/elf.c:231,1
    - Dst: elf_get_vername
      Src: /src/libbpf/src/elf.c:248,1
    - Dst: strcmp
      Src: /src/libbpf/src/elf.c:251,1
    - Dst: strcmp
      Src: /src/libbpf/src/elf.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - iter
    - sh_type
    - sym
    - name
    - name_len
    - lib_ver
    argTypes:
    - struct elf_sym_iter*
    - int
    - struct elf_sym*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 256
    functionName: symbol_match
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_get_vername
    - strcmp
    - strncmp
    linkageType: ''
    returnType: bool
    signature: "bool symbol_match(struct elf_sym_iter *iter, int sh_type, struct elf_sym
      *sym,\n\t\t\t const char *name, size_t name_len, const char *lib_ver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sym
    argTypes:
    - struct elf_sym*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: elf_sym_offset
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long elf_sym_offset(struct elf_sym *sym)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gelf_getehdr
      Src: /src/libbpf/src/elf.c:285,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:286,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/elf.c:286,1
    - Dst: strchr
      Src: /src/libbpf/src/elf.c:294,1
    - Dst: strlen
      Src: /src/libbpf/src/elf.c:302,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/elf.c:311,1
    - Dst: elf_sym_iter_new
      Src: /src/libbpf/src/elf.c:317,1
    - Dst: elf_sym_iter_next
      Src: /src/libbpf/src/elf.c:323,1
    - Dst: symbol_match
      Src: /src/libbpf/src/elf.c:324,1
    - Dst: GELF_ST_BIND
      Src: /src/libbpf/src/elf.c:327,1
    - Dst: elf_sym_offset
      Src: /src/libbpf/src/elf.c:331,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:336,1
    - Dst: elf_sym_offset
      Src: /src/libbpf/src/elf.c:348,1
    - Dst: pr_debug
      Src: /src/libbpf/src/elf.c:356,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:360,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:365,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - elf
    - binary_path
    - name
    argTypes:
    - Elf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 370
    functionName: elf_find_func_offset
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_errmsg
    - strchr
    - elf_sym_iter_new
    - elf_sym_iter_next
    - symbol_match
    - elf_sym_offset
    - pr_debug
    - strlen
    - GELF_ST_BIND
    - ARRAY_SIZE
    - pr_warn
    - gelf_getehdr
    linkageType: ''
    returnType: long
    signature: long elf_find_func_offset(Elf *elf, const char *binary_path, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_open
      Src: /src/libbpf/src/elf.c:380,1
    - Dst: elf_find_func_offset
      Src: /src/libbpf/src/elf.c:383,1
    - Dst: elf_close
      Src: /src/libbpf/src/elf.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - binary_path
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: elf_find_func_offset_from_file
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_open
    - elf_find_func_offset
    - elf_close
    linkageType: ''
    returnType: long
    signature: long elf_find_func_offset_from_file(const char *binary_path, const
      char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/elf.c:399,1
    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: symbol_cmp
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int symbol_cmp(const void *a, const void *b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: elf_open
      Src: /src/libbpf/src/elf.c:417,1
    - Dst: calloc
      Src: /src/libbpf/src/elf.c:421,1
    - Dst: calloc
      Src: /src/libbpf/src/elf.c:422,1
    - Dst: qsort
      Src: /src/libbpf/src/elf.c:434,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/elf.c:436,1
    - Dst: elf_sym_iter_new
      Src: /src/libbpf/src/elf.c:440,1
    - Dst: elf_sym_iter_next
      Src: /src/libbpf/src/elf.c:446,1
    - Dst: elf_sym_offset
      Src: /src/libbpf/src/elf.c:447,1
    - Dst: GELF_ST_BIND
      Src: /src/libbpf/src/elf.c:448,1
    - Dst: bsearch
      Src: /src/libbpf/src/elf.c:454,1
    - Dst: pr_warn
      Src: /src/libbpf/src/elf.c:466,1
    - Dst: free
      Src: /src/libbpf/src/elf.c:492,1
    - Dst: free
      Src: /src/libbpf/src/elf.c:494,1
    - Dst: elf_close
      Src: /src/libbpf/src/elf.c:495,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 5
    argNames:
    - binary_path
    - cnt
    - syms
    - poffsets
    - st_type
    argTypes:
    - char*
    - int
    - char**
    - unsigned long**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 497
    functionName: elf_resolve_syms_offsets
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_open
    - elf_close
    - elf_sym_iter_new
    - elf_sym_iter_next
    - elf_sym_offset
    - bsearch
    - qsort
    - calloc
    - GELF_ST_BIND
    - ARRAY_SIZE
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int elf_resolve_syms_offsets(const char *binary_path, int cnt,\n\t\t\t
      \    const char **syms, unsigned long **poffsets,\n\t\t\t     int st_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: elf_open
      Src: /src/libbpf/src/elf.c:513,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/elf.c:517,1
    - Dst: elf_sym_iter_new
      Src: /src/libbpf/src/elf.c:521,1
    - Dst: elf_sym_iter_next
      Src: /src/libbpf/src/elf.c:527,1
    - Dst: glob_match
      Src: /src/libbpf/src/elf.c:528,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/elf.c:531,1
    - Dst: elf_sym_offset
      Src: /src/libbpf/src/elf.c:536,1
    - Dst: free
      Src: /src/libbpf/src/elf.c:555,1
    - Dst: elf_close
      Src: /src/libbpf/src/elf.c:556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - binary_path
    - pattern
    - poffsets
    - pcnt
    argTypes:
    - char*
    - char*
    - unsigned long**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 558
    functionName: elf_resolve_pattern_offsets
    functionSourceFile: /src/libbpf/src/elf.c
    functionUses: 0
    functionsReached:
    - elf_open
    - elf_close
    - libbpf_ensure_mem
    - elf_sym_iter_new
    - elf_sym_iter_next
    - elf_sym_offset
    - ARRAY_SIZE
    - free
    - glob_match
    linkageType: ''
    returnType: int
    signature: "int elf_resolve_pattern_offsets(const char *binary_path, const char
      *pattern,\n\t\t\t\tunsigned long **poffsets, size_t *pcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/btf.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: btf_kind
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INFO_KIND
    linkageType: ''
    returnType: __u16
    signature: __u16 btf_kind(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INFO_VLEN
      Src: /src/libbpf/src/btf.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: btf_vlen
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INFO_VLEN
    linkageType: ''
    returnType: __u32
    signature: __u32 btf_vlen(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/btf.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: btf_kflag
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INFO_KFLAG
    linkageType: ''
    returnType: bool
    signature: bool btf_kflag(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: btf_is_void
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_void(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: btf_is_int
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_int(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: btf_is_ptr
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_ptr(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: btf_is_array
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_array(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: btf_is_struct
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_struct(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: btf_is_union
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_union(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: btf_is_composite
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_composite(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: btf_is_enum
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_enum(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: btf_is_enum64
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_enum64(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: btf_is_fwd
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_fwd(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: btf_is_typedef
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_typedef(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: btf_is_volatile
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_volatile(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: btf_is_const
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_const(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: btf_is_restrict
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_restrict(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 528
    functionName: btf_is_mod
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_mod(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: btf_is_func
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_func(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: btf_is_func_proto
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_func_proto(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: btf_is_var
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_var(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: btf_is_datasec
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_datasec(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: btf_is_float
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_float(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: btf_is_decl_tag
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_decl_tag(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: btf_is_type_tag
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: bool btf_is_type_tag(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf.h:567,1
    - Dst: btf_is_enum64
      Src: /src/libbpf/src/btf.h:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: btf_is_any_enum
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_is_enum64
    - btf_is_enum
    linkageType: ''
    returnType: bool
    signature: bool btf_is_any_enum(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:573,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.h:573,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/btf.h:574,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/btf.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: btf_kind_core_compat
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_is_any_enum
    - btf_kind
    linkageType: ''
    returnType: bool
    signature: "bool btf_kind_core_compat(const struct btf_type *t1,\n\t\t\t\t\tconst
      struct btf_type *t2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INT_ENCODING
      Src: /src/libbpf/src/btf.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: btf_int_encoding
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INT_ENCODING
    linkageType: ''
    returnType: __u8
    signature: __u8 btf_int_encoding(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INT_OFFSET
      Src: /src/libbpf/src/btf.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: btf_int_offset
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INT_OFFSET
    linkageType: ''
    returnType: __u8
    signature: __u8 btf_int_offset(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INT_BITS
      Src: /src/libbpf/src/btf.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: btf_int_bits
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - BTF_INT_BITS
    linkageType: ''
    returnType: __u8
    signature: __u8 btf_int_bits(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: btf_array
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_array
    signature: struct btf_array *btf_array(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: btf_enum
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_enum
    signature: struct btf_enum *btf_enum(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: btf_enum64
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_enum64
    signature: struct btf_enum64 *btf_enum64(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct btf_enum64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 633
    functionName: btf_enum64_value
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 btf_enum64_value(const struct btf_enum64 *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: btf_members
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_member
    signature: struct btf_member *btf_members(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf.h:644,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.h:645,1
    - Dst: BTF_MEMBER_BIT_OFFSET
      Src: /src/libbpf/src/btf.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - member_idx
    argTypes:
    - struct btf_type*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 648
    functionName: btf_member_bit_offset
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kflag
    - btf_members
    - BTF_MEMBER_BIT_OFFSET
    linkageType: ''
    returnType: __u32
    signature: "__u32 btf_member_bit_offset(const struct btf_type *t,\n\t\t\t\t\t
      \ __u32 member_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf.h:656,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.h:657,1
    - Dst: BTF_MEMBER_BITFIELD_SIZE
      Src: /src/libbpf/src/btf.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - member_idx
    argTypes:
    - struct btf_type*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 660
    functionName: btf_member_bitfield_size
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached:
    - btf_kflag
    - btf_members
    - BTF_MEMBER_BITFIELD_SIZE
    linkageType: ''
    returnType: __u32
    signature: "__u32 btf_member_bitfield_size(const struct btf_type *t,\n\t\t\t\t\t
      \    __u32 member_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: btf_params
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_param
    signature: struct btf_param *btf_params(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: btf_var
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_var
    signature: struct btf_var *btf_var(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: btf_var_secinfos
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_var_secinfo
    signature: 'struct btf_var_secinfo *

      btf_var_secinfos(const struct btf_type *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: btf_decl_tag
    functionSourceFile: /src/libbpf/src/btf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf_decl_tag
    signature: struct btf_decl_tag *btf_decl_tag(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nmemb
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: calloc
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nmemb, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: free
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - base
    - ','
    - num
    - ','
    - sz
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: qsort
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qsort(base, num, sz, cmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:68,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf_relocate.c:73,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf_relocate.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - struct btf_relocate*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: btf_relocate_rewrite_type_id
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - btf_field_iter_init
    - btf_type_by_id
    - btf_field_iter_next
    linkageType: ''
    returnType: int
    signature: int btf_relocate_rewrite_type_id(struct btf_relocate *r, __u32 i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/btf_relocate.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: cmp_btf_name_size
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_btf_name_size(const void *n1, const void *n2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmp_btf_name_size
      Src: /src/libbpf/src/btf_relocate.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - key
    - vals
    - nelems
    argTypes:
    - struct btf_name_info*
    - struct btf_name_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: search_btf_name_size
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - cmp_btf_name_size
    linkageType: ''
    returnType: struct btf_name_info
    signature: "struct btf_name_info *search_btf_name_size(struct btf_name_info *key,\n\t\t\t\t\t\t
      \ struct btf_name_info *vals,\n\t\t\t\t\t\t  int nelems)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:134,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/btf_relocate.c:139,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf_relocate.c:142,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf_relocate.c:146,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:150,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_relocate.c:151,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_relocate.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - struct btf_relocate*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 179
    functionName: btf_mark_embedded_composite_type_ids
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - btf_is_composite
    - btf_type_by_id
    - btf_field_iter_next
    - btf_field_iter_init
    - btf_kind
    - btf_array
    linkageType: ''
    returnType: int
    signature: int btf_mark_embedded_composite_type_ids(struct btf_relocate *r, __u32
      i)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf_relocate.c:195,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:202,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf_relocate.c:203,1
    - Dst: qsort
      Src: /src/libbpf/src/btf_relocate.c:208,1
    - Dst: btf_mark_embedded_composite_type_ids
      Src: /src/libbpf/src/btf_relocate.c:216,1
    - Dst: calloc
      Src: /src/libbpf/src/btf_relocate.c:225,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:231,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/btf_relocate.c:232,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:243,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_relocate.c:247,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf_relocate.c:249,1
    - Dst: search_btf_name_size
      Src: /src/libbpf/src/btf_relocate.c:278,1
    - Dst: cmp_btf_name_size
      Src: /src/libbpf/src/btf_relocate.c:280,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:283,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:288,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_relocate.c:289,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_relocate.c:299,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_relocate.c:299,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_relocate.c:303,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_relocate.c:307,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/btf_relocate.c:316,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/btf_relocate.c:316,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:352,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:369,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf_relocate.c:370,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:371,1
    - Dst: free
      Src: /src/libbpf/src/btf_relocate.c:377,1
    - Dst: free
      Src: /src/libbpf/src/btf_relocate.c:378,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 132
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct btf_relocate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 380
    functionName: btf_relocate_map_distilled_base
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - cmp_btf_name_size
    - btf_is_composite
    - btf_int_encoding
    - btf_type_by_id
    - btf__name_by_offset
    - search_btf_name_size
    - btf_mark_embedded_composite_type_ids
    - qsort
    - calloc
    - btf_kind
    - btf_kflag
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_relocate_map_distilled_base(struct btf_relocate *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:388,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_relocate.c:389,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:400,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct btf_relocate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 410
    functionName: btf_relocate_validate_distilled_base
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - btf_type_by_id
    - btf_kind
    linkageType: ''
    returnType: int
    signature: int btf_relocate_validate_distilled_base(struct btf_relocate *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf_relocate.c:414,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf_relocate.c:419,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf_relocate.c:423,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_relocate.c:431,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf_relocate.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - r
    - i
    argTypes:
    - struct btf_relocate*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 439
    functionName: btf_relocate_rewrite_strs
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf_field_iter_next
    - btf_field_iter_init
    - btf__str_by_offset
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_relocate_rewrite_strs(struct btf_relocate *r, __u32 i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_relocate.c:446,1
    - Dst: btf__base_btf
      Src: /src/libbpf/src/btf_relocate.c:453,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_relocate.c:457,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_relocate.c:458,1
    - Dst: calloc
      Src: /src/libbpf/src/btf_relocate.c:463,1
    - Dst: calloc
      Src: /src/libbpf/src/btf_relocate.c:464,1
    - Dst: btf_header
      Src: /src/libbpf/src/btf_relocate.c:464,1
    - Dst: btf_header
      Src: /src/libbpf/src/btf_relocate.c:465,1
    - Dst: btf_header
      Src: /src/libbpf/src/btf_relocate.c:466,1
    - Dst: btf_relocate_validate_distilled_base
      Src: /src/libbpf/src/btf_relocate.c:474,1
    - Dst: btf_relocate_map_distilled_base
      Src: /src/libbpf/src/btf_relocate.c:489,1
    - Dst: btf_relocate_rewrite_type_id
      Src: /src/libbpf/src/btf_relocate.c:498,1
    - Dst: btf_relocate_rewrite_strs
      Src: /src/libbpf/src/btf_relocate.c:504,1
    - Dst: btf_set_base_btf
      Src: /src/libbpf/src/btf_relocate.c:509,1
    - Dst: free
      Src: /src/libbpf/src/btf_relocate.c:516,1
    - Dst: free
      Src: /src/libbpf/src/btf_relocate.c:517,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - btf
    - base_btf
    - id_map
    argTypes:
    - struct btf*
    - struct btf*
    - __u32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 519
    functionName: btf_relocate
    functionSourceFile: /src/libbpf/src/btf_relocate.c
    functionUses: 0
    functionsReached:
    - btf_set_base_btf
    - btf__base_btf
    - btf_relocate_rewrite_type_id
    - btf_relocate_map_distilled_base
    - calloc
    - btf_header
    - btf_relocate_rewrite_strs
    - btf_relocate_validate_distilled_base
    - btf__type_cnt
    - free
    linkageType: ''
    returnType: int
    signature: int btf_relocate(struct btf *btf, const struct btf *base_btf, __u32
      **id_map)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - prog_linfo
    - ksym_func
    - ksym_len
    argTypes:
    - struct bpf_prog_linfo*
    - __u64*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 86
    functionName: dissect_jited_func
    functionSourceFile: /src/libbpf/src/bpf_prog_linfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dissect_jited_func(struct bpf_prog_linfo *prog_linfo,\n\t\t\t
      \     const __u64 *ksym_func, const __u32 *ksym_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/bpf_prog_linfo.c:93,1
    - Dst: free
      Src: /src/libbpf/src/bpf_prog_linfo.c:94,1
    - Dst: free
      Src: /src/libbpf/src/bpf_prog_linfo.c:95,1
    - Dst: free
      Src: /src/libbpf/src/bpf_prog_linfo.c:96,1
    - Dst: free
      Src: /src/libbpf/src/bpf_prog_linfo.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - prog_linfo
    argTypes:
    - struct bpf_prog_linfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: bpf_prog_linfo__free
    functionSourceFile: /src/libbpf/src/bpf_prog_linfo.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/bpf_prog_linfo.c:119,1
    - Dst: malloc
      Src: /src/libbpf/src/bpf_prog_linfo.c:127,1
    - Dst: memcpy
      Src: /src/libbpf/src/bpf_prog_linfo.c:130,1
    - Dst: malloc
      Src: /src/libbpf/src/bpf_prog_linfo.c:147,1
    - Dst: memcpy
      Src: /src/libbpf/src/bpf_prog_linfo.c:150,1
    - Dst: malloc
      Src: /src/libbpf/src/bpf_prog_linfo.c:154,1
    - Dst: malloc
      Src: /src/libbpf/src/bpf_prog_linfo.c:163,1
    - Dst: dissect_jited_func
      Src: /src/libbpf/src/bpf_prog_linfo.c:168,1
    - Dst: bpf_prog_linfo__free
      Src: /src/libbpf/src/bpf_prog_linfo.c:176,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct bpf_prog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 178
    functionName: bpf_prog_linfo__new
    functionSourceFile: /src/libbpf/src/bpf_prog_linfo.c
    functionUses: 0
    functionsReached:
    - bpf_prog_linfo__free
    - calloc
    - malloc
    - memcpy
    - dissect_jited_func
    linkageType: ''
    returnType: struct bpf_prog_linfo
    signature: struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info
      *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - prog_linfo
    - addr
    - func_idx
    - nr_skip
    argTypes:
    - struct bpf_prog_linfo*
    - __u64
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 216
    functionName: bpf_prog_linfo__lfind_addr_func
    functionSourceFile: /src/libbpf/src/bpf_prog_linfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bpf_line_info
    signature: "struct bpf_line_info *\nbpf_prog_linfo__lfind_addr_func(const struct
      bpf_prog_linfo *prog_linfo,\n\t\t\t\t__u64 addr, __u32 func_idx, __u32 nr_skip)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - prog_linfo
    - insn_off
    - nr_skip
    argTypes:
    - struct bpf_prog_linfo*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 246
    functionName: bpf_prog_linfo__lfind
    functionSourceFile: /src/libbpf/src/bpf_prog_linfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bpf_line_info
    signature: "struct bpf_line_info *\nbpf_prog_linfo__lfind(const struct bpf_prog_linfo
      *prog_linfo,\n\t\t      __u32 insn_off, __u32 nr_skip)"
  - 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: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: PT_REGS_PARM1_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: PT_REGS_PARM1_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: PT_REGS_PARM1_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_SYSCALL(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: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: PT_REGS_PARM1_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: PT_REGS_SYSCALL_REGS
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SYSCALL_REGS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: PT_REGS_PARM1_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: PT_REGS_PARM1_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: PT_REGS_SYSCALL_REGS
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SYSCALL_REGS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: PT_REGS_SYSCALL_REGS
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SYSCALL_REGS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: __PT_REGS_CAST
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __PT_REGS_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: PT_REGS_PARM1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: PT_REGS_PARM2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: PT_REGS_PARM3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: PT_REGS_PARM4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: PT_REGS_PARM5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: PT_REGS_PARM6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    functionName: PT_REGS_PARM7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: PT_REGS_PARM8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: PT_REGS_RET
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: PT_REGS_FP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_FP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    functionName: PT_REGS_RC
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: PT_REGS_SP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: PT_REGS_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_IP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: PT_REGS_PARM1_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    functionName: PT_REGS_PARM2_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: PT_REGS_PARM3_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 510
    functionName: PT_REGS_PARM4_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    functionName: PT_REGS_PARM5_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: PT_REGS_PARM6_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    functionName: PT_REGS_PARM7_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: PT_REGS_PARM8_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM8_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: PT_REGS_RET_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RET_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: PT_REGS_FP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_FP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: PT_REGS_RC_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RC_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: PT_REGS_SP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: PT_REGS_IP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_IP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    functionName: BPF_KPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: BPF_KPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: BPF_KPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: BPF_KRETPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KRETPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: PT_REGS_PARM1_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: PT_REGS_PARM1_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: PT_REGS_PARM2_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_SYSCALL(x)
  - 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: PT_REGS_PARM2_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_CORE_SYSCALL(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: PT_REGS_PARM3_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_SYSCALL(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: PT_REGS_PARM3_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_CORE_SYSCALL(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: PT_REGS_PARM4_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: PT_REGS_PARM4_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: PT_REGS_PARM5_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: PT_REGS_PARM5_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: PT_REGS_PARM6_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 562
    functionName: PT_REGS_PARM6_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_CORE_SYSCALL(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: PT_REGS_PARM7_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: PT_REGS_PARM7_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_CORE_SYSCALL(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: PT_REGS_PARM1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1(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: PT_REGS_PARM2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2(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: PT_REGS_PARM3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    functionName: PT_REGS_PARM4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4(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: PT_REGS_PARM5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 576
    functionName: PT_REGS_PARM6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: PT_REGS_PARM7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: PT_REGS_PARM8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    functionName: PT_REGS_RET
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    functionName: PT_REGS_FP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_FP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: PT_REGS_RC
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: PT_REGS_SP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: PT_REGS_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_IP(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: PT_REGS_PARM1_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE(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: PT_REGS_PARM2_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: PT_REGS_PARM3_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: PT_REGS_PARM4_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    functionName: PT_REGS_PARM5_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: PT_REGS_PARM6_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: PT_REGS_PARM7_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: PT_REGS_PARM8_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM8_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: PT_REGS_RET_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RET_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: PT_REGS_FP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_FP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: PT_REGS_RC_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_RC_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: PT_REGS_SP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 597
    functionName: PT_REGS_IP_CORE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_IP_CORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: BPF_KPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: BPF_KRETPROBE_READ_RET_IP
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KRETPROBE_READ_RET_IP(ip, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: PT_REGS_PARM1_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: PT_REGS_PARM2_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: PT_REGS_PARM3_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: PT_REGS_PARM4_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: PT_REGS_PARM5_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: PT_REGS_PARM6_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: PT_REGS_PARM7_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: PT_REGS_PARM1_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM1_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: PT_REGS_PARM2_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM2_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 612
    functionName: PT_REGS_PARM3_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM3_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 613
    functionName: PT_REGS_PARM4_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM4_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: PT_REGS_PARM5_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM5_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 615
    functionName: PT_REGS_PARM6_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM6_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 616
    functionName: PT_REGS_PARM7_CORE_SYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_PARM7_CORE_SYSCALL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: PT_REGS_SYSCALL_REGS
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT_REGS_SYSCALL_REGS(ctx)
  - 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: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: ___bpf_concat
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_concat(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: ___bpf_apply
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_apply(fn, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - _
    - ','
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _a
    - ','
    - _b
    - ','
    - _c
    - ','
    - N
    - ','
    - '...'
    - )
    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: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: ___bpf_nth
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _a, _b, _c, N, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: ___bpf_narg
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_narg(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: ___bpf_ctx_cast0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: ___bpf_ctx_cast1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: ___bpf_ctx_cast2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast2(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: ___bpf_ctx_cast3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast3(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: ___bpf_ctx_cast4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast4(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: ___bpf_ctx_cast5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast5(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: ___bpf_ctx_cast6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast6(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: ___bpf_ctx_cast7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast7(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: ___bpf_ctx_cast8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast8(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: ___bpf_ctx_cast9
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast9(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: ___bpf_ctx_cast10
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast10(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 654
    functionName: ___bpf_ctx_cast11
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast11(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 655
    functionName: ___bpf_ctx_cast12
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast12(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 656
    functionName: ___bpf_ctx_cast
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_cast(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 685
    functionName: BPF_PROG
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROG(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 55
    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
    - ','
    - N
    - ','
    - '...'
    - )
    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: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: ___bpf_nth2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "___bpf_nth2(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12,
      _13,\t\\\n\t\t    _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, N,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: ___bpf_narg2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_narg2(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: ___bpf_treg_cnt
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_treg_cnt(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: ___bpf_reg_cnt0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: ___bpf_reg_cnt1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt1(t, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    functionName: ___bpf_reg_cnt2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt2(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 708
    functionName: ___bpf_reg_cnt3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt3(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: ___bpf_reg_cnt4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt4(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: ___bpf_reg_cnt5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt5(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: ___bpf_reg_cnt6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt6(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 712
    functionName: ___bpf_reg_cnt7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt7(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 713
    functionName: ___bpf_reg_cnt8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt8(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: ___bpf_reg_cnt9
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt9(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 715
    functionName: ___bpf_reg_cnt10
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt10(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: ___bpf_reg_cnt11
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt11(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    functionName: ___bpf_reg_cnt12
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt12(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: ___bpf_reg_cnt
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_reg_cnt(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: ___bpf_union_arg
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_union_arg(t, x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: ___bpf_ctx_arg1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg1(n, t, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: ___bpf_ctx_arg2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg2(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 731
    functionName: ___bpf_ctx_arg3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg3(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: ___bpf_ctx_arg4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg4(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    functionName: ___bpf_ctx_arg5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg5(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: ___bpf_ctx_arg6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg6(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: ___bpf_ctx_arg7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg7(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: ___bpf_ctx_arg8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg8(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 737
    functionName: ___bpf_ctx_arg9
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg9(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: ___bpf_ctx_arg10
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg10(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: ___bpf_ctx_arg11
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg11(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - n
    - ','
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: ___bpf_ctx_arg12
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg12(n, t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 741
    functionName: ___bpf_ctx_arg
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_arg(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: ___bpf_ctx_decl1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl1(t, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 745
    functionName: ___bpf_ctx_decl2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl2(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: ___bpf_ctx_decl3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl3(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: ___bpf_ctx_decl4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl4(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: ___bpf_ctx_decl5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl5(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 749
    functionName: ___bpf_ctx_decl6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl6(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: ___bpf_ctx_decl7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl7(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    functionName: ___bpf_ctx_decl8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl8(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: ___bpf_ctx_decl9
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl9(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 753
    functionName: ___bpf_ctx_decl10
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl10(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: ___bpf_ctx_decl11
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl11(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: ___bpf_ctx_decl12
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl12(t, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 756
    functionName: ___bpf_ctx_decl
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_ctx_decl(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 792
    functionName: BPF_PROG2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROG2(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: ___bpf_kprobe_args0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 797
    functionName: ___bpf_kprobe_args1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 798
    functionName: ___bpf_kprobe_args2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args2(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 799
    functionName: ___bpf_kprobe_args3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args3(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    functionName: ___bpf_kprobe_args4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args4(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    functionName: ___bpf_kprobe_args5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args5(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    functionName: ___bpf_kprobe_args6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args6(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 803
    functionName: ___bpf_kprobe_args7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args7(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 804
    functionName: ___bpf_kprobe_args8
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args8(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: ___bpf_kprobe_args
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kprobe_args(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: BPF_KPROBE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KPROBE(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: ___bpf_kretprobe_args0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kretprobe_args0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: ___bpf_kretprobe_args1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kretprobe_args1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 833
    functionName: ___bpf_kretprobe_args
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_kretprobe_args(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 852
    functionName: BPF_KRETPROBE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KRETPROBE(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: ___bpf_syscall_args0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: ___bpf_syscall_args1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: ___bpf_syscall_args2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args2(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: ___bpf_syscall_args3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args3(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 859
    functionName: ___bpf_syscall_args4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args4(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    functionName: ___bpf_syscall_args5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args5(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    functionName: ___bpf_syscall_args6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args6(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    functionName: ___bpf_syscall_args7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args7(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: ___bpf_syscall_args
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syscall_args(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: ___bpf_syswrap_args0
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: ___bpf_syswrap_args1
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: ___bpf_syswrap_args2
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args2(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 869
    functionName: ___bpf_syswrap_args3
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args3(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 870
    functionName: ___bpf_syswrap_args4
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args4(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: ___bpf_syswrap_args5
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args5(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 872
    functionName: ___bpf_syswrap_args6
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args6(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 873
    functionName: ___bpf_syswrap_args7
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args7(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: ___bpf_syswrap_args
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_syswrap_args(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 919
    functionName: BPF_KSYSCALL
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_KSYSCALL(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: BPF_UPROBE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_UPROBE(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: BPF_URETPROBE
    functionSourceFile: /src/libbpf/src/bpf_tracing.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_URETPROBE(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_str
      Src: /src/libbpf/src/relo_core.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: btf_kind_str
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_type_str
    linkageType: ''
    returnType: char
    signature: char *btf_kind_str(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: is_ldimm64_insn
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ldimm64_insn(struct bpf_insn *insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_skip_modifiers
      Src: /src/libbpf/src/relo_core.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - id
    - res_id
    argTypes:
    - struct btf*
    - u32
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: skip_mods_and_typedefs
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_type_skip_modifiers
    linkageType: ''
    returnType: struct btf_type
    signature: 'struct btf_type *

      skip_mods_and_typedefs(const struct btf *btf, u32 id, u32 *res_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_name_by_offset
      Src: /src/libbpf/src/relo_core.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - offset
    argTypes:
    - struct btf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: btf__name_by_offset
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 1
    functionsReached:
    - btf_name_by_offset
    linkageType: ''
    returnType: char
    signature: char *btf__name_by_offset(const struct btf *btf, u32 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:37,1
    - Dst: btf_resolve_size
      Src: /src/libbpf/src/relo_core.c:38,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/relo_core.c:39,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/relo_core.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - btf
    - type_id
    argTypes:
    - struct btf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: btf__resolve_size
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - PTR_ERR
    - btf_type_by_id
    - btf_resolve_size
    - IS_ERR
    linkageType: ''
    returnType: s64
    signature: s64 btf__resolve_size(const struct btf *btf, u32 type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - log
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: pr_warn
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_warn(fmt, log, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - log
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: pr_info
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_info(fmt, log, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - log
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: pr_debug
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_debug(fmt, log, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: libbpf_print
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: libbpf_print(level, fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:81,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - btf
    - acc
    - arr
    argTypes:
    - struct btf*
    - struct bpf_core_accessor*
    - struct btf_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: is_flex_arr
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_type_by_id
    linkageType: ''
    returnType: bool
    signature: "bool is_flex_arr(const struct btf *btf,\n\t\t\tconst struct bpf_core_accessor
      *acc,\n\t\t\tconst struct btf_array *arr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - kind
    argTypes:
    - enum bpf_core_relo_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: core_relo_kind_str
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *core_relo_kind_str(enum bpf_core_relo_kind kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - kind
    argTypes:
    - enum bpf_core_relo_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: core_relo_is_field_based
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool core_relo_is_field_based(enum bpf_core_relo_kind kind)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kind
    argTypes:
    - enum bpf_core_relo_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: core_relo_is_type_based
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool core_relo_is_type_based(enum bpf_core_relo_kind kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - kind
    argTypes:
    - enum bpf_core_relo_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: core_relo_is_enumval_based
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool core_relo_is_enumval_based(enum bpf_core_relo_kind kind)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:152,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:153,1
    - Dst: btf_kind_core_compat
      Src: /src/libbpf/src/relo_core.c:154,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:162,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:163,1
    - Dst: btf_kind_core_compat
      Src: /src/libbpf/src/relo_core.c:167,1
    - Dst: btf_kind
      Src: /src/libbpf/src/relo_core.c:170,1
    - Dst: btf_int_offset
      Src: /src/libbpf/src/relo_core.c:182,1
    - Dst: btf_int_offset
      Src: /src/libbpf/src/relo_core.c:182,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:188,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:189,1
    - Dst: btf_params
      Src: /src/libbpf/src/relo_core.c:192,1
    - Dst: btf_params
      Src: /src/libbpf/src/relo_core.c:193,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:194,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:195,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:205,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:206,1
    - Dst: __bpf_core_types_are_compat
      Src: /src/libbpf/src/relo_core.c:207,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:214,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:215,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:219,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/relo_core.c:220,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 5
    argNames:
    - local_btf
    - local_id
    - targ_btf
    - targ_id
    - level
    argTypes:
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 223
    functionName: __bpf_core_types_are_compat
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 1
    functionsReached:
    - btf_kind_str
    - btf_type_by_id
    - btf_params
    - btf_kind_core_compat
    - btf_int_offset
    - pr_warn
    - btf_vlen
    - __bpf_core_types_are_compat
    - skip_mods_and_typedefs
    - btf_kind
    - btf_array
    linkageType: ''
    returnType: int
    signature: "int __bpf_core_types_are_compat(const struct btf *local_btf, __u32
      local_id,\n\t\t\t\tconst struct btf *targ_btf, __u32 targ_id, int level)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:273,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:274,1
    - Dst: memset
      Src: /src/libbpf/src/relo_core.c:277,1
    - Dst: core_relo_is_type_based
      Src: /src/libbpf/src/relo_core.c:283,1
    - Dst: strcmp
      Src: /src/libbpf/src/relo_core.c:284,1
    - Dst: sscanf
      Src: /src/libbpf/src/relo_core.c:293,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:306,1
    - Dst: core_relo_is_enumval_based
      Src: /src/libbpf/src/relo_core.c:316,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/relo_core.c:317,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:317,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:321,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:321,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:322,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:323,1
    - Dst: core_relo_is_field_based
      Src: /src/libbpf/src/relo_core.c:327,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:330,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:336,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/relo_core.c:343,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:347,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/relo_core.c:350,1
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:353,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:355,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:356,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/relo_core.c:366,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:367,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:370,1
    - Dst: is_flex_arr
      Src: /src/libbpf/src/relo_core.c:374,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:382,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:387,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/relo_core.c:388,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 4
    argNames:
    - prog_name
    - btf
    - relo
    - spec
    argTypes:
    - char*
    - struct btf*
    - struct bpf_core_relo*
    - struct bpf_core_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 394
    functionName: bpf_core_parse_spec
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - btf_enum
    - sscanf
    - btf_vlen
    - core_relo_is_type_based
    - btf_members
    - btf_array
    - btf_is_array
    - btf__name_by_offset
    - btf__resolve_size
    - skip_mods_and_typedefs
    - btf_is_enum
    - btf_member_bit_offset
    - str_is_empty
    - btf_is_composite
    - memset
    - core_relo_is_field_based
    - is_flex_arr
    - btf_is_any_enum
    - pr_warn
    - btf_kind_str
    - btf_enum64
    - core_relo_is_enumval_based
    linkageType: ''
    returnType: int
    signature: "int bpf_core_parse_spec(const char *prog_name, const struct btf *btf,\n\t\t\tconst
      struct bpf_core_relo *relo,\n\t\t\tstruct bpf_core_spec *spec)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:421,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:422,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/relo_core.c:426,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/relo_core.c:426,1
    - Dst: btf_kind_core_compat
      Src: /src/libbpf/src/relo_core.c:428,1
    - Dst: btf_kind
      Src: /src/libbpf/src/relo_core.c:431,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:441,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:443,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:444,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:445,1
    - Dst: strncmp
      Src: /src/libbpf/src/relo_core.c:449,1
    - Dst: btf_int_offset
      Src: /src/libbpf/src/relo_core.c:455,1
    - Dst: btf_int_offset
      Src: /src/libbpf/src/relo_core.c:456,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:458,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - local_btf
    - local_id
    - targ_btf
    - targ_id
    argTypes:
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 464
    functionName: bpf_core_fields_are_compat
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_is_composite
    - btf__name_by_offset
    - btf_kind_core_compat
    - bpf_core_essential_name_len
    - strncmp
    - btf_int_offset
    - skip_mods_and_typedefs
    - btf_kind
    - btf_array
    linkageType: ''
    returnType: int
    signature: "int bpf_core_fields_are_compat(const struct btf *local_btf,\n\t\t\t\t
      \     __u32 local_id,\n\t\t\t\t      const struct btf *targ_btf,\n\t\t\t\t      __u32
      targ_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:495,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/relo_core.c:498,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:502,1
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:503,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:504,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:506,1
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:507,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/relo_core.c:511,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:521,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:522,1
    - Dst: bpf_core_match_member
      Src: /src/libbpf/src/relo_core.c:524,1
    - Dst: strcmp
      Src: /src/libbpf/src/relo_core.c:529,1
    - Dst: bpf_core_fields_are_compat
      Src: /src/libbpf/src/relo_core.c:539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 6
    argNames:
    - local_btf
    - local_acc
    - targ_btf
    - targ_id
    - spec
    - next_targ_id
    argTypes:
    - struct btf*
    - struct bpf_core_accessor*
    - struct btf*
    - __u32
    - struct bpf_core_spec*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 482
    functionDepth: 6
    functionLinenumber: 482
    functionLinenumberEnd: 552
    functionName: bpf_core_match_member
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 1
    functionsReached:
    - btf_is_composite
    - btf_type_by_id
    - btf__name_by_offset
    - strcmp
    - bpf_core_fields_are_compat
    - bpf_core_match_member
    - btf_vlen
    - skip_mods_and_typedefs
    - btf_member_bit_offset
    - btf_members
    - str_is_empty
    linkageType: ''
    returnType: int
    signature: "int bpf_core_match_member(const struct btf *local_btf,\n\t\t\t\t const
      struct bpf_core_accessor *local_acc,\n\t\t\t\t const struct btf *targ_btf,\n\t\t\t\t
      __u32 targ_id,\n\t\t\t\t struct bpf_core_spec *spec,\n\t\t\t\t __u32 *next_targ_id)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/relo_core.c:568,1
    - Dst: core_relo_is_type_based
      Src: /src/libbpf/src/relo_core.c:573,1
    - Dst: bpf_core_types_match
      Src: /src/libbpf/src/relo_core.c:575,1
    - Dst: bpf_core_types_are_compat
      Src: /src/libbpf/src/relo_core.c:579,1
    - Dst: core_relo_is_enumval_based
      Src: /src/libbpf/src/relo_core.c:587,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:592,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/relo_core.c:593,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:596,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:598,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:599,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:600,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:602,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:604,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:605,1
    - Dst: strncmp
      Src: /src/libbpf/src/relo_core.c:608,1
    - Dst: core_relo_is_field_based
      Src: /src/libbpf/src/relo_core.c:621,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:625,1
    - Dst: bpf_core_match_member
      Src: /src/libbpf/src/relo_core.c:631,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/relo_core.c:646,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:649,1
    - Dst: is_flex_arr
      Src: /src/libbpf/src/relo_core.c:650,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:653,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:669,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 4
    argNames:
    - local_spec
    - targ_btf
    - targ_id
    - targ_spec
    argTypes:
    - struct bpf_core_spec*
    - struct btf*
    - __u32
    - struct bpf_core_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 558
    functionDepth: 7
    functionLinenumber: 558
    functionLinenumberEnd: 677
    functionName: bpf_core_spec_match
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_enum
    - btf_vlen
    - core_relo_is_type_based
    - btf_array
    - btf_is_array
    - btf__name_by_offset
    - btf__resolve_size
    - skip_mods_and_typedefs
    - bpf_core_types_match
    - btf_is_enum
    - memset
    - bpf_core_essential_name_len
    - bpf_core_match_member
    - core_relo_is_field_based
    - is_flex_arr
    - btf_is_any_enum
    - btf_enum64
    - core_relo_is_enumval_based
    - strncmp
    - bpf_core_types_are_compat
    linkageType: ''
    returnType: int
    signature: "int bpf_core_spec_match(struct bpf_core_spec *local_spec,\n\t\t\t
      \      const struct btf *targ_btf, __u32 targ_id,\n\t\t\t       struct bpf_core_spec
      *targ_spec)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:704,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:714,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/relo_core.c:715,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:716,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:716,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:717,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:723,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:728,1
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:737,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:738,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/relo_core.c:740,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:750,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:758,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:781,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/relo_core.c:782,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:783,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:783,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:784,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/relo_core.c:795,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:795,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/relo_core.c:796,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/relo_core.c:796,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 7
    argNames:
    - prog_name
    - relo
    - spec
    - val
    - field_sz
    - type_id
    - validate
    argTypes:
    - char*
    - struct bpf_core_relo*
    - struct bpf_core_spec*
    - __u64*
    - __u32*
    - __u32*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 818
    functionName: bpf_core_calc_field_relo
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_is_array
    - btf_type_by_id
    - btf__resolve_size
    - pr_warn
    - BTF_INFO_KFLAG
    - skip_mods_and_typedefs
    - btf_member_bitfield_size
    - btf_is_any_enum
    - btf_is_int
    - btf_int_encoding
    - btf_members
    - btf_array
    linkageType: ''
    returnType: int
    signature: "int bpf_core_calc_field_relo(const char *prog_name,\n\t\t\t\t    const
      struct bpf_core_relo *relo,\n\t\t\t\t    const struct bpf_core_spec *spec,\n\t\t\t\t
      \   __u64 *val, __u32 *field_sz, __u32 *type_id,\n\t\t\t\t    bool *validate)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/relo_core.c:850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - relo
    - spec
    - val
    - validate
    argTypes:
    - struct bpf_core_relo*
    - struct bpf_core_spec*
    - __u64*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 862
    functionName: bpf_core_calc_type_relo
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf__resolve_size
    linkageType: ''
    returnType: int
    signature: "int bpf_core_calc_type_relo(const struct bpf_core_relo *relo,\n\t\t\t\t
      \  const struct bpf_core_spec *spec,\n\t\t\t\t   __u64 *val, bool *validate)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:877,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:878,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:879,1
    - Dst: btf_enum64_value
      Src: /src/libbpf/src/relo_core.c:881,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - relo
    - spec
    - val
    argTypes:
    - struct bpf_core_relo*
    - struct bpf_core_spec*
    - __u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 864
    functionDepth: 3
    functionLinenumber: 864
    functionLinenumberEnd: 888
    functionName: bpf_core_calc_enumval_relo
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_enum64
    - btf_type_by_id
    - btf_enum
    - btf_enum64_value
    - btf_is_enum
    linkageType: ''
    returnType: int
    signature: "int bpf_core_calc_enumval_relo(const struct bpf_core_relo *relo,\n\t\t\t\t
      \     const struct bpf_core_spec *spec,\n\t\t\t\t      __u64 *val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: core_relo_is_field_based
      Src: /src/libbpf/src/relo_core.c:913,1
    - Dst: bpf_core_calc_field_relo
      Src: /src/libbpf/src/relo_core.c:914,1
    - Dst: bpf_core_calc_field_relo
      Src: /src/libbpf/src/relo_core.c:917,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:930,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:931,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/relo_core.c:947,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/relo_core.c:947,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/relo_core.c:949,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/relo_core.c:949,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/relo_core.c:950,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/relo_core.c:951,1
    - Dst: core_relo_is_type_based
      Src: /src/libbpf/src/relo_core.c:959,1
    - Dst: bpf_core_calc_type_relo
      Src: /src/libbpf/src/relo_core.c:960,1
    - Dst: bpf_core_calc_type_relo
      Src: /src/libbpf/src/relo_core.c:961,1
    - Dst: core_relo_is_enumval_based
      Src: /src/libbpf/src/relo_core.c:962,1
    - Dst: bpf_core_calc_enumval_relo
      Src: /src/libbpf/src/relo_core.c:963,1
    - Dst: bpf_core_calc_enumval_relo
      Src: /src/libbpf/src/relo_core.c:964,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:974,1
    - Dst: core_relo_kind_str
      Src: /src/libbpf/src/relo_core.c:975,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 6
    argNames:
    - prog_name
    - relo
    - relo_idx
    - local_spec
    - targ_spec
    - res
    argTypes:
    - char*
    - struct bpf_core_relo*
    - int
    - struct bpf_core_spec*
    - struct bpf_core_spec*
    - struct bpf_core_relo_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 896
    functionDepth: 5
    functionLinenumber: 896
    functionLinenumberEnd: 980
    functionName: bpf_core_calc_relo
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - core_relo_is_enumval_based
    - core_relo_kind_str
    - core_relo_is_field_based
    - bpf_core_calc_enumval_relo
    - bpf_core_calc_type_relo
    - btf_is_int
    - btf_is_ptr
    - btf_int_encoding
    - core_relo_is_type_based
    - pr_warn
    - bpf_core_calc_field_relo
    linkageType: ''
    returnType: int
    signature: "int bpf_core_calc_relo(const char *prog_name,\n\t\t\t      const struct
      bpf_core_relo *relo,\n\t\t\t      int relo_idx,\n\t\t\t      const struct bpf_core_spec
      *local_spec,\n\t\t\t      const struct bpf_core_spec *targ_spec,\n\t\t\t      struct
      bpf_core_relo_res *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - prog_name
    - relo_idx
    - insn_idx
    - insn
    argTypes:
    - char*
    - int
    - int
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1000
    functionName: bpf_core_poison_insn
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - pr_debug
    linkageType: ''
    returnType: void
    signature: "void bpf_core_poison_insn(const char *prog_name, int relo_idx,\n\t\t\t\t
      int insn_idx, struct bpf_insn *insn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BPF_SIZE
      Src: /src/libbpf/src/relo_core.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1011
    functionName: insn_bpf_size_to_bytes
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - BPF_SIZE
    linkageType: ''
    returnType: int
    signature: int insn_bpf_size_to_bytes(struct bpf_insn *insn)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - sz
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1022
    functionName: insn_bytes_to_bpf_size
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int insn_bytes_to_bpf_size(__u32 sz)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_ldimm64_insn
      Src: /src/libbpf/src/relo_core.c:1055,1
    - Dst: bpf_core_poison_insn
      Src: /src/libbpf/src/relo_core.c:1056,1
    - Dst: bpf_core_poison_insn
      Src: /src/libbpf/src/relo_core.c:1057,1
    - Dst: if
      Src: /src/libbpf/src/relo_core.c:1067,1
    - Dst: BPF_SRC
      Src: /src/libbpf/src/relo_core.c:1067,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1070,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1086,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1092,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1097,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1105,1
    - Dst: insn_bpf_size_to_bytes
      Src: /src/libbpf/src/relo_core.c:1112,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1114,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/relo_core.c:1119,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1121,1
    - Dst: BPF_MODE
      Src: /src/libbpf/src/relo_core.c:1126,1
    - Dst: BPF_CLASS
      Src: /src/libbpf/src/relo_core.c:1126,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1127,1
    - Dst: is_ldimm64_insn
      Src: /src/libbpf/src/relo_core.c:1134,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1138,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1145,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1154,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1160,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 6
    argNames:
    - prog_name
    - insn
    - insn_idx
    - relo
    - relo_idx
    - res
    argTypes:
    - char*
    - struct bpf_insn*
    - int
    - struct bpf_core_relo*
    - int
    - struct bpf_core_relo_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1164
    functionName: bpf_core_patch_insn
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - BPF_CLASS
    - pr_debug
    - bpf_core_poison_insn
    - if
    - BPF_MODE
    - BPF_SRC
    - is_ldimm64_insn
    - insn_bytes_to_bpf_size
    - insn_bpf_size_to_bytes
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_core_patch_insn(const char *prog_name, struct bpf_insn *insn,\n\t\t\tint
      insn_idx, const struct bpf_core_relo *relo,\n\t\t\tint relo_idx, const struct
      bpf_core_relo_res *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: (res->validate && insn->imm != orig_val)
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: if
    signature: if (res->validate && insn->imm != orig_val)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:1192,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1193,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1195,1
    - Dst: core_relo_kind_str
      Src: /src/libbpf/src/relo_core.c:1196,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/relo_core.c:1197,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:1197,1
    - Dst: core_relo_is_type_based
      Src: /src/libbpf/src/relo_core.c:1199,1
    - Dst: core_relo_is_enumval_based
      Src: /src/libbpf/src/relo_core.c:1202,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:1203,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:1204,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:1208,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1209,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1210,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1211,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:1216,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1217,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1218,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1219,1
    - Dst: btf_enum64_value
      Src: /src/libbpf/src/relo_core.c:1219,1
    - Dst: core_relo_is_field_based
      Src: /src/libbpf/src/relo_core.c:1224,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1227,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1229,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1232,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1234,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1237,1
    - Dst: append_buf
      Src: /src/libbpf/src/relo_core.c:1239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - buf_sz
    - spec
    argTypes:
    - char*
    - size_t
    - struct bpf_core_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1173
    functionDepth: 3
    functionLinenumber: 1173
    functionLinenumberEnd: 1245
    functionName: bpf_core_format_spec
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf_enum64
    - btf_type_by_id
    - core_relo_is_enumval_based
    - btf__name_by_offset
    - core_relo_kind_str
    - append_buf
    - btf_enum
    - btf_enum64_value
    - core_relo_is_field_based
    - BTF_INFO_KFLAG
    - skip_mods_and_typedefs
    - core_relo_is_type_based
    - btf_is_enum
    - str_is_empty
    linkageType: ''
    returnType: int
    signature: int bpf_core_format_spec(char *buf, size_t buf_sz, const struct bpf_core_spec
      *spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1190
    functionName: append_buf
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: append_buf(fmt, args...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/relo_core.c:1316,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1317,1
    - Dst: bpf_core_parse_spec
      Src: /src/libbpf/src/relo_core.c:1321,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1325,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1326,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/relo_core.c:1327,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:1328,1
    - Dst: bpf_core_format_spec
      Src: /src/libbpf/src/relo_core.c:1333,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1334,1
    - Dst: memset
      Src: /src/libbpf/src/relo_core.c:1339,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:1348,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1349,1
    - Dst: core_relo_kind_str
      Src: /src/libbpf/src/relo_core.c:1350,1
    - Dst: bpf_core_spec_match
      Src: /src/libbpf/src/relo_core.c:1355,1
    - Dst: bpf_core_format_spec
      Src: /src/libbpf/src/relo_core.c:1358,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1359,1
    - Dst: bpf_core_format_spec
      Src: /src/libbpf/src/relo_core.c:1364,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1365,1
    - Dst: bpf_core_calc_relo
      Src: /src/libbpf/src/relo_core.c:1371,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1382,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1392,1
    - Dst: pr_debug
      Src: /src/libbpf/src/relo_core.c:1427,1
    - Dst: bpf_core_calc_relo
      Src: /src/libbpf/src/relo_core.c:1431,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 7
    argNames:
    - prog_name
    - relo
    - relo_idx
    - local_btf
    - cands
    - specs_scratch
    - targ_res
    argTypes:
    - char*
    - struct bpf_core_relo*
    - int
    - struct btf*
    - struct bpf_core_cand_list*
    - struct bpf_core_spec*
    - struct bpf_core_relo_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1297
    functionDepth: 8
    functionLinenumber: 1297
    functionLinenumberEnd: 1437
    functionName: bpf_core_calc_relo_insn
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf_type_by_id
    - btf__name_by_offset
    - core_relo_kind_str
    - memset
    - pr_debug
    - bpf_core_format_spec
    - bpf_core_parse_spec
    - str_is_empty
    - bpf_core_spec_match
    - bpf_core_calc_relo
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_core_calc_relo_insn(const char *prog_name,\n\t\t\t    const
      struct bpf_core_relo *relo,\n\t\t\t    int relo_idx,\n\t\t\t    const struct
      btf *local_btf,\n\t\t\t    struct bpf_core_cand_list *cands,\n\t\t\t    struct
      bpf_core_spec *specs_scratch,\n\t\t\t    struct bpf_core_relo_res *targ_res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1445,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/relo_core.c:1446,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:1448,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/relo_core.c:1449,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:1451,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/relo_core.c:1452,1
    - Dst: strncmp
      Src: /src/libbpf/src/relo_core.c:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - local_btf
    - local_name_off
    - targ_btf
    - targ_name_off
    argTypes:
    - struct btf*
    - size_t
    - struct btf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1455
    functionName: bpf_core_names_match
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - strncmp
    - bpf_core_essential_name_len
    - str_is_empty
    - btf__name_by_offset
    linkageType: ''
    returnType: bool
    signature: "bool bpf_core_names_match(const struct btf *local_btf, size_t local_name_off,\n\t\t\t\t
      const struct btf *targ_btf, size_t targ_name_off)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1460,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1461,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:1477,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:1477,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:1478,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/relo_core.c:1481,1
    - Dst: btf_enum
      Src: /src/libbpf/src/relo_core.c:1481,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/relo_core.c:1482,1
    - Dst: bpf_core_names_match
      Src: /src/libbpf/src/relo_core.c:1484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - local_btf
    - local_t
    - targ_btf
    - targ_t
    argTypes:
    - struct btf*
    - struct btf_type*
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1494
    functionName: bpf_core_enums_match
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - btf_enum64
    - bpf_core_names_match
    - btf_enum
    - btf_vlen
    - btf_is_enum
    linkageType: ''
    returnType: int
    signature: "int bpf_core_enums_match(const struct btf *local_btf, const struct
      btf_type *local_t,\n\t\t\t\tconst struct btf *targ_btf, const struct btf_type
      *targ_t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:1500,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1501,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1502,1
    - Dst: btf_members
      Src: /src/libbpf/src/relo_core.c:1510,1
    - Dst: bpf_core_names_match
      Src: /src/libbpf/src/relo_core.c:1514,1
    - Dst: __bpf_core_types_match
      Src: /src/libbpf/src/relo_core.c:1518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - local_btf
    - local_t
    - targ_btf
    - targ_t
    - behind_ptr
    - level
    argTypes:
    - struct btf*
    - struct btf_type*
    - struct btf*
    - struct btf_type*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1532
    functionName: bpf_core_composites_match
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 0
    functionsReached:
    - bpf_core_names_match
    - btf_vlen
    - btf_members
    - __bpf_core_types_match
    linkageType: ''
    returnType: int
    signature: "int bpf_core_composites_match(const struct btf *local_btf, const struct
      btf_type *local_t,\n\t\t\t\t     const struct btf *targ_btf, const struct btf_type
      *targ_t,\n\t\t\t\t     bool behind_ptr, int level)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:1576,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/relo_core.c:1577,1
    - Dst: bpf_core_names_match
      Src: /src/libbpf/src/relo_core.c:1585,1
    - Dst: btf_kind
      Src: /src/libbpf/src/relo_core.c:1588,1
    - Dst: btf_kind
      Src: /src/libbpf/src/relo_core.c:1589,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1595,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1599,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1611,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/relo_core.c:1616,1
    - Dst: bpf_core_enums_match
      Src: /src/libbpf/src/relo_core.c:1619,1
    - Dst: BTF_INFO_KFLAG
      Src: /src/libbpf/src/relo_core.c:1623,1
    - Dst: bpf_core_composites_match
      Src: /src/libbpf/src/relo_core.c:1636,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/relo_core.c:1646,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/relo_core.c:1647,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:1661,1
    - Dst: btf_array
      Src: /src/libbpf/src/relo_core.c:1662,1
    - Dst: btf_params
      Src: /src/libbpf/src/relo_core.c:1675,1
    - Dst: btf_params
      Src: /src/libbpf/src/relo_core.c:1676,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1677,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/relo_core.c:1678,1
    - Dst: __bpf_core_types_match
      Src: /src/libbpf/src/relo_core.c:1688,1
    - Dst: pr_warn
      Src: /src/libbpf/src/relo_core.c:1700,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/relo_core.c:1701,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 92
    argCount: 6
    argNames:
    - local_btf
    - local_id
    - targ_btf
    - targ_id
    - behind_ptr
    - level
    argTypes:
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1561
    functionDepth: 4
    functionLinenumber: 1561
    functionLinenumberEnd: 1704
    functionName: __bpf_core_types_match
    functionSourceFile: /src/libbpf/src/relo_core.c
    functionUses: 2
    functionsReached:
    - btf_kind_str
    - bpf_core_composites_match
    - btf_params
    - bpf_core_names_match
    - bpf_core_enums_match
    - __bpf_core_types_match
    - pr_warn
    - btf_vlen
    - BTF_INFO_KFLAG
    - skip_mods_and_typedefs
    - btf_kind
    - btf_is_any_enum
    - btf_int_encoding
    - btf_array
    linkageType: ''
    returnType: int
    signature: "int __bpf_core_types_match(const struct btf *local_btf, __u32 local_id,
      const struct btf *targ_btf,\n\t\t\t   __u32 targ_id, bool behind_ptr, int level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ptr_to_u64
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 ptr_to_u64(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libbpf/src/bpf.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cmd
    - attr
    - size
    - attr_common
    - size_common
    argTypes:
    - enum bpf_cmd
    - union bpf_attr*
    - unsigned int
    - struct bpf_common_attr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: sys_bpf_ext
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: "int sys_bpf_ext(enum bpf_cmd cmd, union bpf_attr *attr,\n\t\t\t      unsigned
      int size,\n\t\t\t      struct bpf_common_attr *attr_common,\n\t\t\t      unsigned
      int size_common)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_bpf_ext
      Src: /src/libbpf/src/bpf.c:90,1
    - Dst: ensure_good_fd
      Src: /src/libbpf/src/bpf.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cmd
    - attr
    - size
    - attr_common
    - size_common
    argTypes:
    - enum bpf_cmd
    - union bpf_attr*
    - unsigned int
    - struct bpf_common_attr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: sys_bpf_ext_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - sys_bpf_ext
    - ensure_good_fd
    linkageType: ''
    returnType: int
    signature: "int sys_bpf_ext_fd(enum bpf_cmd cmd, union bpf_attr *attr,\n\t\t\t\t
      unsigned int size,\n\t\t\t\t struct bpf_common_attr *attr_common,\n\t\t\t\t
      unsigned int size_common)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:96,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:100,1
    - Dst: syscall
      Src: /src/libbpf/src/bpf.c:101,1
    - Dst: close
      Src: /src/libbpf/src/bpf.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: probe_sys_bpf_ext
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - syscall
    - close
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int probe_sys_bpf_ext(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libbpf/src/bpf.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - attr
    - size
    argTypes:
    - enum bpf_cmd
    - union bpf_attr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: sys_bpf
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: "int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,\n\t\t\t  unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:121,1
    - Dst: ensure_good_fd
      Src: /src/libbpf/src/bpf.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - attr
    - size
    argTypes:
    - enum bpf_cmd
    - union bpf_attr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: sys_bpf_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - sys_bpf
    - ensure_good_fd
    linkageType: ''
    returnType: int
    signature: "int sys_bpf_fd(enum bpf_cmd cmd, union bpf_attr *attr,\n\t\t\t     unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - attr
    - size
    - attempts
    argTypes:
    - union bpf_attr*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: sys_bpf_prog_load
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - sys_bpf_fd
    linkageType: ''
    returnType: int
    signature: int sys_bpf_prog_load(union bpf_attr *attr, unsigned int size, int
      attempts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:146,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/bpf.c:148,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/bpf.c:149,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/bpf.c:151,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:156,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:158,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:160,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:165,1
    - Dst: close
      Src: /src/libbpf/src/bpf.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: probe_memcg_account
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - BPF_EMIT_CALL
    - memset
    - close
    - sys_bpf_fd
    - ARRAY_SIZE
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int probe_memcg_account(int token_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - memlock_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: libbpf_set_memlock_rlim
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_set_memlock_rlim(size_t memlock_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: feat_supported
      Src: /src/libbpf/src/bpf.c:190,1
    - Dst: setrlimit
      Src: /src/libbpf/src/bpf.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: bump_rlimit_memlock
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - feat_supported
    - setrlimit
    linkageType: ''
    returnType: int
    signature: int bump_rlimit_memlock(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:213,1
    - Dst: bump_rlimit_memlock
      Src: /src/libbpf/src/bpf.c:220,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:222,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:224,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:225,1
    - Dst: feat_supported
      Src: /src/libbpf/src/bpf.c:228,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/bpf.c:229,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:234,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:235,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:236,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:237,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:238,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:240,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:241,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:242,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:243,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:244,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:246,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:247,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:247,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:248,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:250,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:251,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:252,1
    - Dst: feat_supported
      Src: /src/libbpf/src/bpf.c:254,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:255,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:256,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:256,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:257,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:258,1
    - Dst: sys_bpf_ext_fd
      Src: /src/libbpf/src/bpf.c:259,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:260,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:262,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:263,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 6
    argNames:
    - map_type
    - map_name
    - key_size
    - value_size
    - max_entries
    - opts
    argTypes:
    - enum bpf_map_type
    - char*
    - __u32
    - __u32
    - __u32
    - struct bpf_map_create_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 266
    functionName: bpf_map_create
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - libbpf_strlcpy
    - memset
    - OPTS_GET
    - OPTS_SET
    - sys_bpf_ext_fd
    - libbpf_err_errno
    - bump_rlimit_memlock
    - OPTS_VALID
    - feat_supported
    - sys_bpf_fd
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map_create(enum bpf_map_type map_type,\n\t\t   const char
      *map_name,\n\t\t   __u32 key_size,\n\t\t   __u32 value_size,\n\t\t   __u32 max_entries,\n\t\t
      \  const struct bpf_map_create_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libbpf/src/bpf.c:276,1
    - Dst: memcpy
      Src: /src/libbpf/src/bpf.c:283,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - orecord
    - cnt
    - actual_rec_size
    - expected_rec_size
    argTypes:
    - void*
    - __u32
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 291
    functionName: alloc_zero_tailing_info
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void *\nalloc_zero_tailing_info(const void *orecord, __u32 cnt,\n\t\t\t__u32
      actual_rec_size, __u32 expected_rec_size)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:298,1
    - Dst: bump_rlimit_memlock
      Src: /src/libbpf/src/bpf.c:307,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:309,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:310,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:312,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:314,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:318,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:321,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:323,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:324,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:325,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:326,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:327,1
    - Dst: feat_supported
      Src: /src/libbpf/src/bpf.c:329,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/bpf.c:330,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:331,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:334,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:336,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:339,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:340,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:343,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:345,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:351,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:352,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:353,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:356,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:358,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:359,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:361,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:362,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:364,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:365,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:367,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:368,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:370,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:370,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:371,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:374,1
    - Dst: sys_bpf_prog_load
      Src: /src/libbpf/src/bpf.c:379,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:380,1
    - Dst: alloc_zero_tailing_info
      Src: /src/libbpf/src/bpf.c:392,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:401,1
    - Dst: alloc_zero_tailing_info
      Src: /src/libbpf/src/bpf.c:405,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:414,1
    - Dst: sys_bpf_prog_load
      Src: /src/libbpf/src/bpf.c:420,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:421,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:431,1
    - Dst: sys_bpf_prog_load
      Src: /src/libbpf/src/bpf.c:435,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:436,1
    - Dst: free
      Src: /src/libbpf/src/bpf.c:440,1
    - Dst: free
      Src: /src/libbpf/src/bpf.c:441,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:442,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 6
    argNames:
    - prog_type
    - prog_name
    - license
    - insns
    - insn_cnt
    - opts
    argTypes:
    - enum bpf_prog_type
    - char*
    - char*
    - struct bpf_insn*
    - size_t
    - struct bpf_prog_load_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 443
    functionName: bpf_prog_load
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - libbpf_strlcpy
    - alloc_zero_tailing_info
    - OPTS_GET
    - memset
    - sys_bpf_prog_load
    - OPTS_SET
    - libbpf_err_errno
    - bump_rlimit_memlock
    - OPTS_VALID
    - feat_supported
    - free
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_load(enum bpf_prog_type prog_type,\n\t\t  const char
      *prog_name, const char *license,\n\t\t  const struct bpf_insn *insns, size_t
      insn_cnt,\n\t\t  struct bpf_prog_load_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:448,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:452,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:454,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:455,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:458,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - key
    - value
    - flags
    argTypes:
    - int
    - void*
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: bpf_map_update_elem
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: "int bpf_map_update_elem(int fd, const void *key, const void *value,\n\t\t\t__u64
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:464,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:468,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:470,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:471,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:473,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - key
    - value
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: bpf_map_lookup_elem
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_lookup_elem(int fd, const void *key, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:479,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:483,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:485,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:486,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:489,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - key
    - value
    - flags
    argTypes:
    - int
    - void*
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: bpf_map_lookup_elem_flags
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_lookup_elem_flags(int fd, const void *key, void *value,
      __u64 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:495,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:499,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:501,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:502,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:504,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - key
    - value
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: bpf_map_lookup_and_delete_elem
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:510,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:514,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:516,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:517,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:520,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - key
    - value
    - flags
    argTypes:
    - int
    - void*
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 522
    functionName: bpf_map_lookup_and_delete_elem_flags
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, void
      *value, __u64 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:526,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:530,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:532,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:534,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - key
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 536
    functionName: bpf_map_delete_elem
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_delete_elem(int fd, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:540,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:544,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:546,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:549,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - key
    - flags
    argTypes:
    - int
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionName: bpf_map_delete_elem_flags
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:555,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:559,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:561,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:562,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:564,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - key
    - next_key
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: bpf_map_get_next_key
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_map_get_next_key(int fd, const void *key, void *next_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:570,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:574,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:577,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: bpf_map_freeze
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - sys_bpf
    - offsetofend
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_map_freeze(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:586,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:590,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:591,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:593,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:595,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:596,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:597,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:598,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:600,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:601,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:603,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - cmd
    - fd
    - in_batch
    - out_batch
    - keys
    - values
    - count
    - opts
    argTypes:
    - int
    - int
    - void*
    - void*
    - void*
    - void*
    - __u32*
    - struct bpf_map_batch_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 607
    functionName: bpf_map_batch_common
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map_batch_common(int cmd, int fd, void  *in_batch,\n\t\t\t\tvoid
      *out_batch, void *keys, void *values,\n\t\t\t\t__u32 *count,\n\t\t\t\tconst
      struct bpf_map_batch_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_batch_common
      Src: /src/libbpf/src/bpf.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - keys
    - count
    - opts
    argTypes:
    - int
    - void*
    - __u32*
    - struct bpf_map_batch_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: bpf_map_delete_batch
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_batch_common
    linkageType: ''
    returnType: int
    signature: "int bpf_map_delete_batch(int fd, const void *keys, __u32 *count,\n\t\t\t
      const struct bpf_map_batch_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_batch_common
      Src: /src/libbpf/src/bpf.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fd
    - in_batch
    - out_batch
    - keys
    - values
    - count
    - opts
    argTypes:
    - int
    - void*
    - void*
    - void*
    - void*
    - __u32*
    - struct bpf_map_batch_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: bpf_map_lookup_batch
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_batch_common
    linkageType: ''
    returnType: int
    signature: "int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch,
      void *keys,\n\t\t\t void *values, __u32 *count,\n\t\t\t const struct bpf_map_batch_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_batch_common
      Src: /src/libbpf/src/bpf.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fd
    - in_batch
    - out_batch
    - keys
    - values
    - count
    - opts
    argTypes:
    - int
    - void*
    - void*
    - void*
    - void*
    - __u32*
    - struct bpf_map_batch_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: bpf_map_lookup_and_delete_batch
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_batch_common
    linkageType: ''
    returnType: int
    signature: "int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, void *out_batch,\n\t\t\t\t
      \   void *keys, void *values, __u32 *count,\n\t\t\t\t    const struct bpf_map_batch_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_batch_common
      Src: /src/libbpf/src/bpf.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fd
    - keys
    - values
    - count
    - opts
    argTypes:
    - int
    - void*
    - void*
    - __u32*
    - struct bpf_map_batch_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: bpf_map_update_batch
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_batch_common
    linkageType: ''
    returnType: int
    signature: "int bpf_map_update_batch(int fd, const void *keys, const void *values,
      __u32 *count,\n\t\t\t const struct bpf_map_batch_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:642,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:646,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:647,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:649,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:650,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:651,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:652,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:655,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - pathname
    - opts
    argTypes:
    - int
    - char*
    - struct bpf_obj_pin_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 657
    functionName: bpf_obj_pin_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_pin_opts
      Src: /src/libbpf/src/bpf.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - pathname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: bpf_obj_pin
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_pin_opts
    linkageType: ''
    returnType: int
    signature: int bpf_obj_pin(int fd, const char *pathname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_opts
      Src: /src/libbpf/src/bpf.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: bpf_obj_get
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_opts
    linkageType: ''
    returnType: int
    signature: int bpf_obj_get(const char *pathname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:671,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:675,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:676,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:678,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:679,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:680,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:681,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:683,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pathname
    - opts
    argTypes:
    - char*
    - struct bpf_obj_get_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 685
    functionName: bpf_obj_get_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/bpf.c:690,1
    - Dst: bpf_prog_attach_opts
      Src: /src/libbpf/src/bpf.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - prog_fd
    - target_fd
    - type
    - flags
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: bpf_prog_attach
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - DECLARE_LIBBPF_OPTS
    - bpf_prog_attach_opts
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_attach(int prog_fd, int target_fd, enum bpf_attach_type
      type,\n\t\t    unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:700,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:705,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:706,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:708,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:709,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:710,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:714,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:716,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:720,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:721,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:731,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - prog_fd
    - target
    - type
    - opts
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    - struct bpf_prog_attach_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 733
    functionName: bpf_prog_attach_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - OPTS_GET
    - memset
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_attach_opts(int prog_fd, int target, enum bpf_attach_type
      type,\n\t\t\t const struct bpf_prog_attach_opts *opts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:738,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:743,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:744,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:746,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:747,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:748,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:752,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:754,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:758,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:768,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - prog_fd
    - target
    - type
    - opts
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    - struct bpf_prog_detach_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 770
    functionName: bpf_prog_detach_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - memset
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_detach_opts(int prog_fd, int target, enum bpf_attach_type
      type,\n\t\t\t const struct bpf_prog_detach_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_prog_detach_opts
      Src: /src/libbpf/src/bpf.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target_fd
    - type
    argTypes:
    - int
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: bpf_prog_detach
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_prog_detach_opts
    linkageType: ''
    returnType: int
    signature: int bpf_prog_detach(int target_fd, enum bpf_attach_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_prog_detach_opts
      Src: /src/libbpf/src/bpf.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prog_fd
    - target_fd
    - type
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: bpf_prog_detach2
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_prog_detach_opts
    linkageType: ''
    returnType: int
    signature: int bpf_prog_detach2(int prog_fd, int target_fd, enum bpf_attach_type
      type)
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:786,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:791,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:792,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:794,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:795,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:800,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:801,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:802,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:805,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:809,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:818,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:818,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:822,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:823,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:824,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:828,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:829,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:830,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:830,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:831,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:831,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:832,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:832,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:833,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:834,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:838,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:839,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:840,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:840,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:841,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:841,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:842,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:842,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:843,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:843,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:844,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:845,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:846,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:847,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:852,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:852,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:853,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:853,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:854,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:855,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:856,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:864,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:865,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:866,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:869,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:870,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:871,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:872,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:873,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:874,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:878,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:879,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:881,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:888,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:889,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:890,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:894,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:895,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:897,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:904,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:905,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:906,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:937,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:938,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:940,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:948,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:949,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:950,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:953,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:954,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:958,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:966,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:972,1
    - Dst: OPTS_ZEROED
      Src: /src/libbpf/src/bpf.c:973,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:974,1
    - Dst: bpf_raw_tracepoint_open
      Src: /src/libbpf/src/bpf.c:986,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:988,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 183
    argCount: 4
    argNames:
    - prog_fd
    - target_fd
    - attach_type
    - opts
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    - struct bpf_link_create_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 990
    functionName: bpf_link_create
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_raw_tracepoint_open
    - OPTS_GET
    - memset
    - OPTS_VALID
    - sys_bpf_fd
    - OPTS_ZEROED
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_link_create(int prog_fd, int target_fd,\n\t\t    enum bpf_attach_type
      attach_type,\n\t\t    const struct bpf_link_create_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:994,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:998,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1001,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - link_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1003
    functionName: bpf_link_detach
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - sys_bpf
    - offsetofend
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_link_detach(int link_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1008,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1012,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1013,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1015,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1015,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1016,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1018,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1021,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1022,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1023,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1024,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1025,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1027,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - link_fd
    - new_prog_fd
    - opts
    argTypes:
    - int
    - int
    - struct bpf_link_update_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1029
    functionName: bpf_link_update
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - memset
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_link_update(int link_fd, int new_prog_fd,\n\t\t    const struct
      bpf_link_update_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1033,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1037,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1040,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - link_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1042
    functionName: bpf_iter_create
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - sys_bpf_fd
    - offsetofend
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_iter_create(int link_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1047,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1051,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1052,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1054,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1057,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1058,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1059,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1059,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1060,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1060,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1061,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1061,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1062,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1062,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1064,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1066,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1067,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1068,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - target
    - type
    - opts
    argTypes:
    - int
    - enum bpf_attach_type
    - struct bpf_prog_query_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1071
    functionName: bpf_prog_query_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - OPTS_SET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_query_opts(int target, enum bpf_attach_type type,\n\t\t\tstruct
      bpf_prog_query_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/bpf.c:1076,1
    - Dst: bpf_prog_query_opts
      Src: /src/libbpf/src/bpf.c:1083,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - target_fd
    - type
    - query_flags
    - attach_flags
    - prog_ids
    - prog_cnt
    argTypes:
    - int
    - enum bpf_attach_type
    - __u32
    - __u32*
    - __u32*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1090
    functionName: bpf_prog_query
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_prog_query_opts
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32
      query_flags,\n\t\t   __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1094,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1098,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1099,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1101,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1103,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1104,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1105,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1106,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1107,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1108,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1109,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1110,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1111,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1112,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1112,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1113,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1113,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1114,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1114,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1115,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1115,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1117,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1119,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1120,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1121,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1122,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - prog_fd
    - opts
    argTypes:
    - int
    - struct bpf_test_run_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1125
    functionName: bpf_prog_test_run_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - OPTS_SET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1129,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1133,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1136,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - start_id
    - next_id
    - cmd
    argTypes:
    - __u32
    - __u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1141
    functionName: bpf_obj_get_next_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - sys_bpf
    - offsetofend
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_obj_get_next_id(__u32 start_id, __u32 *next_id, int cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_next_id
      Src: /src/libbpf/src/bpf.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_id
    - next_id
    argTypes:
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: bpf_prog_get_next_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_next_id
    linkageType: ''
    returnType: int
    signature: int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_next_id
      Src: /src/libbpf/src/bpf.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_id
    - next_id
    argTypes:
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: bpf_map_get_next_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_next_id
    linkageType: ''
    returnType: int
    signature: int bpf_map_get_next_id(__u32 start_id, __u32 *next_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_next_id
      Src: /src/libbpf/src/bpf.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_id
    - next_id
    argTypes:
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1156
    functionName: bpf_btf_get_next_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_next_id
    linkageType: ''
    returnType: int
    signature: int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_next_id
      Src: /src/libbpf/src/bpf.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_id
    - next_id
    argTypes:
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: bpf_link_get_next_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_next_id
    linkageType: ''
    returnType: int
    signature: int bpf_link_get_next_id(__u32 start_id, __u32 *next_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1166,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1170,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1171,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1173,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1175,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1177,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - opts
    argTypes:
    - __u32
    - struct bpf_get_fd_by_id_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1179
    functionName: bpf_prog_get_fd_by_id_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_get_fd_by_id_opts(__u32 id,\n\t\t\t       const struct
      bpf_get_fd_by_id_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_prog_get_fd_by_id_opts
      Src: /src/libbpf/src/bpf.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 3
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: bpf_prog_get_fd_by_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_prog_get_fd_by_id_opts
    linkageType: ''
    returnType: int
    signature: int bpf_prog_get_fd_by_id(__u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1189,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1193,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1194,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1196,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1198,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1200,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - opts
    argTypes:
    - __u32
    - struct bpf_get_fd_by_id_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1202
    functionName: bpf_map_get_fd_by_id_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map_get_fd_by_id_opts(__u32 id,\n\t\t\t      const struct
      bpf_get_fd_by_id_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_get_fd_by_id_opts
      Src: /src/libbpf/src/bpf.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: bpf_map_get_fd_by_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_get_fd_by_id_opts
    linkageType: ''
    returnType: int
    signature: int bpf_map_get_fd_by_id(__u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1212,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1216,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1217,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1219,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1221,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1222,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1224,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - id
    - opts
    argTypes:
    - __u32
    - struct bpf_get_fd_by_id_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1226
    functionName: bpf_btf_get_fd_by_id_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_btf_get_fd_by_id_opts(__u32 id,\n\t\t\t      const struct
      bpf_get_fd_by_id_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_btf_get_fd_by_id_opts
      Src: /src/libbpf/src/bpf.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: bpf_btf_get_fd_by_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_btf_get_fd_by_id_opts
    linkageType: ''
    returnType: int
    signature: int bpf_btf_get_fd_by_id(__u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1236,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1240,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1241,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1243,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1245,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1247,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - opts
    argTypes:
    - __u32
    - struct bpf_get_fd_by_id_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1249
    functionName: bpf_link_get_fd_by_id_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_link_get_fd_by_id_opts(__u32 id,\n\t\t\t       const struct
      bpf_get_fd_by_id_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_link_get_fd_by_id_opts
      Src: /src/libbpf/src/bpf.c:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1251
    functionDepth: 3
    functionLinenumber: 1251
    functionLinenumberEnd: 1254
    functionName: bpf_link_get_fd_by_id
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_link_get_fd_by_id_opts
    linkageType: ''
    returnType: int
    signature: int bpf_link_get_fd_by_id(__u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1258,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1262,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1265,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1267,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bpf_fd
    - info
    - info_len
    argTypes:
    - int
    - void*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1271
    functionName: bpf_obj_get_info_by_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_info_by_fd
      Src: /src/libbpf/src/bpf.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prog_fd
    - info
    - info_len
    argTypes:
    - int
    - struct bpf_prog_info*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1276
    functionName: bpf_prog_get_info_by_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_info_by_fd
    linkageType: ''
    returnType: int
    signature: int bpf_prog_get_info_by_fd(int prog_fd, struct bpf_prog_info *info,
      __u32 *info_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_info_by_fd
      Src: /src/libbpf/src/bpf.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_fd
    - info
    - info_len
    argTypes:
    - int
    - struct bpf_map_info*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: bpf_map_get_info_by_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 2
    functionsReached:
    - bpf_obj_get_info_by_fd
    linkageType: ''
    returnType: int
    signature: int bpf_map_get_info_by_fd(int map_fd, struct bpf_map_info *info, __u32
      *info_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_info_by_fd
      Src: /src/libbpf/src/bpf.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf_fd
    - info
    - info_len
    argTypes:
    - int
    - struct bpf_btf_info*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: bpf_btf_get_info_by_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_info_by_fd
    linkageType: ''
    returnType: int
    signature: int bpf_btf_get_info_by_fd(int btf_fd, struct bpf_btf_info *info, __u32
      *info_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get_info_by_fd
      Src: /src/libbpf/src/bpf.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - link_fd
    - info
    - info_len
    argTypes:
    - int
    - struct bpf_link_info*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1291
    functionName: bpf_link_get_info_by_fd
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - bpf_obj_get_info_by_fd
    linkageType: ''
    returnType: int
    signature: int bpf_link_get_info_by_fd(int link_fd, struct bpf_link_info *info,
      __u32 *info_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1295,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1299,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1300,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1302,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1304,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1304,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1305,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1307,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - prog_fd
    - opts
    argTypes:
    - int
    - struct bpf_raw_tp_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1309
    functionName: bpf_raw_tracepoint_open_opts
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/bpf.c:1313,1
    - Dst: bpf_raw_tracepoint_open_opts
      Src: /src/libbpf/src/bpf.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - prog_fd
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1316
    functionName: bpf_raw_tracepoint_open
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 1
    functionsReached:
    - bpf_raw_tracepoint_open_opts
    - LIBBPF_OPTS
    linkageType: ''
    returnType: int
    signature: int bpf_raw_tracepoint_open(const char *name, int prog_fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1320,1
    - Dst: bump_rlimit_memlock
      Src: /src/libbpf/src/bpf.c:1327,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1329,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1331,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1332,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1334,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1335,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1336,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1339,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1341,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1343,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1346,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1347,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1355,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1360,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1362,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1365,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/bpf.c:1368,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - btf_data
    - btf_size
    - opts
    argTypes:
    - void*
    - size_t
    - struct bpf_btf_load_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1318
    functionDepth: 2
    functionLinenumber: 1318
    functionLinenumberEnd: 1370
    functionName: bpf_btf_load
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - OPTS_SET
    - libbpf_err_errno
    - bump_rlimit_memlock
    - OPTS_VALID
    - sys_bpf_fd
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1376,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1380,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1384,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1387,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - pid
    - fd
    - flags
    - buf
    - buf_len
    - prog_id
    - fd_type
    - probe_offset
    - probe_addr
    argTypes:
    - int
    - int
    - __u32
    - char*
    - __u32*
    - __u32*
    - __u32*
    - __u64*
    - __u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1396
    functionName: bpf_task_fd_query
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: "int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, __u32
      *buf_len,\n\t\t      __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset,\n\t\t
      \     __u64 *probe_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1400,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1404,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1407,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum bpf_stats_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1409
    functionName: bpf_enable_stats
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - sys_bpf_fd
    - offsetofend
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_enable_stats(enum bpf_stats_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1414,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1418,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1419,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1421,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1424,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1426,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - prog_fd
    - map_fd
    - opts
    argTypes:
    - int
    - int
    - struct bpf_prog_bind_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1428
    functionName: bpf_prog_bind_map
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_bind_map(int prog_fd, int map_fd,\n\t\t      const struct
      bpf_prog_bind_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1432,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1436,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1437,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1439,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1441,1
    - Dst: sys_bpf_fd
      Src: /src/libbpf/src/bpf.c:1443,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bpffs_fd
    - opts
    argTypes:
    - int
    - struct bpf_token_create_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1445
    functionName: bpf_token_create
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf_fd
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1450,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1454,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1455,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1457,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/bpf.c:1458,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1463,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - prog_fd
    - stream_id
    - buf
    - buf_len
    - opts
    argTypes:
    - int
    - __u32
    - void*
    - __u32
    - struct bpf_prog_stream_read_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1465
    functionName: bpf_prog_stream_read
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - ptr_to_u64
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_stream_read(int prog_fd, __u32 stream_id, void *buf,
      __u32 buf_len,\n\t\t\t struct bpf_prog_stream_read_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/bpf.c:1470,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/bpf.c:1474,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/bpf.c:1475,1
    - Dst: memset
      Src: /src/libbpf/src/bpf.c:1477,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/bpf.c:1480,1
    - Dst: sys_bpf
      Src: /src/libbpf/src/bpf.c:1482,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/bpf.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - prog_fd
    - map_fd
    - opts
    argTypes:
    - int
    - int
    - struct bpf_prog_assoc_struct_ops_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1484
    functionName: bpf_prog_assoc_struct_ops
    functionSourceFile: /src/libbpf/src/bpf.c
    functionUses: 0
    functionsReached:
    - memset
    - OPTS_GET
    - libbpf_err_errno
    - OPTS_VALID
    - sys_bpf
    - offsetofend
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_prog_assoc_struct_ops(int prog_fd, int map_fd,\n\t\t\t      struct
      bpf_prog_assoc_struct_ops_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PT_REGS_IP
      Src: /src/libbpf/src/usdt.bpf.h:102,1
    - Dst: bpf_map_lookup_elem
      Src: /src/libbpf/src/usdt.bpf.h:105,1
    - Dst: bpf_get_attach_cookie
      Src: /src/libbpf/src/usdt.bpf.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: __bpf_usdt_spec_id
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem
    - PT_REGS_IP
    - bpf_get_attach_cookie
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline __bpf_usdt_spec_id(struct pt_regs *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_usdt_spec_id
      Src: /src/libbpf/src/usdt.bpf.h:119,1
    - Dst: bpf_map_lookup_elem
      Src: /src/libbpf/src/usdt.bpf.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: bpf_usdt_arg_cnt
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem
    - __bpf_usdt_spec_id
    linkageType: ''
    returnType: __weak
    signature: __weak bpf_usdt_arg_cnt(struct pt_regs *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_usdt_spec_id
      Src: /src/libbpf/src/usdt.bpf.h:140,1
    - Dst: bpf_map_lookup_elem
      Src: /src/libbpf/src/usdt.bpf.h:144,1
    - Dst: barrier_var
      Src: /src/libbpf/src/usdt.bpf.h:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - arg_num
    argTypes:
    - struct pt_regs*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: bpf_usdt_arg_size
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem
    - barrier_var
    - __bpf_usdt_spec_id
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline bpf_usdt_arg_size(struct pt_regs *ctx, __u64 arg_num)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_usdt_spec_id
      Src: /src/libbpf/src/usdt.bpf.h:176,1
    - Dst: bpf_map_lookup_elem
      Src: /src/libbpf/src/usdt.bpf.h:180,1
    - Dst: barrier_var
      Src: /src/libbpf/src/usdt.bpf.h:186,1
    - Dst: bpf_probe_read_kernel
      Src: /src/libbpf/src/usdt.bpf.h:204,1
    - Dst: bpf_probe_read_kernel
      Src: /src/libbpf/src/usdt.bpf.h:216,1
    - Dst: bpf_probe_read_user
      Src: /src/libbpf/src/usdt.bpf.h:219,1
    - Dst: bpf_probe_read_kernel
      Src: /src/libbpf/src/usdt.bpf.h:234,1
    - Dst: bpf_probe_read_kernel
      Src: /src/libbpf/src/usdt.bpf.h:237,1
    - Dst: bpf_probe_read_user
      Src: /src/libbpf/src/usdt.bpf.h:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - arg_num
    - res
    argTypes:
    - struct pt_regs*
    - __u64
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 262
    functionName: bpf_usdt_arg
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem
    - barrier_var
    - bpf_probe_read_kernel
    - bpf_probe_read_user
    - __bpf_usdt_spec_id
    linkageType: ''
    returnType: __weak
    signature: __weak bpf_usdt_arg(struct pt_regs *ctx, __u64 arg_num, long *res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_usdt_spec_id
      Src: /src/libbpf/src/usdt.bpf.h:276,1
    - Dst: bpf_map_lookup_elem
      Src: /src/libbpf/src/usdt.bpf.h:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pt_regs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: bpf_usdt_cookie
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem
    - __bpf_usdt_spec_id
    linkageType: ''
    returnType: __weak
    signature: __weak bpf_usdt_cookie(struct pt_regs *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: ___bpf_usdt_args0
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: ___bpf_usdt_args1
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: ___bpf_usdt_args2
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args2(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: ___bpf_usdt_args3
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args3(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: ___bpf_usdt_args4
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args4(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: ___bpf_usdt_args5
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args5(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: ___bpf_usdt_args6
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args6(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: ___bpf_usdt_args7
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args7(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: ___bpf_usdt_args8
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args8(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: ___bpf_usdt_args9
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args9(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: ___bpf_usdt_args10
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args10(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: ___bpf_usdt_args11
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args11(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: ___bpf_usdt_args12
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args12(x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: ___bpf_usdt_args
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_usdt_args(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - name
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: BPF_USDT
    functionSourceFile: /src/libbpf/src/usdt.bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_USDT(name, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - b
    - ','
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: ___bpf_mvb
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_mvb(x, b, n, m)
  - 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: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ___bpf_swab16
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_swab16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: ___bpf_swab32
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_swab32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: ___bpf_swab64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_swab64(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: __bpf_ntohs
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: __bpf_htons
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_htons(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: __bpf_constant_ntohs
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: __bpf_constant_htons
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_htons(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: __bpf_ntohl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: __bpf_htonl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: __bpf_constant_ntohl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: __bpf_constant_htonl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: __bpf_be64_to_cpu
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_be64_to_cpu(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: __bpf_cpu_to_be64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_cpu_to_be64(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: __bpf_constant_be64_to_cpu
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_be64_to_cpu(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: __bpf_constant_cpu_to_be64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_cpu_to_be64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: __bpf_ntohs
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: __bpf_htons
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_htons(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: __bpf_constant_ntohs
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: __bpf_constant_htons
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_htons(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: __bpf_ntohl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: __bpf_htonl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_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: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: __bpf_constant_ntohl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: __bpf_constant_htonl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: __bpf_be64_to_cpu
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_be64_to_cpu(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: __bpf_cpu_to_be64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_cpu_to_be64(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: __bpf_constant_be64_to_cpu
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_be64_to_cpu(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: __bpf_constant_cpu_to_be64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_constant_cpu_to_be64(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: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: bpf_htons
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_htons(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: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: bpf_ntohs
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_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: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: bpf_htonl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: bpf_ntohl
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_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: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: bpf_cpu_to_be64
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_cpu_to_be64(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: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: bpf_be64_to_cpu
    functionSourceFile: /src/libbpf/src/bpf_endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_be64_to_cpu(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lvl
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pfx
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pfx(int lvl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_hash
      Src: /src/libbpf/src/btf_dump.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: str_hash_fn
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - str_hash
    linkageType: ''
    returnType: size_t
    signature: size_t str_hash_fn(long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/btf_dump.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: str_equal_fn
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool str_equal_fn(long a, long b, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf_dump.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - name_off
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: btf_name_of
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__name_by_offset
    linkageType: ''
    returnType: char
    signature: char *btf_name_of(const struct btf_dump *d, __u32 name_off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libbpf/src/btf_dump.c:141,1
    - Dst: struct btf_dump*::printf_fn
      Src: /src/libbpf/src/btf_dump.c:142,1
    - Dst: va_end
      Src: /src/libbpf/src/btf_dump.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - fmt
    argTypes:
    - struct btf_dump*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: btf_dump_printf
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - va_end
    - struct btf_dump*::printf_fn
    - va_start
    linkageType: ''
    returnType: void
    signature: void btf_dump_printf(const struct btf_dump *d, const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf_dump.c:157,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf_dump.c:158,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf_dump.c:161,1
    - Dst: calloc
      Src: /src/libbpf/src/btf_dump.c:163,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf_dump.c:165,1
    - Dst: btf__pointer_size
      Src: /src/libbpf/src/btf_dump.c:170,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf_dump.c:172,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf_dump.c:173,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf_dump.c:174,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf_dump.c:178,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf_dump.c:179,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf_dump.c:180,1
    - Dst: btf_dump_resize
      Src: /src/libbpf/src/btf_dump.c:185,1
    - Dst: btf_dump__free
      Src: /src/libbpf/src/btf_dump.c:191,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf_dump.c:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - btf
    - printf_fn
    - ctx
    - opts
    argTypes:
    - struct btf*
    - btf_dump_printf_fn_t
    - void*
    - struct btf_dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 193
    functionName: btf_dump__new
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - IS_ERR
    - libbpf_err_ptr
    - btf__pointer_size
    - btf_dump__free
    - OPTS_VALID
    - PTR_ERR
    - calloc
    - hashmap__new
    - btf_dump_resize
    linkageType: ''
    returnType: struct btf_dump
    signature: "struct btf_dump *btf_dump__new(const struct btf *btf,\n\t\t\t       btf_dump_printf_fn_t
      printf_fn,\n\t\t\t       void *ctx,\n\t\t\t       const struct btf_dump_opts
      *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_dump.c:197,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/btf_dump.c:202,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/btf_dump.c:205,1
    - Dst: btf_dump_mark_referenced
      Src: /src/libbpf/src/btf_dump.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 222
    functionName: btf_dump_resize
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_dump_mark_referenced
    - btf__type_cnt
    - libbpf_ensure_mem
    linkageType: ''
    returnType: int
    signature: int btf_dump_resize(struct btf_dump *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__for_each_entry
      Src: /src/libbpf/src/btf_dump.c:232,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:233,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf_dump.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: btf_dump_free_names
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - hashmap__free
    - hashmap__for_each_entry
    - free
    linkageType: ''
    returnType: void
    signature: void btf_dump_free_names(struct hashmap *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/btf_dump.c:242,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:245,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:250,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:253,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:254,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:255,1
    - Dst: btf_dump_free_names
      Src: /src/libbpf/src/btf_dump.c:256,1
    - Dst: btf_dump_free_names
      Src: /src/libbpf/src/btf_dump.c:257,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 260
    functionName: btf_dump__free
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - free
    - IS_ERR_OR_NULL
    - btf_dump_free_names
    linkageType: ''
    returnType: void
    signature: void btf_dump__free(struct btf_dump *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_dump.c:285,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:286,1
    - Dst: btf_dump_resize
      Src: /src/libbpf/src/btf_dump.c:288,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:290,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:293,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:295,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: btf_dump__dump_type
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_order_type
    - btf_dump_emit_type
    - btf_dump_resize
    - btf__type_cnt
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_dump__dump_type(struct btf_dump *d, __u32 id)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf_dump.c:317,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:322,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:323,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:325,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:346,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:354,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf_dump.c:361,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/btf_dump.c:368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 379
    functionName: btf_dump_mark_referenced
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf__type_by_id
    - btf_params
    - btf_vlen
    - btf_kind
    - btf_var_secinfos
    - btf__type_cnt
    - btf_members
    - btf_array
    linkageType: ''
    returnType: int
    signature: int btf_dump_mark_referenced(struct btf_dump *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libbpf/src/btf_dump.c:387,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/btf_dump.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 397
    functionName: btf_dump_add_emit_queue_id
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - max
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: int btf_dump_add_emit_queue_id(struct btf_dump *d, __u32 id)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:495,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/btf_dump.c:499,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:501,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:505,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:512,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:517,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:517,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:521,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:532,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:534,1
    - Dst: btf_dump_add_emit_queue_id
      Src: /src/libbpf/src/btf_dump.c:540,1
    - Dst: btf_dump_add_emit_queue_id
      Src: /src/libbpf/src/btf_dump.c:557,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:567,1
    - Dst: btf_dump_add_emit_queue_id
      Src: /src/libbpf/src/btf_dump.c:576,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:587,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf_dump.c:590,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:593,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:598,1
    - Dst: btf_dump_order_type
      Src: /src/libbpf/src/btf_dump.c:600,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 3
    argNames:
    - d
    - id
    - through_ptr
    argTypes:
    - struct btf_dump*
    - __u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 618
    functionName: btf_dump_order_type
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 2
    functionsReached:
    - btf_is_composite
    - btf_dump_order_type
    - btf__type_by_id
    - btf_params
    - btf_dump_add_emit_queue_id
    - btf_array
    - btf_vlen
    - btf_kind
    - btf_members
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_dump_order_type(struct btf_dump *d, __u32 id, bool through_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:658,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf_dump.c:668,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 669
    functionName: btf_dump_is_blacklisted
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - strcmp
    - btf__type_by_id
    linkageType: ''
    returnType: bool
    signature: bool btf_dump_is_blacklisted(struct btf_dump *d, __u32 id)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:699,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:700,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:716,1
    - Dst: btf_dump_emit_struct_fwd
      Src: /src/libbpf/src/btf_dump.c:720,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:721,1
    - Dst: btf_dump_is_blacklisted
      Src: /src/libbpf/src/btf_dump.c:730,1
    - Dst: btf_dump_emit_typedef_def
      Src: /src/libbpf/src/btf_dump.c:731,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:732,1
    - Dst: btf_dump_emit_missing_aliases
      Src: /src/libbpf/src/btf_dump.c:746,1
    - Dst: btf_dump_emit_enum_def
      Src: /src/libbpf/src/btf_dump.c:753,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:754,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:763,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:766,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:766,1
    - Dst: btf_dump_emit_fwd_def
      Src: /src/libbpf/src/btf_dump.c:769,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:770,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:775,1
    - Dst: btf_dump_is_blacklisted
      Src: /src/libbpf/src/btf_dump.c:783,1
    - Dst: btf_dump_emit_typedef_def
      Src: /src/libbpf/src/btf_dump.c:784,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:785,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:800,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:801,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:806,1
    - Dst: btf_dump_emit_struct_fwd
      Src: /src/libbpf/src/btf_dump.c:808,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:809,1
    - Dst: btf_dump_emit_struct_def
      Src: /src/libbpf/src/btf_dump.c:814,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:815,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf_dump.c:822,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:823,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:826,1
    - Dst: btf_dump_emit_type
      Src: /src/libbpf/src/btf_dump.c:828,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 3
    argNames:
    - d
    - id
    - cont_id
    argTypes:
    - struct btf_dump*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 835
    functionName: btf_dump_emit_type
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 2
    functionsReached:
    - btf__type_by_id
    - btf_dump_emit_fwd_def
    - btf_params
    - btf_dump_emit_struct_fwd
    - btf_dump_emit_type
    - btf_dump_emit_typedef_def
    - btf_dump_emit_enum_def
    - btf_array
    - btf_dump_emit_missing_aliases
    - btf_vlen
    - btf_kind
    - btf_dump_emit_struct_def
    - btf_dump_is_blacklisted
    - btf_members
    - pr_warn
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: void btf_dump_emit_type(struct btf_dump *d, __u32 id, __u32 cont_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:844,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:845,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf_dump.c:848,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/btf_dump.c:849,1
    - Dst: max
      Src: /src/libbpf/src/btf_dump.c:852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - btf
    - id
    - t
    argTypes:
    - struct btf*
    - __u32
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 862
    functionName: btf_is_struct_packed
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__align_of
    - btf_vlen
    - btf_member_bitfield_size
    - max
    - btf_members
    linkageType: ''
    returnType: bool
    signature: "bool btf_is_struct_packed(const struct btf *btf, __u32 id,\n\t\t\t\t
      const struct btf_type *t)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/btf_dump.c:898,1
    - Dst: roundup
      Src: /src/libbpf/src/btf_dump.c:902,1
    - Dst: roundup
      Src: /src/libbpf/src/btf_dump.c:918,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:921,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:921,1
    - Dst: min
      Src: /src/libbpf/src/btf_dump.c:933,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:935,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:935,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/btf_dump.c:945,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:951,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:951,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 6
    argNames:
    - d
    - cur_off
    - next_off
    - next_align
    - in_bitfield
    - lvl
    argTypes:
    - struct btf_dump*
    - int
    - int
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 956
    functionName: btf_dump_emit_bit_padding
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - roundup
    - pfx
    - ARRAY_SIZE
    - min
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_bit_padding(const struct btf_dump *d,\n\t\t\t\t
      \     int cur_off, int next_off, int next_align,\n\t\t\t\t      bool in_bitfield,
      int lvl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:961,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/btf_dump.c:962,1
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - id
    - t
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 965
    functionName: btf_dump_emit_struct_fwd
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_is_struct
    - btf_dump_type_name
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_struct_fwd(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \    const struct btf_type *t)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:972,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/btf_dump.c:973,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:976,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf_dump.c:978,1
    - Dst: btf_is_struct_packed
      Src: /src/libbpf/src/btf_dump.c:979,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:981,1
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:984,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:991,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/btf_dump.c:992,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/btf_dump.c:993,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf_dump.c:994,1
    - Dst: btf_dump_emit_bit_padding
      Src: /src/libbpf/src/btf_dump.c:998,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:999,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:999,1
    - Dst: btf_dump_emit_type_decl
      Src: /src/libbpf/src/btf_dump.c:1000,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1003,1
    - Dst: max
      Src: /src/libbpf/src/btf_dump.c:1007,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/btf_dump.c:1007,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1012,1
    - Dst: btf_dump_emit_bit_padding
      Src: /src/libbpf/src/btf_dump.c:1017,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1024,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1025,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1025,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1027,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - d
    - id
    - t
    - lvl
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 967
    functionDepth: 4
    functionLinenumber: 967
    functionLinenumberEnd: 1031
    functionName: btf_dump_emit_struct_def
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_name_of
    - max
    - pfx
    - btf_is_struct_packed
    - btf__resolve_size
    - btf_dump_printf
    - btf__align_of
    - btf_dump_type_name
    - btf_vlen
    - btf_member_bitfield_size
    - btf_member_bit_offset
    - btf_members
    - btf_dump_emit_type_decl
    - btf_dump_emit_bit_padding
    - btf_is_struct
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_struct_def(struct btf_dump *d,\n\t\t\t\t     __u32
      id,\n\t\t\t\t     const struct btf_type *t,\n\t\t\t\t     int lvl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:1047,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/btf_dump.c:1050,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf_dump.c:1051,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - d
    - id
    - t
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1057
    functionName: btf_dump_emit_missing_aliases
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - btf_dump_type_name
    - strcmp
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_missing_aliases(struct btf_dump *d, __u32 id,\n\t\t\t\t\t
      \ const struct btf_type *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1062,1
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - id
    - t
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: btf_dump_emit_enum_fwd
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_type_name
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_enum_fwd(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \  const struct btf_type *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_enum
      Src: /src/libbpf/src/btf_dump.c:1069,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:1070,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1077,1
    - Dst: btf_dump_name_dups
      Src: /src/libbpf/src/btf_dump.c:1079,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1082,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1082,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1085,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - d
    - t
    - lvl
    - vlen
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - int
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1088
    functionName: btf_dump_emit_enum32_val
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf_dump_name_dups
    - pfx
    - btf_enum
    - btf_kflag
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_enum32_val(struct btf_dump *d,\n\t\t\t\t     const
      struct btf_type *t,\n\t\t\t\t     int lvl, __u32 vlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf_dump.c:1094,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:1095,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1103,1
    - Dst: btf_dump_name_dups
      Src: /src/libbpf/src/btf_dump.c:1104,1
    - Dst: btf_enum64_value
      Src: /src/libbpf/src/btf_dump.c:1105,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1109,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1110,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1115,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - d
    - t
    - lvl
    - vlen
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - int
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1120
    functionName: btf_dump_emit_enum64_val
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf_enum64
    - btf_dump_name_dups
    - pfx
    - btf_enum64_value
    - btf_kflag
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_enum64_val(struct btf_dump *d,\n\t\t\t\t     const
      struct btf_type *t,\n\t\t\t\t     int lvl, __u32 vlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:1125,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1127,1
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:1129,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1134,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf_dump.c:1135,1
    - Dst: btf_dump_emit_enum32_val
      Src: /src/libbpf/src/btf_dump.c:1136,1
    - Dst: btf_dump_emit_enum64_val
      Src: /src/libbpf/src/btf_dump.c:1138,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1139,1
    - Dst: pfx
      Src: /src/libbpf/src/btf_dump.c:1139,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1144,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf_dump.c:1154,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf_dump.c:1167,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - d
    - id
    - t
    - lvl
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1177
    functionName: btf_dump_emit_enum_def
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_enum64
    - pfx
    - btf_dump_type_name
    - btf_vlen
    - btf_is_enum
    - btf_dump_emit_enum32_val
    - btf_dump_emit_enum64_val
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_enum_def(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \  const struct btf_type *t,\n\t\t\t\t   int lvl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_type_name
      Src: /src/libbpf/src/btf_dump.c:1182,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:1184,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1185,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - id
    - t
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1188
    functionName: btf_dump_emit_fwd_def
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_kflag
    - btf_dump_type_name
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_fwd_def(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \ const struct btf_type *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_ident_name
      Src: /src/libbpf/src/btf_dump.c:1193,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf_dump.c:1201,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1202,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1206,1
    - Dst: btf_dump_emit_type_decl
      Src: /src/libbpf/src/btf_dump.c:1207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - d
    - id
    - t
    - lvl
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_type*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1208
    functionName: btf_dump_emit_typedef_def
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf_dump_ident_name
    - strcmp
    - btf_dump_emit_type_decl
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_typedef_def(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \    const struct btf_type *t, int lvl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libbpf/src/btf_dump.c:1216,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/btf_dump.c:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1227
    functionName: btf_dump_push_decl_stack_id
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - max
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: int btf_dump_push_decl_stack_id(struct btf_dump *d, __u32 id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf_dump.c:1276,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:1277,1
    - Dst: btf_dump_resize
      Src: /src/libbpf/src/btf_dump.c:1279,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:1281,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:1283,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:1284,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:1285,1
    - Dst: btf_dump_emit_type_decl
      Src: /src/libbpf/src/btf_dump.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - d
    - id
    - opts
    argTypes:
    - struct btf_dump*
    - __u32
    - struct btf_dump_emit_type_decl_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1289
    functionName: btf_dump__emit_type_decl
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - OPTS_VALID
    - btf_dump_resize
    - btf_dump_emit_type_decl
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf_dump__emit_type_decl(struct btf_dump *d, __u32 id,\n\t\t\t
      \    const struct btf_dump_emit_type_decl_opts *opts)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1300,1
    - Dst: btf_is_mod
      Src: /src/libbpf/src/btf_dump.c:1301,1
    - Dst: btf_dump_push_decl_stack_id
      Src: /src/libbpf/src/btf_dump.c:1304,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1311,1
    - Dst: errstr
      Src: /src/libbpf/src/btf_dump.c:1311,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1320,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:1330,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1342,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1343,1
    - Dst: btf_dump_emit_type_chain
      Src: /src/libbpf/src/btf_dump.c:1360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 4
    argNames:
    - d
    - id
    - fname
    - lvl
    argTypes:
    - struct btf_dump*
    - __u32
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1370
    functionName: btf_dump_emit_type_decl
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 3
    functionsReached:
    - btf__type_by_id
    - btf_dump_push_decl_stack_id
    - btf_is_mod
    - errstr
    - btf_array
    - btf_dump_emit_type_chain
    - btf_kind
    - pr_warn
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_type_decl(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \   const char *fname, int lvl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1379,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1381,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1383,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1386,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - d
    - decl_stack
    argTypes:
    - struct btf_dump*
    - struct id_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1396
    functionName: btf_dump_emit_mods
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_kind
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: void btf_dump_emit_mods(struct btf_dump *d, struct id_stack *decl_stack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1405,1
    - Dst: btf_is_mod
      Src: /src/libbpf/src/btf_dump.c:1406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - d
    - decl_stack
    argTypes:
    - struct btf_dump*
    - struct id_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1410
    functionName: btf_dump_drop_mods
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_is_mod
    linkageType: ''
    returnType: void
    signature: void btf_dump_drop_mods(struct btf_dump *d, struct id_stack *decl_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - d
    - name
    - last_was_ptr
    argTypes:
    - struct btf_dump*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1418
    functionName: btf_dump_emit_name
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_name(const struct btf_dump *d,\n\t\t\t       const
      char *name, bool last_was_ptr)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1443,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1444,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1449,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1450,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1455,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1456,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1457,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1461,1
    - Dst: btf_dump_emit_struct_def
      Src: /src/libbpf/src/btf_dump.c:1464,1
    - Dst: btf_dump_emit_struct_fwd
      Src: /src/libbpf/src/btf_dump.c:1466,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1470,1
    - Dst: btf_dump_emit_enum_def
      Src: /src/libbpf/src/btf_dump.c:1473,1
    - Dst: btf_dump_emit_enum_fwd
      Src: /src/libbpf/src/btf_dump.c:1475,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1478,1
    - Dst: btf_dump_emit_fwd_def
      Src: /src/libbpf/src/btf_dump.c:1479,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1482,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1483,1
    - Dst: btf_dump_ident_name
      Src: /src/libbpf/src/btf_dump.c:1483,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1486,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1489,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1492,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1495,1
    - Dst: btf_dump_emit_mods
      Src: /src/libbpf/src/btf_dump.c:1498,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1499,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:1500,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1501,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1503,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:1506,1
    - Dst: btf_dump_drop_mods
      Src: /src/libbpf/src/btf_dump.c:1520,1
    - Dst: btf_dump_emit_name
      Src: /src/libbpf/src/btf_dump.c:1523,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1524,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1529,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/btf_dump.c:1530,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1533,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1536,1
    - Dst: btf_dump_emit_type_chain
      Src: /src/libbpf/src/btf_dump.c:1537,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1539,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1540,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf_dump.c:1544,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:1545,1
    - Dst: btf_dump_drop_mods
      Src: /src/libbpf/src/btf_dump.c:1556,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1558,1
    - Dst: btf_dump_emit_type_chain
      Src: /src/libbpf/src/btf_dump.c:1559,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1560,1
    - Dst: btf_dump_emit_name
      Src: /src/libbpf/src/btf_dump.c:1562,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1564,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1574,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1580,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1584,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1588,1
    - Dst: btf_dump_emit_type_decl
      Src: /src/libbpf/src/btf_dump.c:1589,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1592,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1596,1
    - Dst: btf_dump_emit_name
      Src: /src/libbpf/src/btf_dump.c:1604,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 113
    argCount: 4
    argNames:
    - d
    - decls
    - fname
    - lvl
    argTypes:
    - struct btf_dump*
    - struct id_stack*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1420
    functionDepth: 5
    functionLinenumber: 1420
    functionLinenumberEnd: 1605
    functionName: btf_dump_emit_type_chain
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 2
    functionsReached:
    - btf_name_of
    - btf_dump_emit_enum_def
    - btf_vlen
    - btf_dump_drop_mods
    - btf_array
    - btf_dump_printf
    - btf_is_array
    - btf_dump_emit_mods
    - btf_dump_emit_enum_fwd
    - btf_dump_ident_name
    - btf__type_by_id
    - btf_dump_emit_struct_fwd
    - btf_dump_emit_struct_def
    - btf_kind
    - btf_kflag
    - btf_dump_emit_fwd_def
    - pr_warn
    - btf_dump_emit_name
    - btf_params
    - btf_dump_emit_type_chain
    - btf_dump_emit_type_decl
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_type_chain(struct btf_dump *d,\n\t\t\t\t     struct
      id_stack *decls,\n\t\t\t\t     const char *fname, int lvl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1623,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/btf_dump.c:1624,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/btf_dump.c:1624,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1628,1
    - Dst: btf_dump_emit_type_decl
      Src: /src/libbpf/src/btf_dump.c:1632,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - d
    - id
    - top_level
    argTypes:
    - struct btf_dump*
    - __u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1608
    functionDepth: 4
    functionLinenumber: 1608
    functionLinenumberEnd: 1638
    functionName: btf_dump_emit_type_cast
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_dump_emit_type_decl
    - btf_is_var
    - btf_is_datasec
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: "void btf_dump_emit_type_cast(struct btf_dump *d, __u32 id,\n\t\t\t\t
      \   bool top_level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libbpf/src/btf_dump.c:1648,1
    - Dst: hashmap__find
      Src: /src/libbpf/src/btf_dump.c:1652,1
    - Dst: hashmap__set
      Src: /src/libbpf/src/btf_dump.c:1655,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:1657,1
    - Dst: free
      Src: /src/libbpf/src/btf_dump.c:1659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - d
    - name_map
    - orig_name
    argTypes:
    - struct btf_dump*
    - struct hashmap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1662
    functionName: btf_dump_name_dups
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 2
    functionsReached:
    - strdup
    - free
    - hashmap__set
    - hashmap__find
    linkageType: ''
    returnType: size_t
    signature: "size_t btf_dump_name_dups(struct btf_dump *d, struct hashmap *name_map,\n\t\t\t\t
      const char *orig_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:1668,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:1669,1
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/btf_dump.c:1679,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf_dump.c:1679,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:1679,1
    - Dst: btf_dump_name_dups
      Src: /src/libbpf/src/btf_dump.c:1684,1
    - Dst: snprintf
      Src: /src/libbpf/src/btf_dump.c:1689,1
    - Dst: strdup
      Src: /src/libbpf/src/btf_dump.c:1690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - d
    - id
    - name_map
    argTypes:
    - struct btf_dump*
    - __u32
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1695
    functionName: btf_dump_resolve_name
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf_dump_name_dups
    - btf__type_by_id
    - strdup
    - btf_vlen
    - snprintf
    - btf_is_enum
    - btf_is_fwd
    linkageType: ''
    returnType: char
    signature: "char *btf_dump_resolve_name(struct btf_dump *d, __u32 id,\n\t\t\t\t\t
      struct hashmap *name_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_resolve_name
      Src: /src/libbpf/src/btf_dump.c:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1697
    functionDepth: 4
    functionLinenumber: 1697
    functionLinenumberEnd: 1700
    functionName: btf_dump_type_name
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 6
    functionsReached:
    - btf_dump_resolve_name
    linkageType: ''
    returnType: char
    signature: char *btf_dump_type_name(struct btf_dump *d, __u32 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_resolve_name
      Src: /src/libbpf/src/btf_dump.c:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - id
    argTypes:
    - struct btf_dump*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 4
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: btf_dump_ident_name
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 2
    functionsReached:
    - btf_dump_resolve_name
    linkageType: ''
    returnType: char
    signature: char *btf_dump_ident_name(struct btf_dump *d, __u32 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1718
    functionName: btf_dump_data_newline
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *btf_dump_data_newline(struct btf_dump *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1723
    functionName: btf_dump_data_delim
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *btf_dump_data_delim(struct btf_dump *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dump*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1734
    functionName: btf_dump_data_pfx
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_printf
    linkageType: ''
    returnType: void
    signature: void btf_dump_data_pfx(struct btf_dump *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1746
    functionName: btf_dump_type_values
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: btf_dump_type_values(d, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:1751,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - t
    - id
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1747
    functionDepth: 2
    functionLinenumber: 1747
    functionLinenumberEnd: 1753
    functionName: btf_dump_unsupported_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_kind
    - btf_dump_printf
    linkageType: ''
    returnType: int
    signature: "int btf_dump_unsupported_data(struct btf_dump *d,\n\t\t\t\t     const
      struct btf_type *t,\n\t\t\t\t     __u32 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - d
    - t
    - data
    - bits_offset
    - bit_sz
    - value
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - void*
    - __u8
    - __u8
    - __u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1803
    functionName: btf_dump_get_bitfield_value
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int btf_dump_get_bitfield_value(struct btf_dump *d,\n\t\t\t\t       const
      struct btf_type *t,\n\t\t\t\t       const void *data,\n\t\t\t\t       __u8 bits_offset,\n\t\t\t\t
      \      __u8 bit_sz,\n\t\t\t\t       __u64 *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_get_bitfield_value
      Src: /src/libbpf/src/btf_dump.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - d
    - t
    - data
    - bits_offset
    - bit_sz
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - void*
    - __u8
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1820
    functionName: btf_dump_bitfield_check_zero
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_get_bitfield_value
    linkageType: ''
    returnType: int
    signature: "int btf_dump_bitfield_check_zero(struct btf_dump *d,\n\t\t\t\t\tconst
      struct btf_type *t,\n\t\t\t\t\tconst void *data,\n\t\t\t\t\t__u8 bits_offset,\n\t\t\t\t\t__u8
      bit_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_get_bitfield_value
      Src: /src/libbpf/src/btf_dump.c:1831,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - d
    - t
    - data
    - bits_offset
    - bit_sz
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - void*
    - __u8
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1838
    functionName: btf_dump_bitfield_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_get_bitfield_value
    - btf_dump_type_values
    linkageType: ''
    returnType: int
    signature: "int btf_dump_bitfield_data(struct btf_dump *d,\n\t\t\t\t  const struct
      btf_type *t,\n\t\t\t\t  const void *data,\n\t\t\t\t  __u8 bits_offset,\n\t\t\t\t
      \ __u8 bit_sz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:1852,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1858,1
    - Dst: memcmp
      Src: /src/libbpf/src/btf_dump.c:1862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1865
    functionName: btf_dump_base_type_check_zero
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - memcmp
    - btf_kind
    linkageType: ''
    returnType: int
    signature: "int btf_dump_base_type_check_zero(struct btf_dump *d,\n\t\t\t\t\t
      const struct btf_type *t,\n\t\t\t\t\t __u32 id,\n\t\t\t\t\t const void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf_dump.c:1870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - btf
    - type_id
    - data
    argTypes:
    - struct btf*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1876
    functionName: ptr_is_aligned
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__align_of
    linkageType: ''
    returnType: bool
    signature: "bool ptr_is_aligned(const struct btf *btf, __u32 type_id,\n\t\t\t
      \  const void *data)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/btf_dump.c:1884,1
    - Dst: aligned
      Src: /src/libbpf/src/btf_dump.c:1886,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1890,1
    - Dst: ptr_is_aligned
      Src: /src/libbpf/src/btf_dump.c:1897,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf_dump.c:1898,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1920,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1922,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1928,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1930,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1934,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1936,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1940,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1942,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1950,1
    - Dst: isprint
      Src: /src/libbpf/src/btf_dump.c:1954,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1955,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1960,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1962,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:1965,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 5
    argNames:
    - d
    - t
    - type_id
    - data
    - bits_offset
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1878
    functionDepth: 2
    functionLinenumber: 1878
    functionLinenumberEnd: 1969
    functionName: btf_dump_int_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - aligned
    - isprint
    - btf_dump_type_values
    - btf_int_encoding
    - pr_warn
    - memcpy
    - ptr_is_aligned
    linkageType: ''
    returnType: int
    signature: "int btf_dump_int_data(struct btf_dump *d,\n\t\t\t     const struct
      btf_type *t,\n\t\t\t     __u32 type_id,\n\t\t\t     const void *data,\n\t\t\t
      \    __u8 bits_offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ptr_is_aligned
      Src: /src/libbpf/src/btf_dump.c:1987,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf_dump.c:1988,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1994,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:1997,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2000,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - d
    - t
    - type_id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1977
    functionDepth: 2
    functionLinenumber: 1977
    functionLinenumberEnd: 2007
    functionName: btf_dump_float_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_type_values
    - pr_warn
    - memcpy
    - ptr_is_aligned
    linkageType: ''
    returnType: int
    signature: "int btf_dump_float_data(struct btf_dump *d,\n\t\t\t       const struct
      btf_type *t,\n\t\t\t       __u32 type_id,\n\t\t\t       const void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_var
      Src: /src/libbpf/src/btf_dump.c:2014,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2035,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:2037,1
    - Dst: btf_dump_emit_type_cast
      Src: /src/libbpf/src/btf_dump.c:2038,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2039,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:2039,1
    - Dst: btf_dump_dump_type_data
      Src: /src/libbpf/src/btf_dump.c:2040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - d
    - v
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2009
    functionDepth: 5
    functionLinenumber: 2009
    functionLinenumberEnd: 2041
    functionName: btf_dump_var_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf__type_by_id
    - btf_var
    - btf_dump_dump_type_data
    - btf_dump_emit_type_cast
    - btf_dump_printf
    linkageType: ''
    returnType: int
    signature: "int btf_dump_var_data(struct btf_dump *d,\n\t\t\t     const struct
      btf_type *v,\n\t\t\t     __u32 id,\n\t\t\t     const void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:2048,1
    - Dst: btf_dump_data_pfx
      Src: /src/libbpf/src/btf_dump.c:2064,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2065,1
    - Dst: isprint
      Src: /src/libbpf/src/btf_dump.c:2078,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2079,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2081,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2084,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2087
    functionName: btf_dump_string_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_printf
    - isprint
    - btf_array
    - btf_dump_data_pfx
    linkageType: ''
    returnType: int
    signature: "int btf_dump_string_data(struct btf_dump *d,\n\t\t\t\tconst struct
      btf_type *t,\n\t\t\t\t__u32 id,\n\t\t\t\tconst void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:2094,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/btf_dump.c:2102,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/btf_dump.c:2103,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2105,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/btf_dump.c:2110,1
    - Dst: btf_dump_string_data
      Src: /src/libbpf/src/btf_dump.c:2118,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2133,1
    - Dst: btf_dump_data_newline
      Src: /src/libbpf/src/btf_dump.c:2133,1
    - Dst: btf_dump_dump_type_data
      Src: /src/libbpf/src/btf_dump.c:2145,1
    - Dst: btf_dump_data_pfx
      Src: /src/libbpf/src/btf_dump.c:2150,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2089
    functionDepth: 3
    functionLinenumber: 2089
    functionLinenumberEnd: 2154
    functionName: btf_dump_array_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_dump_data_newline
    - btf__resolve_size
    - btf_dump_dump_type_data
    - pr_warn
    - btf_dump_type_values
    - btf_dump_string_data
    - skip_mods_and_typedefs
    - btf_dump_data_pfx
    - btf_is_int
    - btf_array
    - btf_dump_printf
    linkageType: ''
    returnType: int
    signature: "int btf_dump_array_data(struct btf_dump *d,\n\t\t\t       const struct
      btf_type *t,\n\t\t\t       __u32 id,\n\t\t\t       const void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:2161,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:2162,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2173,1
    - Dst: btf_dump_data_newline
      Src: /src/libbpf/src/btf_dump.c:2173,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:2181,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:2182,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/btf_dump.c:2183,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/btf_dump.c:2185,1
    - Dst: btf_dump_dump_type_data
      Src: /src/libbpf/src/btf_dump.c:2186,1
    - Dst: btf_dump_data_pfx
      Src: /src/libbpf/src/btf_dump.c:2192,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2156
    functionDepth: 3
    functionLinenumber: 2156
    functionLinenumberEnd: 2195
    functionName: btf_dump_struct_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf__type_by_id
    - btf_dump_data_newline
    - btf_dump_dump_type_data
    - btf_dump_type_values
    - btf_vlen
    - btf_member_bitfield_size
    - btf_dump_data_pfx
    - btf_member_bit_offset
    - btf_members
    - btf_dump_printf
    linkageType: ''
    returnType: int
    signature: "int btf_dump_struct_data(struct btf_dump *d,\n\t\t\t\tconst struct
      btf_type *t,\n\t\t\t\t__u32 id,\n\t\t\t\tconst void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptr_is_aligned
      Src: /src/libbpf/src/btf_dump.c:2207,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2208,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf_dump.c:2212,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2214,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2202
    functionDepth: 2
    functionLinenumber: 2202
    functionLinenumberEnd: 2219
    functionName: btf_dump_ptr_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - memcpy
    - btf_dump_type_values
    - ptr_is_aligned
    linkageType: ''
    returnType: int
    signature: "int btf_dump_ptr_data(struct btf_dump *d,\n\t\t\t      const struct
      btf_type *t,\n\t\t\t      __u32 id,\n\t\t\t      const void *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:2227,1
    - Dst: ptr_is_aligned
      Src: /src/libbpf/src/btf_dump.c:2229,1
    - Dst: btf_dump_get_bitfield_value
      Src: /src/libbpf/src/btf_dump.c:2233,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - d
    - t
    - data
    - id
    - value
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - void*
    - __u32
    - __s64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2221
    functionDepth: 2
    functionLinenumber: 2221
    functionLinenumberEnd: 2257
    functionName: btf_dump_get_enum_value
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - btf_kflag
    - btf_dump_get_bitfield_value
    - ptr_is_aligned
    linkageType: ''
    returnType: int
    signature: "int btf_dump_get_enum_value(struct btf_dump *d,\n\t\t\t\t   const
      struct btf_type *t,\n\t\t\t\t   const void *data,\n\t\t\t\t   __u32 id,\n\t\t\t\t
      \  __s64 *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_get_enum_value
      Src: /src/libbpf/src/btf_dump.c:2268,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf_dump.c:2272,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf_dump.c:2273,1
    - Dst: btf_enum
      Src: /src/libbpf/src/btf_dump.c:2276,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:2276,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2279,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:2279,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2283,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf_dump.c:2287,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:2287,1
    - Dst: btf_enum64_value
      Src: /src/libbpf/src/btf_dump.c:2288,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2290,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:2290,1
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2259
    functionDepth: 3
    functionLinenumber: 2259
    functionLinenumberEnd: 2298
    functionName: btf_dump_enum_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf_enum64
    - btf_enum
    - btf_enum64_value
    - btf_vlen
    - btf_dump_get_enum_value
    - btf_is_enum
    - btf_kflag
    - btf_dump_type_values
    linkageType: ''
    returnType: int
    signature: "int btf_dump_enum_data(struct btf_dump *d,\n\t\t\t      const struct
      btf_type *t,\n\t\t\t      __u32 id,\n\t\t\t      const void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_type_values
      Src: /src/libbpf/src/btf_dump.c:2310,1
    - Dst: btf_name_of
      Src: /src/libbpf/src/btf_dump.c:2310,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/btf_dump.c:2312,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:2312,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:2313,1
    - Dst: btf_dump_dump_type_data
      Src: /src/libbpf/src/btf_dump.c:2314,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - d
    - t
    - id
    - data
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2300
    functionDepth: 2
    functionLinenumber: 2300
    functionLinenumberEnd: 2320
    functionName: btf_dump_datasec_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf_name_of
    - btf__type_by_id
    - btf_dump_dump_type_data
    - btf_vlen
    - btf_var_secinfos
    - btf_dump_printf
    - btf_dump_type_values
    linkageType: ''
    returnType: int
    signature: "int btf_dump_datasec_data(struct btf_dump *d,\n\t\t\t\t const struct
      btf_type *t,\n\t\t\t\t __u32 id,\n\t\t\t\t const void *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/btf_dump.c:2345,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2348,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/btf_dump.c:2360,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2362,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:2367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - d
    - t
    - id
    - data
    - bits_offset
    - bit_sz
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    - __u8
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2323
    functionDepth: 2
    functionLinenumber: 2323
    functionLinenumberEnd: 2380
    functionName: btf_dump_type_data_check_overflow
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__resolve_size
    - skip_mods_and_typedefs
    - pr_warn
    - btf_kind
    linkageType: ''
    returnType: int
    signature: "int btf_dump_type_data_check_overflow(struct btf_dump *d,\n\t\t\t\t\t
      \    const struct btf_type *t,\n\t\t\t\t\t     __u32 id,\n\t\t\t\t\t     const
      void *data,\n\t\t\t\t\t     __u8 bits_offset,\n\t\t\t\t\t     __u8 bit_sz)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/btf_dump.c:2408,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:2410,1
    - Dst: btf_dump_bitfield_check_zero
      Src: /src/libbpf/src/btf_dump.c:2413,1
    - Dst: btf_dump_base_type_check_zero
      Src: /src/libbpf/src/btf_dump.c:2414,1
    - Dst: btf_dump_base_type_check_zero
      Src: /src/libbpf/src/btf_dump.c:2417,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf_dump.c:2419,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/btf_dump.c:2425,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/btf_dump.c:2426,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/btf_dump.c:2428,1
    - Dst: btf_dump_type_data_check_zero
      Src: /src/libbpf/src/btf_dump.c:2439,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf_dump.c:2451,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_dump.c:2452,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:2461,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/btf_dump.c:2462,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/btf_dump.c:2468,1
    - Dst: btf_dump_type_data_check_zero
      Src: /src/libbpf/src/btf_dump.c:2469,1
    - Dst: btf_dump_get_enum_value
      Src: /src/libbpf/src/btf_dump.c:2478,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 6
    argNames:
    - d
    - t
    - id
    - data
    - bits_offset
    - bit_sz
    argTypes:
    - struct btf_dump*
    - struct btf_type*
    - __u32
    - void*
    - __u8
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2382
    functionDepth: 3
    functionLinenumber: 2382
    functionLinenumberEnd: 2487
    functionName: btf_dump_type_data_check_zero
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 1
    functionsReached:
    - btf__type_by_id
    - btf__resolve_size
    - btf_dump_base_type_check_zero
    - btf_dump_type_data_check_zero
    - btf_vlen
    - btf_dump_get_enum_value
    - skip_mods_and_typedefs
    - btf_kind
    - btf_dump_bitfield_check_zero
    - btf_is_int
    - btf_member_bitfield_size
    - btf_member_bit_offset
    - btf_members
    - btf_array
    linkageType: ''
    returnType: int
    signature: "int btf_dump_type_data_check_zero(struct btf_dump *d,\n\t\t\t\t\t
      const struct btf_type *t,\n\t\t\t\t\t __u32 id,\n\t\t\t\t\t const void *data,\n\t\t\t\t\t
      __u8 bits_offset,\n\t\t\t\t\t __u8 bit_sz)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: btf_dump_type_data_check_overflow
      Src: /src/libbpf/src/btf_dump.c:2500,1
    - Dst: btf_dump_type_data_check_zero
      Src: /src/libbpf/src/btf_dump.c:2503,1
    - Dst: btf_dump_data_pfx
      Src: /src/libbpf/src/btf_dump.c:2512,1
    - Dst: strlen
      Src: /src/libbpf/src/btf_dump.c:2515,1
    - Dst: btf_dump_printf
      Src: /src/libbpf/src/btf_dump.c:2516,1
    - Dst: btf_dump_emit_type_cast
      Src: /src/libbpf/src/btf_dump.c:2517,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/btf_dump.c:2520,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_dump.c:2522,1
    - Dst: btf_dump_unsupported_data
      Src: /src/libbpf/src/btf_dump.c:2528,1
    - Dst: btf_dump_bitfield_data
      Src: /src/libbpf/src/btf_dump.c:2532,1
    - Dst: btf_dump_int_data
      Src: /src/libbpf/src/btf_dump.c:2534,1
    - Dst: btf_dump_float_data
      Src: /src/libbpf/src/btf_dump.c:2537,1
    - Dst: btf_dump_ptr_data
      Src: /src/libbpf/src/btf_dump.c:2540,1
    - Dst: btf_dump_array_data
      Src: /src/libbpf/src/btf_dump.c:2543,1
    - Dst: btf_dump_struct_data
      Src: /src/libbpf/src/btf_dump.c:2547,1
    - Dst: btf_dump_get_bitfield_value
      Src: /src/libbpf/src/btf_dump.c:2556,1
    - Dst: btf_dump_enum_data
      Src: /src/libbpf/src/btf_dump.c:2561,1
    - Dst: btf_dump_enum_data
      Src: /src/libbpf/src/btf_dump.c:2563,1
    - Dst: btf_dump_var_data
      Src: /src/libbpf/src/btf_dump.c:2566,1
    - Dst: btf_dump_datasec_data
      Src: /src/libbpf/src/btf_dump.c:2569,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf_dump.c:2572,1
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/btf_dump.c:2573,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 7
    argNames:
    - d
    - fname
    - t
    - id
    - data
    - bits_offset
    - bit_sz
    argTypes:
    - struct btf_dump*
    - char*
    - struct btf_type*
    - __u32
    - void*
    - __u8
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2490
    functionDepth: 6
    functionLinenumber: 2490
    functionLinenumberEnd: 2579
    functionName: btf_dump_dump_type_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 4
    functionsReached:
    - btf_dump_array_data
    - btf_dump_bitfield_data
    - btf_dump_datasec_data
    - btf_dump_float_data
    - btf_dump_get_bitfield_value
    - btf_dump_printf
    - btf_dump_int_data
    - btf_dump_struct_data
    - btf_dump_ptr_data
    - strlen
    - skip_mods_and_typedefs
    - btf_dump_data_pfx
    - btf_dump_type_data_check_overflow
    - btf_dump_type_data_check_zero
    - btf_dump_emit_type_cast
    - btf_kind
    - btf_dump_var_data
    - BTF_INFO_KIND
    - pr_warn
    - btf_dump_unsupported_data
    - btf_dump_enum_data
    linkageType: ''
    returnType: int
    signature: "int btf_dump_dump_type_data(struct btf_dump *d,\n\t\t\t\t   const
      char *fname,\n\t\t\t\t   const struct btf_type *t,\n\t\t\t\t   __u32 id,\n\t\t\t\t
      \  const void *data,\n\t\t\t\t   __u8 bits_offset,\n\t\t\t\t   __u8 bit_sz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf_dump.c:2589,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:2590,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf_dump.c:2592,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:2594,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2598,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2601,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/btf_dump.c:2604,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2607,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2608,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2609,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf_dump.c:2610,1
    - Dst: btf_dump_dump_type_data
      Src: /src/libbpf/src/btf_dump.c:2612,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf_dump.c:2616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - d
    - id
    - data
    - data_sz
    - opts
    argTypes:
    - struct btf_dump*
    - __u32
    - void*
    - size_t
    - struct btf_dump_type_data_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2581
    functionDepth: 7
    functionLinenumber: 2581
    functionLinenumberEnd: 2617
    functionName: btf_dump__dump_type_data
    functionSourceFile: /src/libbpf/src/btf_dump.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - libbpf_strlcpy
    - OPTS_GET
    - btf_dump_dump_type_data
    - OPTS_VALID
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf_dump__dump_type_data(struct btf_dump *d, __u32 id,\n\t\t\t
      \    const void *data, size_t data_sz,\n\t\t\t     const struct btf_dump_type_data_opts
      *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:59,1
    - Dst: socket
      Src: /src/libbpf/src/netlink.c:62,1
    - Dst: setsockopt
      Src: /src/libbpf/src/netlink.c:66,1
    - Dst: pr_warn
      Src: /src/libbpf/src/netlink.c:68,1
    - Dst: bind
      Src: /src/libbpf/src/netlink.c:71,1
    - Dst: getsockname
      Src: /src/libbpf/src/netlink.c:77,1
    - Dst: close
      Src: /src/libbpf/src/netlink.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - nl_pid
    - proto
    argTypes:
    - __u32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 93
    functionName: libbpf_netlink_open
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - bind
    - getsockname
    - memset
    - socket
    - close
    - setsockopt
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int libbpf_netlink_open(__u32 *nl_pid, int proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libbpf/src/netlink.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: libbpf_netlink_close
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void libbpf_netlink_close(int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recvmsg
      Src: /src/libbpf/src/netlink.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - sock
    - mhdr
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: netlink_recvmsg
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - recvmsg
    linkageType: ''
    returnType: int
    signature: int netlink_recvmsg(int sock, struct msghdr *mhdr, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libbpf/src/netlink.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iov
    - len
    argTypes:
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: alloc_iov
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int alloc_iov(struct iovec *iov, int len)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: alloc_iov
      Src: /src/libbpf/src/netlink.c:146,1
    - Dst: netlink_recvmsg
      Src: /src/libbpf/src/netlink.c:153,1
    - Dst: alloc_iov
      Src: /src/libbpf/src/netlink.c:160,1
    - Dst: netlink_recvmsg
      Src: /src/libbpf/src/netlink.c:165,1
    - Dst: NLMSG_OK
      Src: /src/libbpf/src/netlink.c:174,1
    - Dst: NLMSG_NEXT
      Src: /src/libbpf/src/netlink.c:175,1
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/netlink.c:188,1
    - Dst: libbpf_nla_dump_errormsg
      Src: /src/libbpf/src/netlink.c:192,1
    - Dst: _fn
      Src: /src/libbpf/src/netlink.c:201,1
    - Dst: pr_warn
      Src: /src/libbpf/src/netlink.c:216,1
    - Dst: free
      Src: /src/libbpf/src/netlink.c:220,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 6
    argNames:
    - sock
    - nl_pid
    - seq
    - _fn
    - fn
    - cookie
    argTypes:
    - int
    - __u32
    - int
    - __dump_nlmsg_t
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 222
    functionName: libbpf_netlink_recv
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - NLMSG_OK
    - _fn
    - libbpf_nla_dump_errormsg
    - NLMSG_NEXT
    - netlink_recvmsg
    - NLMSG_DATA
    - alloc_iov
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int libbpf_netlink_recv(int sock, __u32 nl_pid, int seq,\n\t\t\t       __dump_nlmsg_t
      _fn, libbpf_dump_nlmsg_t fn,\n\t\t\t       void *cookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_netlink_open
      Src: /src/libbpf/src/netlink.c:232,1
    - Dst: time
      Src: /src/libbpf/src/netlink.c:237,1
    - Dst: send
      Src: /src/libbpf/src/netlink.c:239,1
    - Dst: libbpf_netlink_recv
      Src: /src/libbpf/src/netlink.c:244,1
    - Dst: libbpf_netlink_close
      Src: /src/libbpf/src/netlink.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - req
    - proto
    - parse_msg
    - parse_attr
    - cookie
    argTypes:
    - struct libbpf_nla_req*
    - int
    - __dump_nlmsg_t
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: libbpf_netlink_send_recv
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - libbpf_netlink_recv
    - send
    - libbpf_netlink_open
    - time
    - libbpf_netlink_close
    linkageType: ''
    returnType: int
    signature: "int libbpf_netlink_send_recv(struct libbpf_nla_req *req,\n\t\t\t\t
      \   int proto, __dump_nlmsg_t parse_msg,\n\t\t\t\t    libbpf_dump_nlmsg_t parse_attr,\n\t\t\t\t
      \   void *cookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/netlink.c:254,1
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/netlink.c:259,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/libbpf/src/netlink.c:260,1
    - Dst: libbpf_nla_getattr_u16
      Src: /src/libbpf/src/netlink.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - nh
    - fn
    - cookie
    argTypes:
    - struct nlmsghdr*
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: parse_genl_family_id
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - NLMSG_DATA
    - libbpf_nla_parse
    - NLMSG_PAYLOAD
    - libbpf_nla_getattr_u16
    linkageType: ''
    returnType: int
    signature: "int parse_genl_family_id(struct nlmsghdr *nh, libbpf_dump_nlmsg_t
      fn,\n\t\t\t\tvoid *cookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:272,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:280,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - len
    - id
    argTypes:
    - char*
    - __u16
    - __u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: libbpf_netlink_resolve_genl_family_id
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - NLMSG_LENGTH
    - libbpf_netlink_send_recv
    linkageType: ''
    returnType: int
    signature: "int libbpf_netlink_resolve_genl_family_id(const char *name,\n\t\t\t\t\t\t
      __u16 len, __u16 *id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:295,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:296,1
    - Dst: nlattr_begin_nested
      Src: /src/libbpf/src/netlink.c:302,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:305,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:309,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:314,1
    - Dst: nlattr_end_nested
      Src: /src/libbpf/src/netlink.c:319,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ifindex
    - fd
    - old_fd
    - flags
    argTypes:
    - int
    - int
    - int
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 322
    functionName: __bpf_set_link_xdp_fd_replace
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - nlattr_end_nested
    - libbpf_netlink_send_recv
    - memset
    - NLMSG_LENGTH
    - nlattr_begin_nested
    linkageType: ''
    returnType: int
    signature: "int __bpf_set_link_xdp_fd_replace(int ifindex, int fd, int old_fd,\n\t\t\t\t\t
      __u32 flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:328,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:329,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:331,1
    - Dst: __bpf_set_link_xdp_fd_replace
      Src: /src/libbpf/src/netlink.c:337,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ifindex
    - prog_fd
    - flags
    - opts
    argTypes:
    - int
    - int
    - __u32
    - struct bpf_xdp_attach_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 339
    functionName: bpf_xdp_attach
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - OPTS_VALID
    - __bpf_set_link_xdp_fd_replace
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, const struct
      bpf_xdp_attach_opts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_xdp_attach
      Src: /src/libbpf/src/netlink.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ifindex
    - flags
    - opts
    argTypes:
    - int
    - __u32
    - struct bpf_xdp_attach_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: bpf_xdp_detach
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - bpf_xdp_attach
    linkageType: ''
    returnType: int
    signature: int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts
      *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/netlink.c:350,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:353,1
    - Dst: NLMSG_ALIGN
      Src: /src/libbpf/src/netlink.c:354,1
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/netlink.c:356,1
    - Dst: dump_link_nlmsg
      Src: /src/libbpf/src/netlink.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - nlh
    - dump_link_nlmsg
    - cookie
    argTypes:
    - struct nlmsghdr*
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: __dump_link_nlmsg
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - NLMSG_LENGTH
    - libbpf_nla_parse
    - NLMSG_ALIGN
    - NLMSG_DATA
    - dump_link_nlmsg
    linkageType: ''
    returnType: int
    signature: "int __dump_link_nlmsg(struct nlmsghdr *nlh,\n\t\t\t     libbpf_dump_nlmsg_t
      dump_link_nlmsg, void *cookie)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_parse_nested
      Src: /src/libbpf/src/netlink.c:375,1
    - Dst: libbpf_nla_getattr_u8
      Src: /src/libbpf/src/netlink.c:382,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:389,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:393,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:397,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - cookie
    - msg
    - tb
    argTypes:
    - void*
    - void*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 405
    functionName: get_xdp_info
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - libbpf_nla_getattr_u32
    - libbpf_nla_parse_nested
    - libbpf_nla_getattr_u8
    linkageType: ''
    returnType: int
    signature: int get_xdp_info(void *cookie, void *msg, struct nlattr **tb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/netlink.c:410,1
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/netlink.c:416,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/libbpf/src/netlink.c:417,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:422,1
    - Dst: libbpf_nla_getattr_u64
      Src: /src/libbpf/src/netlink.c:426,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - nh
    - fn
    - cookie
    argTypes:
    - struct nlmsghdr*
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 431
    functionName: parse_xdp_features
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - libbpf_nla_getattr_u32
    - libbpf_nla_getattr_u64
    - NLMSG_DATA
    - libbpf_nla_parse
    - NLMSG_PAYLOAD
    linkageType: ''
    returnType: int
    signature: "int parse_xdp_features(struct nlmsghdr *nh, libbpf_dump_nlmsg_t fn,\n\t\t\t
      \     void *cookie)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:436,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:448,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:449,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:452,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:457,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:462,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:465,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:467,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:468,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:469,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:470,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:471,1
    - Dst: OPTS_HAS
      Src: /src/libbpf/src/netlink.c:473,1
    - Dst: libbpf_netlink_resolve_genl_family_id
      Src: /src/libbpf/src/netlink.c:476,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:482,1
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:485,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:486,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:492,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:494,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:496,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:499,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:501,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:502,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - ifindex
    - xdp_flags
    - opts
    argTypes:
    - int
    - int
    - struct bpf_xdp_query_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 506
    functionName: bpf_xdp_query
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - libbpf_netlink_send_recv
    - memset
    - OPTS_SET
    - NLMSG_LENGTH
    - OPTS_VALID
    - OPTS_HAS
    - libbpf_netlink_resolve_genl_family_id
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_xdp_query(int ifindex, int xdp_flags, struct bpf_xdp_query_opts
      *opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/netlink.c:510,1
    - Dst: bpf_xdp_query
      Src: /src/libbpf/src/netlink.c:513,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ifindex
    - flags
    - prog_id
    argTypes:
    - int
    - int
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 531
    functionName: bpf_xdp_query_id
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_xdp_query
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TC_H_MAKE
      Src: /src/libbpf/src/netlink.c:539,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - hook
    argTypes:
    - struct libbpf_nla_req*
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: clsact_config
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - TC_H_MAKE
    linkageType: ''
    returnType: int
    signature: int clsact_config(struct libbpf_nla_req *req, const struct bpf_tc_hook
      *hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:546,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:548,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:549,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:551,1
    - Dst: strlen
      Src: /src/libbpf/src/netlink.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - hook
    argTypes:
    - struct libbpf_nla_req*
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: qdisc_config
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - strlen
    - nlattr_add
    linkageType: ''
    returnType: int
    signature: int qdisc_config(struct libbpf_nla_req *req, const struct bpf_tc_hook
      *hook)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:557,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - hook
    - config
    argTypes:
    - struct bpf_tc_hook*
    - qdisc_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 573
    functionName: attach_point_to_config
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    linkageType: ''
    returnType: int
    signature: "int attach_point_to_config(struct bpf_tc_hook *hook,\n\t\t\t\t  qdisc_config_t
      *config)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TC_H_MAKE
      Src: /src/libbpf/src/netlink.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - attach_point
    - parent
    argTypes:
    - enum bpf_tc_attach_point
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 595
    functionName: tc_get_tcm_parent
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - TC_H_MAKE
    linkageType: ''
    returnType: int
    signature: "int tc_get_tcm_parent(enum bpf_tc_attach_point attach_point,\n\t\t\t
      \    __u32 *parent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attach_point_to_config
      Src: /src/libbpf/src/netlink.c:603,1
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:607,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:608,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:612,1
    - Dst: config
      Src: /src/libbpf/src/netlink.c:614,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - hook
    - cmd
    - flags
    argTypes:
    - struct bpf_tc_hook*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 619
    functionName: tc_qdisc_modify
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - libbpf_netlink_send_recv
    - memset
    - OPTS_GET
    - NLMSG_LENGTH
    - attach_point_to_config
    - config
    linkageType: ''
    returnType: int
    signature: int tc_qdisc_modify(struct bpf_tc_hook *hook, int cmd, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc_qdisc_modify
      Src: /src/libbpf/src/netlink.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 4
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: tc_qdisc_create_excl
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - tc_qdisc_modify
    linkageType: ''
    returnType: int
    signature: int tc_qdisc_create_excl(struct bpf_tc_hook *hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tc_qdisc_modify
      Src: /src/libbpf/src/netlink.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hook
    argTypes:
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: tc_qdisc_delete
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - tc_qdisc_modify
    linkageType: ''
    returnType: int
    signature: int tc_qdisc_delete(struct bpf_tc_hook *hook)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:635,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:636,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:637,1
    - Dst: tc_qdisc_create_excl
      Src: /src/libbpf/src/netlink.c:639,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - hook
    argTypes:
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: bpf_tc_hook_create
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - OPTS_VALID
    - tc_qdisc_create_excl
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_tc_hook_create(struct bpf_tc_hook *hook)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:649,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:650,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:651,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:653,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:656,1
    - Dst: __bpf_tc_detach
      Src: /src/libbpf/src/netlink.c:656,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:659,1
    - Dst: tc_qdisc_delete
      Src: /src/libbpf/src/netlink.c:659,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:661,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - hook
    argTypes:
    - struct bpf_tc_hook*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: bpf_tc_hook_destroy
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - tc_qdisc_delete
    - OPTS_VALID
    - __bpf_tc_detach
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_tc_hook_destroy(struct bpf_tc_hook *hook)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_parse_nested
      Src: /src/libbpf/src/netlink.c:685,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:689,1
    - Dst: libbpf_nla_getattr_u32
      Src: /src/libbpf/src/netlink.c:689,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:690,1
    - Dst: OPTS_SET
      Src: /src/libbpf/src/netlink.c:691,1
    - Dst: TC_H_MAJ
      Src: /src/libbpf/src/netlink.c:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - cookie
    - tc
    - tb
    - unicast
    argTypes:
    - void*
    - struct tcmsg*
    - struct nlattr**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 695
    functionName: __get_tc_info
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - libbpf_nla_getattr_u32
    - OPTS_SET
    - libbpf_nla_parse_nested
    - TC_H_MAJ
    linkageType: ''
    returnType: int
    signature: "int __get_tc_info(void *cookie, struct tcmsg *tc, struct nlattr **tb,\n\t\t\t
      bool unicast)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/netlink.c:700,1
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/netlink.c:703,1
    - Dst: NLMSG_ALIGN
      Src: /src/libbpf/src/netlink.c:704,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/libbpf/src/netlink.c:705,1
    - Dst: __get_tc_info
      Src: /src/libbpf/src/netlink.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - nh
    - fn
    - cookie
    argTypes:
    - struct nlmsghdr*
    - libbpf_dump_nlmsg_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 709
    functionName: get_tc_info
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 1
    functionsReached:
    - __get_tc_info
    - NLMSG_ALIGN
    - NLMSG_DATA
    - libbpf_nla_parse
    - NLMSG_PAYLOAD
    linkageType: ''
    returnType: int
    signature: "int get_tc_info(struct nlmsghdr *nh, libbpf_dump_nlmsg_t fn,\n\t\t
      \      void *cookie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:718,1
    - Dst: bpf_prog_get_info_by_fd
      Src: /src/libbpf/src/netlink.c:719,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:723,1
    - Dst: snprintf
      Src: /src/libbpf/src/netlink.c:726,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - req
    - fd
    argTypes:
    - struct libbpf_nla_req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 3
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: tc_add_fd_and_name
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - memset
    - bpf_prog_get_info_by_fd
    - snprintf
    - nlattr_add
    linkageType: ''
    returnType: int
    signature: int tc_add_fd_and_name(struct libbpf_nla_req *req, int fd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:743,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:744,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:745,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:747,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:748,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:749,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:751,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:752,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:753,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:754,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:755,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:758,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:760,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:762,1
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:767,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:768,1
    - Dst: TC_H_MAKE
      Src: /src/libbpf/src/netlink.c:775,1
    - Dst: htons
      Src: /src/libbpf/src/netlink.c:775,1
    - Dst: tc_get_tcm_parent
      Src: /src/libbpf/src/netlink.c:777,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:779,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:782,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:784,1
    - Dst: nlattr_begin_nested
      Src: /src/libbpf/src/netlink.c:785,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:787,1
    - Dst: tc_add_fd_and_name
      Src: /src/libbpf/src/netlink.c:788,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:790,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:792,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:794,1
    - Dst: nlattr_end_nested
      Src: /src/libbpf/src/netlink.c:795,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:799,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:802,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - hook
    - opts
    argTypes:
    - struct bpf_tc_hook*
    - struct bpf_tc_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 734
    functionDepth: 4
    functionLinenumber: 734
    functionLinenumberEnd: 806
    functionName: bpf_tc_attach
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - nlattr_end_nested
    - libbpf_netlink_send_recv
    - OPTS_GET
    - memset
    - tc_add_fd_and_name
    - NLMSG_LENGTH
    - nlattr_begin_nested
    - OPTS_VALID
    - tc_get_tcm_parent
    - TC_H_MAKE
    - htons
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_tc_attach(const struct bpf_tc_hook *hook, struct bpf_tc_opts
      *opts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:817,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:818,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:821,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:822,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:823,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:825,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:826,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:827,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:828,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:829,1
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:844,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:845,1
    - Dst: TC_H_MAKE
      Src: /src/libbpf/src/netlink.c:852,1
    - Dst: htons
      Src: /src/libbpf/src/netlink.c:852,1
    - Dst: tc_get_tcm_parent
      Src: /src/libbpf/src/netlink.c:855,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:861,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:866,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - hook
    - opts
    - flush
    argTypes:
    - struct bpf_tc_hook*
    - struct bpf_tc_opts*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 867
    functionName: __bpf_tc_detach
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 1
    functionsReached:
    - nlattr_add
    - libbpf_netlink_send_recv
    - OPTS_GET
    - memset
    - NLMSG_LENGTH
    - OPTS_VALID
    - tc_get_tcm_parent
    - TC_H_MAKE
    - htons
    linkageType: ''
    returnType: int
    signature: "int __bpf_tc_detach(const struct bpf_tc_hook *hook,\n\t\t\t   const
      struct bpf_tc_opts *opts,\n\t\t\t   const bool flush)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:875,1
    - Dst: __bpf_tc_detach
      Src: /src/libbpf/src/netlink.c:877,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hook
    - opts
    argTypes:
    - struct bpf_tc_hook*
    - struct bpf_tc_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 869
    functionDepth: 4
    functionLinenumber: 869
    functionLinenumberEnd: 879
    functionName: bpf_tc_detach
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 2
    functionsReached:
    - __bpf_tc_detach
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_tc_detach(const struct bpf_tc_hook *hook,\n\t\t  const struct
      bpf_tc_opts *opts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:889,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/netlink.c:890,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:891,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:893,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:894,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:895,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:897,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:898,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:899,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:900,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/netlink.c:901,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:905,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:907,1
    - Dst: memset
      Src: /src/libbpf/src/netlink.c:911,1
    - Dst: NLMSG_LENGTH
      Src: /src/libbpf/src/netlink.c:912,1
    - Dst: TC_H_MAKE
      Src: /src/libbpf/src/netlink.c:918,1
    - Dst: htons
      Src: /src/libbpf/src/netlink.c:918,1
    - Dst: tc_get_tcm_parent
      Src: /src/libbpf/src/netlink.c:920,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:922,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/netlink.c:925,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:927,1
    - Dst: libbpf_netlink_send_recv
      Src: /src/libbpf/src/netlink.c:931,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:934,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/netlink.c:936,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - hook
    - opts
    argTypes:
    - struct bpf_tc_hook*
    - struct bpf_tc_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 938
    functionName: bpf_tc_query
    functionSourceFile: /src/libbpf/src/netlink.c
    functionUses: 0
    functionsReached:
    - nlattr_add
    - libbpf_netlink_send_recv
    - OPTS_GET
    - memset
    - NLMSG_LENGTH
    - OPTS_VALID
    - tc_get_tcm_parent
    - TC_H_MAKE
    - htons
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_tc_query(const struct bpf_tc_hook *hook, struct bpf_tc_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: ptr_to_u64
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 ptr_to_u64(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libbpf/src/features.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: probe_fd
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int probe_fd(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/features.c:24,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:26,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:27,1
    - Dst: memset
      Src: /src/libbpf/src/features.c:32,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/features.c:34,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/features.c:35,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:36,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/features.c:40,1
    - Dst: sys_bpf_prog_load
      Src: /src/libbpf/src/features.c:43,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: probe_kern_prog_name
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - libbpf_strlcpy
    - BPF_MOV64_IMM
    - memset
    - sys_bpf_prog_load
    - probe_fd
    - ARRAY_SIZE
    - ptr_to_u64
    - offsetofend
    linkageType: ''
    returnType: int
    signature: int probe_kern_prog_name(int token_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BPF_LD_MAP_VALUE
      Src: /src/libbpf/src/features.c:50,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/features.c:51,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:52,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:53,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:55,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:59,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:63,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/features.c:65,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:68,1
    - Dst: errstr
      Src: /src/libbpf/src/features.c:69,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:75,1
    - Dst: close
      Src: /src/libbpf/src/features.c:76,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 78
    functionName: probe_kern_global_data
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - bpf_map_create
    - BPF_MOV64_IMM
    - probe_fd
    - close
    - BPF_LD_MAP_VALUE
    - errstr
    - ARRAY_SIZE
    - BPF_ST_MEM
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int probe_kern_global_data(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:85,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:88,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: probe_kern_btf
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - libbpf__load_raw_btf
    - BTF_TYPE_INT_ENC
    - probe_fd
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:98,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:100,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:100,1
    - Dst: BTF_PARAM_ENC
      Src: /src/libbpf/src/features.c:101,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:103,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:103,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:106,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: probe_kern_btf_func
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_PARAM_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_func(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:116,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:118,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:118,1
    - Dst: BTF_PARAM_ENC
      Src: /src/libbpf/src/features.c:119,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:121,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:121,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:124,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: probe_kern_btf_func_global
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_PARAM_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_func_global(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:134,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:136,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:136,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:139,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:139,1
    - Dst: BTF_VAR_SECINFO_ENC
      Src: /src/libbpf/src/features.c:140,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:143,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: probe_kern_btf_datasec
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_VAR_SECINFO_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_datasec(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:153,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:155,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:155,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:158,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:158,1
    - Dst: BTF_VAR_SECINFO_ENC
      Src: /src/libbpf/src/features.c:159,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:162,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: probe_kern_btf_qmark_datasec
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_VAR_SECINFO_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_qmark_datasec(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_FLOAT_ENC
      Src: /src/libbpf/src/features.c:171,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:174,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: probe_kern_btf_float
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - libbpf__load_raw_btf
    - probe_fd
    - BTF_TYPE_FLOAT_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_float(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:183,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:185,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:185,1
    - Dst: BTF_TYPE_DECL_TAG_ENC
      Src: /src/libbpf/src/features.c:188,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:191,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: probe_kern_btf_decl_tag
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_TYPE_DECL_TAG_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_decl_tag(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:200,1
    - Dst: BTF_TYPE_TYPE_TAG_ENC
      Src: /src/libbpf/src/features.c:202,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:204,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:204,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:207,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: probe_kern_btf_type_tag
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_TYPE_TYPE_TAG_ENC
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_type_tag(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:213,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/features.c:219,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: probe_kern_array_mmap
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - probe_fd
    - bpf_map_create
    linkageType: ''
    returnType: int
    signature: int probe_kern_array_mmap(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:225,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:231,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:232,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:234,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:241,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: probe_kern_exp_attach_type
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - BPF_MOV64_IMM
    - probe_fd
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int probe_kern_exp_attach_type(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:247,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/features.c:252,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/features.c:253,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:254,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:255,1
    - Dst: BPF_RAW_INSN
      Src: /src/libbpf/src/features.c:256,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:257,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:259,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:261,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: probe_kern_probe_read_kernel
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - BPF_MOV64_IMM
    - probe_fd
    - BPF_MOV64_REG
    - BPF_RAW_INSN
    - ARRAY_SIZE
    - BPF_ALU64_IMM
    linkageType: ''
    returnType: int
    signature: int probe_kern_probe_read_kernel(int token_fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:268,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:269,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:271,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:275,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:279,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/features.c:281,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:284,1
    - Dst: errstr
      Src: /src/libbpf/src/features.c:285,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:289,1
    - Dst: close
      Src: /src/libbpf/src/features.c:291,1
    - Dst: bpf_prog_bind_map
      Src: /src/libbpf/src/features.c:295,1
    - Dst: close
      Src: /src/libbpf/src/features.c:297,1
    - Dst: close
      Src: /src/libbpf/src/features.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 301
    functionName: probe_prog_bind_map
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - bpf_map_create
    - BPF_MOV64_IMM
    - bpf_prog_bind_map
    - close
    - errstr
    - ARRAY_SIZE
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int probe_prog_bind_map(int token_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:308,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:315,1
    - Dst: memset
      Src: /src/libbpf/src/features.c:319,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/features.c:320,1
    - Dst: bpf_btf_get_info_by_fd
      Src: /src/libbpf/src/features.c:327,1
    - Dst: close
      Src: /src/libbpf/src/features.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 330
    functionName: probe_module_btf
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - memset
    - libbpf__load_raw_btf
    - close
    - ptr_to_u64
    - bpf_btf_get_info_by_fd
    linkageType: ''
    returnType: int
    signature: int probe_module_btf(int token_fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:335,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:336,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:338,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:344,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:345,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/features.c:352,1
    - Dst: close
      Src: /src/libbpf/src/features.c:356,1
    - Dst: close
      Src: /src/libbpf/src/features.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 360
    functionName: probe_perf_link
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - BPF_MOV64_IMM
    - bpf_link_create
    - close
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int probe_perf_link(int token_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:364,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:369,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/features.c:371,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:372,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:377,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:378,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/features.c:387,1
    - Dst: close
      Src: /src/libbpf/src/features.c:392,1
    - Dst: close
      Src: /src/libbpf/src/features.c:393,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/features.c:417,1
    - Dst: close
      Src: /src/libbpf/src/features.c:421,1
    - Dst: close
      Src: /src/libbpf/src/features.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 425
    functionName: probe_uprobe_multi_link
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - BPF_MOV64_IMM
    - bpf_link_create
    - close
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int probe_uprobe_multi_link(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BPF_RAW_INSN
      Src: /src/libbpf/src/features.c:430,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:431,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:433,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:437,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:439,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: probe_kern_bpf_cookie
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - probe_fd
    - BPF_RAW_INSN
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int probe_kern_bpf_cookie(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:447,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:447,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:450,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: probe_kern_btf_enum64
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - libbpf__load_raw_btf
    - probe_fd
    - BTF_INFO_ENC
    - BTF_TYPE_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_enum64(int token_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:459,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:461,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:461,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:463,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:463,1
    - Dst: BTF_PARAM_ENC
      Src: /src/libbpf/src/features.c:464,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:466,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:466,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:468,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:468,1
    - Dst: BTF_PARAM_ENC
      Src: /src/libbpf/src/features.c:469,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/features.c:471,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/features.c:471,1
    - Dst: BTF_TYPE_DECL_TAG_ENC
      Src: /src/libbpf/src/features.c:473,1
    - Dst: BPF_CALL_REL
      Src: /src/libbpf/src/features.c:477,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:478,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/features.c:480,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:481,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:487,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:491,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/features.c:493,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:499,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:502,1
    - Dst: close
      Src: /src/libbpf/src/features.c:504,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 507
    functionName: probe_kern_arg_ctx_tag
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - BPF_CALL_REL
    - BTF_TYPE_INT_ENC
    - BTF_PARAM_ENC
    - LIBBPF_OPTS
    - BTF_TYPE_DECL_TAG_ENC
    - BPF_EMIT_CALL
    - bpf_prog_load
    - probe_fd
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - close
    - ARRAY_SIZE
    - BTF_INFO_ENC
    linkageType: ''
    returnType: int
    signature: int probe_kern_arg_ctx_tag(int token_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:514,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/features.c:518,1
    - Dst: BPF_LD_MAP_VALUE
      Src: /src/libbpf/src/features.c:525,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/features.c:526,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/features.c:528,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/features.c:530,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:533,1
    - Dst: errstr
      Src: /src/libbpf/src/features.c:534,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/features.c:540,1
    - Dst: close
      Src: /src/libbpf/src/features.c:543,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:546,1
    - Dst: close
      Src: /src/libbpf/src/features.c:547,1
    - Dst: strstr
      Src: /src/libbpf/src/features.c:559,1
    - Dst: strstr
      Src: /src/libbpf/src/features.c:562,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 569
    functionName: probe_ldimm64_full_range_off
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - LIBBPF_OPTS
    - bpf_prog_load
    - bpf_map_create
    - strstr
    - close
    - BPF_LD_MAP_VALUE
    - errstr
    - ARRAY_SIZE
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int probe_ldimm64_full_range_off(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libbpf/src/features.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: probe_uprobe_syscall
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int probe_uprobe_syscall(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: probe_uprobe_syscall
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int probe_uprobe_syscall(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/features.c:597,1
    - Dst: probe_fd
      Src: /src/libbpf/src/features.c:614,1
    - Dst: libbpf__load_raw_btf_hdr
      Src: /src/libbpf/src/features.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 616
    functionName: probe_kern_btf_layout
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - probe_fd
    - libbpf__load_raw_btf_hdr
    linkageType: ''
    returnType: int
    signature: int probe_kern_btf_layout(int token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: probe_sys_bpf_ext
      Src: /src/libbpf/src/features.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: probe_bpf_syscall_common_attrs
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 0
    functionsReached:
    - probe_sys_bpf_ext
    linkageType: ''
    returnType: int
    signature: int probe_bpf_syscall_common_attrs(int token_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: READ_ONCE
      Src: /src/libbpf/src/features.c:721,1
    - Dst: struct kern_feature_desc*::probe
      Src: /src/libbpf/src/features.c:722,1
    - Dst: WRITE_ONCE
      Src: /src/libbpf/src/features.c:724,1
    - Dst: WRITE_ONCE
      Src: /src/libbpf/src/features.c:726,1
    - Dst: pr_warn
      Src: /src/libbpf/src/features.c:728,1
    - Dst: errstr
      Src: /src/libbpf/src/features.c:729,1
    - Dst: WRITE_ONCE
      Src: /src/libbpf/src/features.c:730,1
    - Dst: READ_ONCE
      Src: /src/libbpf/src/features.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cache
    - feat_id
    argTypes:
    - struct kern_feature_cache*
    - enum kern_feature_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 735
    functionName: feat_supported
    functionSourceFile: /src/libbpf/src/features.c
    functionUses: 3
    functionsReached:
    - struct kern_feature_desc*::probe
    - errstr
    - WRITE_ONCE
    - READ_ONCE
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: bool feat_supported(struct kern_feature_cache *cache, enum kern_feature_id
      feat_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - bits
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: hash_bits
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_bits(size_t h, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: str_hash
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t str_hash(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: hashmap_cast_ptr
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap_cast_ptr(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - ','
    - strategy
    - ','
    - old_key
    - ','
    - old_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: hashmap__insert
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__insert(map, key, value, strategy, old_key, old_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: hashmap__add
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__add(map, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - ','
    - old_key
    - ','
    - old_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: hashmap__set
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__set(map, key, value, old_key, old_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - ','
    - old_key
    - ','
    - old_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: hashmap__update
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__update(map, key, value, old_key, old_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: hashmap__append
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__append(map, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - old_key
    - ','
    - old_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: hashmap__delete
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__delete(map, key, old_key, old_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - key
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: hashmap__find
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__find(map, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - cur
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: hashmap__for_each_entry
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__for_each_entry(map, cur, bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - cur
    - ','
    - tmp
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: hashmap__for_each_entry_safe
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__for_each_entry_safe(map, cur, tmp, bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - cur
    - ','
    - _key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: hashmap__for_each_key_entry
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__for_each_key_entry(map, cur, _key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - cur
    - ','
    - tmp
    - ','
    - _key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: hashmap__for_each_key_entry_safe
    functionSourceFile: /src/libbpf/src/hashmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmap__for_each_key_entry_safe(map, cur, tmp, _key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pprev
    - entry
    argTypes:
    - struct hashmap_entry**
    - struct hashmap_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: hashmap_add_entry
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hashmap_add_entry(struct hashmap_entry **pprev,\n\t\t\t      struct
      hashmap_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pprev
    - entry
    argTypes:
    - struct hashmap_entry**
    - struct hashmap_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: hashmap_del_entry
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hashmap_del_entry(struct hashmap_entry **pprev,\n\t\t\t      struct
      hashmap_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - map
    - hash_fn
    - equal_fn
    - ctx
    argTypes:
    - struct hashmap*
    - hashmap_hash_fn
    - hashmap_equal_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: hashmap__init
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hashmap__init(struct hashmap *map, hashmap_hash_fn hash_fn,\n\t\t
      \  hashmap_equal_fn equal_fn, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libbpf/src/hashmap.c:55,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/hashmap.c:58,1
    - Dst: hashmap__init
      Src: /src/libbpf/src/hashmap.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hash_fn
    - equal_fn
    - ctx
    argTypes:
    - hashmap_hash_fn
    - hashmap_equal_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: hashmap__new
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 2
    functionsReached:
    - hashmap__init
    - malloc
    - ERR_PTR
    linkageType: ''
    returnType: struct hashmap
    signature: "struct hashmap *hashmap__new(hashmap_hash_fn hash_fn,\n\t\t\t     hashmap_equal_fn
      equal_fn,\n\t\t\t     void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:69,1
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: hashmap__clear
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hashmap__clear(struct hashmap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: hashmap__for_each_entry_safe
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hashmap__for_each_entry_safe(map, cur, tmp, bkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/hashmap.c:78,1
    - Dst: hashmap__clear
      Src: /src/libbpf/src/hashmap.c:81,1
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: hashmap__free
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 2
    functionsReached:
    - hashmap__clear
    - free
    - IS_ERR_OR_NULL
    linkageType: ''
    returnType: void
    signature: void hashmap__free(struct hashmap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: hashmap__size
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hashmap__size(const struct hashmap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: hashmap__capacity
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hashmap__capacity(const struct hashmap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: hashmap_needs_to_grow
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hashmap_needs_to_grow(struct hashmap *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/hashmap.c:113,1
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:118,1
    - Dst: struct hashmap*::hash_fn
      Src: /src/libbpf/src/hashmap.c:118,1
    - Dst: hashmap_add_entry
      Src: /src/libbpf/src/hashmap.c:119,1
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: hashmap_grow
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - hash_bits
    - hashmap_add_entry
    - calloc
    - struct hashmap*::hash_fn
    - free
    linkageType: ''
    returnType: int
    signature: int hashmap_grow(struct hashmap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:118,1
    - Dst: hash_fn
      Src: /src/libbpf/src/hashmap.c:118,1
    - Dst: hashmap_add_entry
      Src: /src/libbpf/src/hashmap.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: hashmap__for_each_entry_safe
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - hash_bits
    - hashmap_add_entry
    - hash_fn
    linkageType: ''
    returnType: void
    signature: void hashmap__for_each_entry_safe(map, cur, tmp, bkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct hashmap*::equal_fn
      Src: /src/libbpf/src/hashmap.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - map
    - key
    - hash
    - pprev
    - entry
    argTypes:
    - struct hashmap*
    - long
    - size_t
    - struct hashmap_entry***
    - struct hashmap_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: hashmap_find_entry
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - struct hashmap*::equal_fn
    linkageType: ''
    returnType: bool
    signature: "bool hashmap_find_entry(const struct hashmap *map,\n\t\t\t       const
      long key, size_t hash,\n\t\t\t       struct hashmap_entry ***pprev,\n\t\t\t
      \      struct hashmap_entry **entry)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:167,1
    - Dst: struct hashmap*::hash_fn
      Src: /src/libbpf/src/hashmap.c:167,1
    - Dst: hashmap_find_entry
      Src: /src/libbpf/src/hashmap.c:169,1
    - Dst: hashmap_needs_to_grow
      Src: /src/libbpf/src/hashmap.c:187,1
    - Dst: hashmap_grow
      Src: /src/libbpf/src/hashmap.c:188,1
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:191,1
    - Dst: struct hashmap*::hash_fn
      Src: /src/libbpf/src/hashmap.c:191,1
    - Dst: malloc
      Src: /src/libbpf/src/hashmap.c:194,1
    - Dst: hashmap_add_entry
      Src: /src/libbpf/src/hashmap.c:200,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - map
    - key
    - value
    - strategy
    - old_key
    - old_value
    argTypes:
    - struct hashmap*
    - long
    - long
    - enum hashmap_insert_strategy
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 204
    functionName: hashmap_insert
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - hash_bits
    - hashmap_find_entry
    - hashmap_add_entry
    - struct hashmap*::hash_fn
    - malloc
    - hashmap_needs_to_grow
    - hashmap_grow
    linkageType: ''
    returnType: int
    signature: "int hashmap_insert(struct hashmap *map, long key, long value,\n\t\t
      \  enum hashmap_insert_strategy strategy,\n\t\t   long *old_key, long *old_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:211,1
    - Dst: struct hashmap*::hash_fn
      Src: /src/libbpf/src/hashmap.c:211,1
    - Dst: hashmap_find_entry
      Src: /src/libbpf/src/hashmap.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - struct hashmap*
    - long
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: hashmap_find
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - hash_bits
    - struct hashmap*::hash_fn
    - hashmap_find_entry
    linkageType: ''
    returnType: bool
    signature: bool hashmap_find(const struct hashmap *map, long key, long *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hash_bits
      Src: /src/libbpf/src/hashmap.c:226,1
    - Dst: struct hashmap*::hash_fn
      Src: /src/libbpf/src/hashmap.c:226,1
    - Dst: hashmap_find_entry
      Src: /src/libbpf/src/hashmap.c:227,1
    - Dst: hashmap_del_entry
      Src: /src/libbpf/src/hashmap.c:235,1
    - Dst: free
      Src: /src/libbpf/src/hashmap.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - map
    - key
    - old_key
    - old_value
    argTypes:
    - struct hashmap*
    - long
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: hashmap_delete
    functionSourceFile: /src/libbpf/src/hashmap.c
    functionUses: 0
    functionsReached:
    - hashmap_del_entry
    - hash_bits
    - hashmap_find_entry
    - struct hashmap*::hash_fn
    - free
    linkageType: ''
    returnType: bool
    signature: "bool hashmap_delete(struct hashmap *map, long key,\n\t\t    long *old_key,
      long *old_value)"
  - 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: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: __printf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __printf(a, b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libbpf/src/libbpf.c:249,1
    - Dst: strcasecmp
      Src: /src/libbpf/src/libbpf.c:251,1
    - Dst: strcasecmp
      Src: /src/libbpf/src/libbpf.c:253,1
    - Dst: strcasecmp
      Src: /src/libbpf/src/libbpf.c:255,1
    - Dst: fprintf
      Src: /src/libbpf/src/libbpf.c:258,1
    - Dst: vfprintf
      Src: /src/libbpf/src/libbpf.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - level
    - format
    - args
    argTypes:
    - enum libbpf_print_level
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: __base_pr
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    - strcasecmp
    - getenv
    linkageType: ''
    returnType: int
    signature: "int __base_pr(enum libbpf_print_level level, const char *format,\n\t\t
      \    va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_exchange_n
      Src: /src/libbpf/src/libbpf.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fn
    argTypes:
    - libbpf_print_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: libbpf_set_print
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    linkageType: ''
    returnType: libbpf_print_fn_t
    signature: libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/libbpf/src/libbpf.c:288,1
    - Dst: va_start
      Src: /src/libbpf/src/libbpf.c:294,1
    - Dst: print_fn
      Src: /src/libbpf/src/libbpf.c:295,1
    - Dst: va_end
      Src: /src/libbpf/src/libbpf.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - level
    - format
    argTypes:
    - enum libbpf_print_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: libbpf_print
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - __atomic_load_n
    - print_fn
    linkageType: ''
    returnType: void
    signature: void libbpf_print(enum libbpf_print_level level, const char *format,
      ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/libbpf/src/libbpf.c:306,1
    - Dst: getrlimit
      Src: /src/libbpf/src/libbpf.c:309,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:317,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:319,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:321,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 325
    functionName: pr_perm_msg
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getrlimit
    - pr_warn
    - snprintf
    linkageType: ''
    returnType: void
    signature: void pr_perm_msg(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: zfree
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zfree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: zclose
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zclose(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: ptr_to_u64
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 ptr_to_u64(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum libbpf_strict_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: libbpf_set_strict_mode
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int libbpf_set_strict_mode(enum libbpf_strict_mode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: libbpf_major_version
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 libbpf_major_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: libbpf_minor_version
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 libbpf_minor_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _S
      Src: /src/libbpf/src/libbpf.c:366,1
    - Dst: _S
      Src: /src/libbpf/src/libbpf.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: libbpf_version_string
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - _S
    linkageType: ''
    returnType: char
    signature: char *libbpf_version_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: __S
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __S(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: _S
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _S(X)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zclose
      Src: /src/libbpf/src/libbpf.c:800,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:802,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:803,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: bpf_program__unload
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - zclose
    linkageType: ''
    returnType: void
    signature: void bpf_program__unload(struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__unload
      Src: /src/libbpf/src/libbpf.c:812,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:813,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:814,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:815,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 821
    functionName: bpf_program__exit
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - bpf_program__unload
    linkageType: ''
    returnType: void
    signature: void bpf_program__exit(struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libbpf/src/libbpf.c:825,1
    - Dst: BPF_OP
      Src: /src/libbpf/src/libbpf.c:826,1
    - Dst: BPF_SRC
      Src: /src/libbpf/src/libbpf.c:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 831
    functionName: insn_is_subprog_call
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - BPF_OP
    - BPF_SRC
    - BPF_CLASS
    linkageType: ''
    returnType: bool
    signature: bool insn_is_subprog_call(const struct bpf_insn *insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: is_call_insn
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_call_insn(const struct bpf_insn *insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_ldimm64_insn
      Src: /src/libbpf/src/libbpf.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: insn_is_pseudo_func
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - is_ldimm64_insn
    linkageType: ''
    returnType: bool
    signature: bool insn_is_pseudo_func(struct bpf_insn *insn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:849,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:854,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:884,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:888,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:892,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:895,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:899,1
    - Dst: bpf_program__exit
      Src: /src/libbpf/src/libbpf.c:900,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 8
    argNames:
    - obj
    - prog
    - name
    - sec_idx
    - sec_name
    - sec_off
    - insn_data
    - insn_data_sz
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - char*
    - size_t
    - char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 902
    functionName: bpf_object__init_prog
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - strdup
    - bpf_program__exit
    - malloc
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_prog(struct bpf_object *obj, struct bpf_program
      *prog,\n\t\t      const char *name, size_t sec_idx, const char *sec_name,\n\t\t
      \     size_t sec_off, void *insn_data, size_t insn_data_sz)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:921,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/libbpf.c:925,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:931,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:933,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:939,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:944,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:945,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:949,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:952,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:959,1
    - Dst: bpf_object__init_prog
      Src: /src/libbpf/src/libbpf.c:967,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:972,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/libbpf.c:980,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/libbpf.c:981,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - obj
    - sec_data
    - sec_name
    - sec_idx
    argTypes:
    - struct bpf_object*
    - Elf_Data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 904
    functionDepth: 4
    functionLinenumber: 904
    functionLinenumberEnd: 989
    functionName: bpf_object__add_programs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sym_by_idx
    - bpf_object__init_prog
    - libbpf_reallocarray
    - ELF64_ST_VISIBILITY
    - ELF64_ST_BIND
    - pr_debug
    - pr_warn
    - ELF64_ST_TYPE
    - elf_sym_str
    linkageType: ''
    returnType: int
    signature: "int bpf_object__add_programs(struct bpf_object *obj, Elf_Data *sec_data,\n\t\t\t
      const char *sec_name, int sec_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_insn_bswap
      Src: /src/libbpf/src/libbpf.c:1000,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1003
    functionName: bpf_object_bswap_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_insn_bswap
    - pr_debug
    linkageType: ''
    returnType: void
    signature: void bpf_object_bswap_progs(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:1011,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1011,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/libbpf.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - t
    - bit_offset
    argTypes:
    - struct btf_type*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: find_member_by_offset
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_member_bit_offset
    - btf_vlen
    - btf_members
    linkageType: ''
    returnType: struct btf_member
    signature: 'struct btf_member *

      find_member_by_offset(const struct btf_type *t, __u32 bit_offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:1026,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1026,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:1027,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - btf
    - t
    - name
    argTypes:
    - struct btf*
    - struct btf_type*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: find_member_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_members
    - btf__name_by_offset
    - strcmp
    linkageType: ''
    returnType: struct btf_member
    signature: "struct btf_member *\nfind_member_by_name(const struct btf *btf, const
      struct btf_type *t,\n\t\t    const char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:1056,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/libbpf.c:1057,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:1059,1
    - Dst: find_ksym_btf_id
      Src: /src/libbpf/src/libbpf.c:1066,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1068,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1071,1
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:1073,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1075,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1078,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:1086,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1087,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1091,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 8
    argNames:
    - obj
    - tname_raw
    - mod_btf
    - type
    - type_id
    - vtype
    - vtype_id
    - data_member
    argTypes:
    - struct bpf_object*
    - char*
    - struct module_btf**
    - struct btf_type**
    - __u32*
    - struct btf_type**
    - __u32*
    - struct btf_member**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1104
    functionName: find_struct_ops_kern_types
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - bpf_core_essential_name_len
    - btf_vlen
    - find_ksym_btf_id
    - snprintf
    - btf__find_by_name_kind
    - btf_members
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int find_struct_ops_kern_types(struct bpf_object *obj, const char
      *tname_raw,\n\t\t\t   struct module_btf **mod_btf,\n\t\t\t   const struct btf_type
      **type, __u32 *type_id,\n\t\t\t   const struct btf_type **vtype, __u32 *vtype_id,\n\t\t\t
      \  const struct btf_member **data_member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: bpf_map__is_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map__is_struct_ops(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1122
    functionName: is_valid_st_ops_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_valid_st_ops_program(struct bpf_object *obj,\n\t\t\t\t    const
      struct bpf_program *prog)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:1147,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1150,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1167
    functionName: bpf_object_adjust_struct_ops_autoload
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    - btf_vlen
    - btf__type_by_id
    linkageType: ''
    returnType: int
    signature: int bpf_object_adjust_struct_ops_autoload(struct bpf_object *obj)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1185,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:1186,1
    - Dst: find_struct_ops_kern_types
      Src: /src/libbpf/src/libbpf.c:1187,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1196,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:1203,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:1211,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1212,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:1222,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:1225,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1227,1
    - Dst: find_member_by_name
      Src: /src/libbpf/src/libbpf.c:1232,1
    - Dst: libbpf_is_mem_zeroed
      Src: /src/libbpf/src/libbpf.c:1234,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1235,1
    - Dst: pr_info
      Src: /src/libbpf/src/libbpf.c:1253,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:1258,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/libbpf.c:1259,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/libbpf.c:1260,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1261,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:1269,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:1270,1
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/libbpf.c:1272,1
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/libbpf.c:1273,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1274,1
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/libbpf.c:1275,1
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/libbpf.c:1276,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:1280,1
    - Dst: is_valid_st_ops_program
      Src: /src/libbpf/src/libbpf.c:1294,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1295,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:1300,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:1308,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1309,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1331,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1337,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1345,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:1352,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1354,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1360,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:1363,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1367
    functionName: bpf_map__init_kern_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - find_member_by_name
    - btf_vlen
    - btf_members
    - btf__name_by_offset
    - btf_is_func_proto
    - btf__resolve_size
    - btf_member_bitfield_size
    - skip_mods_and_typedefs
    - btf__type_by_id
    - find_struct_ops_kern_types
    - libbpf_is_mem_zeroed
    - is_valid_st_ops_program
    - BTF_INFO_KIND
    - pr_warn
    - pr_info
    - calloc
    - btf_is_ptr
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_map__init_kern_struct_ops(struct bpf_map *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:1378,1
    - Dst: bpf_map__init_kern_struct_ops
      Src: /src/libbpf/src/libbpf.c:1384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1369
    functionDepth: 4
    functionLinenumber: 1369
    functionLinenumberEnd: 1390
    functionName: bpf_object__init_kern_struct_ops_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    - bpf_map__init_kern_struct_ops
    linkageType: ''
    returnType: int
    signature: int bpf_object__init_kern_struct_ops_maps(struct bpf_object *obj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:1408,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1411,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1416,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:1417,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1418,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1419,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:1420,1
    - Dst: btf__resolve_type
      Src: /src/libbpf/src/libbpf.c:1422,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1424,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1429,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:1430,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1432,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:1435,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1436,1
    - Dst: bpf_object__add_map
      Src: /src/libbpf/src/libbpf.c:1440,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:1441,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:1442,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:1446,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:1464,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:1467,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:1471,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:1472,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1472,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:1473,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1473,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1479,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:1484,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1489,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 4
    argNames:
    - obj
    - sec_name
    - shndx
    - data
    argTypes:
    - struct bpf_object*
    - char*
    - int
    - Elf_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1494
    functionName: init_struct_ops_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__add_map
    - memcpy
    - btf__type_by_id
    - btf__name_by_offset
    - IS_ERR
    - strdup
    - strcmp
    - pr_debug
    - PTR_ERR
    - btf_vlen
    - calloc
    - btf__resolve_type
    - btf_var_secinfos
    - btf__find_by_name_kind
    - malloc
    - pr_warn
    - btf_is_struct
    linkageType: ''
    returnType: int
    signature: "int init_struct_ops_maps(struct bpf_object *obj, const char *sec_name,\n\t\t\t\tint
      shndx, Elf_Data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:1507,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:1507,1
    - Dst: init_struct_ops_maps
      Src: /src/libbpf/src/libbpf.c:1511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1517
    functionName: bpf_object_init_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sec_name
    - init_struct_ops_maps
    - elf_sec_by_idx
    linkageType: ''
    returnType: int
    signature: int bpf_object_init_struct_ops(struct bpf_object *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:1527,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:1527,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1529,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:1530,1
    - Dst: strcpy
      Src: /src/libbpf/src/libbpf.c:1533,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/libbpf.c:1535,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/libbpf.c:1538,1
    - Dst: basename
      Src: /src/libbpf/src/libbpf.c:1538,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:1539,1
    - Dst: get_kernel_version
      Src: /src/libbpf/src/libbpf.c:1557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - path
    - obj_buf
    - obj_buf_sz
    - obj_name
    argTypes:
    - char*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1561
    functionName: bpf_object__new
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - basename
    - strchr
    - libbpf_strlcpy
    - get_kernel_version
    - strlen
    - calloc
    - strcpy
    - pr_warn
    - ERR_PTR
    linkageType: ''
    returnType: struct bpf_object
    signature: "struct bpf_object *bpf_object__new(const char *path,\n\t\t\t\t\t  const
      void *obj_buf,\n\t\t\t\t\t  size_t obj_buf_sz,\n\t\t\t\t\t  const char *obj_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_end
      Src: /src/libbpf/src/libbpf.c:1568,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:1574,1
    - Dst: zclose
      Src: /src/libbpf/src/libbpf.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1579
    functionName: bpf_object__elf_finish
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - zclose
    - elf_end
    linkageType: ''
    returnType: void
    signature: void bpf_object__elf_finish(struct bpf_object *obj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1588,1
    - Dst: elf_memory
      Src: /src/libbpf/src/libbpf.c:1594,1
    - Dst: open
      Src: /src/libbpf/src/libbpf.c:1596,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1599,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:1599,1
    - Dst: elf_begin
      Src: /src/libbpf/src/libbpf.c:1603,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1607,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:1607,1
    - Dst: elf_kind
      Src: /src/libbpf/src/libbpf.c:1614,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1616,1
    - Dst: gelf_getclass
      Src: /src/libbpf/src/libbpf.c:1620,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1622,1
    - Dst: elf64_getehdr
      Src: /src/libbpf/src/libbpf.c:1626,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1628,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:1628,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1637,1
    - Dst: elf_getshdrstrndx
      Src: /src/libbpf/src/libbpf.c:1643,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1644,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:1645,1
    - Dst: elf_rawdata
      Src: /src/libbpf/src/libbpf.c:1651,1
    - Dst: elf_getscn
      Src: /src/libbpf/src/libbpf.c:1651,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1652,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:1653,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1660,1
    - Dst: bpf_object__elf_finish
      Src: /src/libbpf/src/libbpf.c:1667,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1581
    functionDepth: 2
    functionLinenumber: 1581
    functionLinenumberEnd: 1669
    functionName: bpf_object__elf_init
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_errmsg
    - elf_kind
    - elf_memory
    - elf64_getehdr
    - elf_getscn
    - elf_getshdrstrndx
    - open
    - bpf_object__elf_finish
    - elf_begin
    - errstr
    - gelf_getclass
    - elf_rawdata
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__elf_init(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1680
    functionName: is_native_endianness
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_native_endianness(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1686,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/libbpf.c:1692,1
    - Dst: min
      Src: /src/libbpf/src/libbpf.c:1692,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - data
    - size
    argTypes:
    - struct bpf_object*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1695
    functionName: bpf_object__init_license
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - min
    - libbpf_strlcpy
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__init_license(struct bpf_object *obj, void *data, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1703,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:1706,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - data
    - size
    argTypes:
    - struct bpf_object*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1710
    functionName: bpf_object__init_kversion
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_object__init_kversion(struct bpf_object *obj, void *data, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum bpf_map_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1718
    functionName: bpf_map_type__is_map_in_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map_type__is_map_in_map(enum bpf_map_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_by_name
      Src: /src/libbpf/src/libbpf.c:1728,1
    - Dst: elf_sec_data
      Src: /src/libbpf/src/libbpf.c:1729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - name
    - size
    argTypes:
    - struct bpf_object*
    - char*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1736
    functionName: find_elf_sec_sz
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sec_data
    - elf_sec_by_name
    linkageType: ''
    returnType: int
    signature: int find_elf_sec_sz(const struct bpf_object *obj, const char *name,
      __u32 *size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:1745,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/libbpf.c:1747,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:1750,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:1751,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:1754,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:1756,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:1757,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:1759,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:1763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1764
    functionName: find_elf_var_sym
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sym_by_idx
    - strcmp
    - ELF64_ST_BIND
    - pr_warn
    - ELF64_ST_TYPE
    - elf_sym_str
    - ERR_PTR
    linkageType: ''
    returnType: Elf64_Sym
    signature: Elf64_Sym *find_elf_var_sym(const struct bpf_object *obj, const char
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure_good_fd
      Src: /src/libbpf/src/libbpf.c:1779,1
    - Dst: sys_memfd_create
      Src: /src/libbpf/src/libbpf.c:1779,1
    - Dst: ensure_good_fd
      Src: /src/libbpf/src/libbpf.c:1786,1
    - Dst: sys_memfd_create
      Src: /src/libbpf/src/libbpf.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1790
    functionName: create_placeholder_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sys_memfd_create
    - ensure_good_fd
    linkageType: ''
    returnType: int
    signature: int create_placeholder_fd(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:1797,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:1800,1
    - Dst: create_placeholder_fd
      Src: /src/libbpf/src/libbpf.c:1816,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:1818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1792
    functionDepth: 2
    functionLinenumber: 1792
    functionLinenumberEnd: 1823
    functionName: bpf_object__add_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - libbpf_ensure_mem
    - create_placeholder_fd
    - ERR_PTR
    linkageType: ''
    returnType: struct bpf_map
    signature: struct bpf_map *bpf_object__add_map(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf.c:1827,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:1830,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value_sz
    - max_entries
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1833
    functionName: array_map_mmap_sz
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sysconf
    - roundup
    linkageType: ''
    returnType: size_t
    signature: size_t array_map_mmap_sz(unsigned int value_sz, unsigned int max_entries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf.c:1837,1
    - Dst: array_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1847
    functionName: bpf_map_mmap_sz
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sysconf
    - array_map_mmap_sz
    linkageType: ''
    returnType: size_t
    signature: size_t bpf_map_mmap_sz(const struct bpf_map *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/libbpf/src/libbpf.c:1859,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:1863,1
    - Dst: min
      Src: /src/libbpf/src/libbpf.c:1863,1
    - Dst: munmap
      Src: /src/libbpf/src/libbpf.c:1864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - map
    - old_sz
    - new_sz
    argTypes:
    - struct bpf_map*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1867
    functionName: bpf_map_mmap_resize
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - munmap
    - min
    - mmap
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_map_mmap_resize(struct bpf_map *map, size_t old_sz, size_t
      new_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libbpf/src/libbpf.c:1872,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:1872,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:1911,1
    - Dst: min
      Src: /src/libbpf/src/libbpf.c:1914,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:1914,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:1916,1
    - Dst: isalnum
      Src: /src/libbpf/src/libbpf.c:1921,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:1924,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - real_name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1925
    functionName: internal_map_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - strdup
    - strlen
    - isalnum
    - snprintf
    - max
    - min
    linkageType: ''
    returnType: char
    signature: char *internal_map_name(struct bpf_object *obj, const char *real_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1944,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:1945,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:1948,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:1949,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:1950,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:1951,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:1954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1935
    functionDepth: 3
    functionLinenumber: 1935
    functionLinenumberEnd: 1959
    functionName: map_is_mmapable
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_var
    - btf_vlen
    - btf_var_secinfos
    - btf_is_var
    - btf_is_datasec
    linkageType: ''
    returnType: bool
    signature: bool map_is_mmapable(struct bpf_object *obj, struct bpf_map *map)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__add_map
      Src: /src/libbpf/src/libbpf.c:1970,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:1971,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:1972,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:1977,1
    - Dst: internal_map_name
      Src: /src/libbpf/src/libbpf.c:1978,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:1980,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:1981,1
    - Dst: map_fill_btf_type_info
      Src: /src/libbpf/src/libbpf.c:1994,1
    - Dst: map_is_mmapable
      Src: /src/libbpf/src/libbpf.c:1996,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:1999,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:2002,1
    - Dst: mmap
      Src: /src/libbpf/src/libbpf.c:2003,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2008,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:2008,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:2009,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:2010,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:2015,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 6
    argNames:
    - obj
    - type
    - real_name
    - sec_idx
    - data
    - data_sz
    argTypes:
    - struct bpf_object*
    - enum libbpf_map_type
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 1961
    functionDepth: 4
    functionLinenumber: 1961
    functionLinenumberEnd: 2019
    functionName: bpf_object__init_internal_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__add_map
    - memcpy
    - mmap
    - map_is_mmapable
    - IS_ERR
    - strdup
    - internal_map_name
    - pr_debug
    - zfree
    - PTR_ERR
    - bpf_map_mmap_sz
    - errstr
    - pr_warn
    - map_fill_btf_type_info
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_internal_map(struct bpf_object *obj, enum libbpf_map_type
      type,\n\t\t\t      const char *real_name, int sec_idx, void *data, size_t data_sz)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:2039,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:2039,1
    - Dst: bpf_object__init_internal_map
      Src: /src/libbpf/src/libbpf.c:2040,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:2047,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:2047,1
    - Dst: bpf_object__init_internal_map
      Src: /src/libbpf/src/libbpf.c:2048,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:2054,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:2054,1
    - Dst: bpf_object__init_internal_map
      Src: /src/libbpf/src/libbpf.c:2055,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2021
    functionDepth: 5
    functionLinenumber: 2021
    functionLinenumberEnd: 2068
    functionName: bpf_object__init_global_data_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__init_internal_map
    - elf_sec_name
    - elf_sec_by_idx
    linkageType: ''
    returnType: int
    signature: int bpf_object__init_global_data_maps(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2081
    functionName: find_extern_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct extern_desc
    signature: "struct extern_desc *find_extern_by_name(const struct bpf_object *obj,\n\t\t\t\t\t
      \      const void *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:2091,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:2091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - name
    - len
    argTypes:
    - struct bpf_object*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2095
    functionName: find_extern_by_name_with_len
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: struct extern_desc
    signature: "struct extern_desc *find_extern_by_name_with_len(const struct bpf_object
      *obj,\n\t\t\t\t\t\t\tconst void *name, int len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2103,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ext
    - ext_val
    - value
    argTypes:
    - struct extern_desc*
    - void*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2130
    functionName: set_kcfg_value_tri
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int set_kcfg_value_tri(struct extern_desc *ext, void *ext_val,\n\t\t\t
      \     char value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2138,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:2143,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2145,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2153,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ext
    - ext_val
    - value
    argTypes:
    - struct extern_desc*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2161
    functionName: set_kcfg_value_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strlen
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int set_kcfg_value_str(struct extern_desc *ext, char *ext_val,\n\t\t\t
      \     const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/libbpf/src/libbpf.c:2169,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2172,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:2172,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - value
    - res
    argTypes:
    - char*
    - __u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2180
    functionName: parse_u64
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - errstr
    - strtoull
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_u64(const char *value, __u64 *res)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ext
    - v
    argTypes:
    - struct extern_desc*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2205
    functionName: is_kcfg_value_in_range
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_kcfg_value_in_range(const struct extern_desc *ext, __u64 v)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2212,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2217,1
    - Dst: is_kcfg_value_in_range
      Src: /src/libbpf/src/libbpf.c:2222,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - ext
    - ext_val
    - value
    argTypes:
    - struct extern_desc*
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2245
    functionName: set_kcfg_value_num
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - is_kcfg_value_in_range
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int set_kcfg_value_num(struct extern_desc *ext, void *ext_val,\n\t\t\t
      \     __u64 value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:2256,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:2259,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2261,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:2266,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2273,1
    - Dst: find_extern_by_name
      Src: /src/libbpf/src/libbpf.c:2277,1
    - Dst: set_kcfg_value_tri
      Src: /src/libbpf/src/libbpf.c:2286,1
    - Dst: set_kcfg_value_str
      Src: /src/libbpf/src/libbpf.c:2289,1
    - Dst: parse_u64
      Src: /src/libbpf/src/libbpf.c:2293,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2295,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2299,1
    - Dst: set_kcfg_value_num
      Src: /src/libbpf/src/libbpf.c:2302,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2307,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - obj
    - buf
    - data
    argTypes:
    - struct bpf_object*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2247
    functionDepth: 2
    functionLinenumber: 2247
    functionLinenumberEnd: 2309
    functionName: bpf_object__process_kconfig_line
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - str_has_pfx
    - set_kcfg_value_str
    - pr_debug
    - parse_u64
    - strlen
    - set_kcfg_value_tri
    - set_kcfg_value_num
    - pr_warn
    - find_extern_by_name
    linkageType: ''
    returnType: int
    signature: "int bpf_object__process_kconfig_line(struct bpf_object *obj,\n\t\t\t\t\t
      \   char *buf, void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/libbpf/src/libbpf.c:2318,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:2319,1
    - Dst: gzopen
      Src: /src/libbpf/src/libbpf.c:2326,1
    - Dst: gzopen
      Src: /src/libbpf/src/libbpf.c:2328,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2331,1
    - Dst: gzgets
      Src: /src/libbpf/src/libbpf.c:2335,1
    - Dst: bpf_object__process_kconfig_line
      Src: /src/libbpf/src/libbpf.c:2336,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2338,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:2339,1
    - Dst: gzclose
      Src: /src/libbpf/src/libbpf.c:2345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - obj
    - data
    argTypes:
    - struct bpf_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2311
    functionDepth: 3
    functionLinenumber: 2311
    functionLinenumberEnd: 2347
    functionName: bpf_object__read_kconfig_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - gzopen
    - gzclose
    - uname
    - errstr
    - gzgets
    - snprintf
    - bpf_object__process_kconfig_line
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__read_kconfig_file(struct bpf_object *obj, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/libbpf/src/libbpf.c:2356,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:2356,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2359,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:2359,1
    - Dst: fgets
      Src: /src/libbpf/src/libbpf.c:2363,1
    - Dst: bpf_object__process_kconfig_line
      Src: /src/libbpf/src/libbpf.c:2364,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2366,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:2367,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:2372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - config
    - data
    argTypes:
    - struct bpf_object*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2349
    functionDepth: 3
    functionLinenumber: 2349
    functionLinenumberEnd: 2374
    functionName: bpf_object__read_kconfig_mem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - strlen
    - errstr
    - bpf_object__process_kconfig_line
    - fmemopen
    - pr_warn
    - fgets
    linkageType: ''
    returnType: int
    signature: "int bpf_object__read_kconfig_mem(struct bpf_object *obj,\n\t\t\t\t\tconst
      char *config, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__init_internal_map
      Src: /src/libbpf/src/libbpf.c:2392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2376
    functionDepth: 5
    functionLinenumber: 2376
    functionLinenumberEnd: 2401
    functionName: bpf_object__init_kconfig_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__init_internal_map
    linkageType: ''
    returnType: int
    signature: int bpf_object__init_kconfig_map(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2406,1
    - Dst: btf_is_mod
      Src: /src/libbpf/src/libbpf.c:2411,1
    - Dst: btf_is_typedef
      Src: /src/libbpf/src/libbpf.c:2411,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - btf
    - id
    - res_id
    argTypes:
    - struct btf*
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2403
    functionDepth: 3
    functionLinenumber: 2403
    functionLinenumberEnd: 2418
    functionName: skip_mods_and_typedefs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 13
    functionsReached:
    - btf_is_typedef
    - btf__type_by_id
    - btf_is_mod
    linkageType: ''
    returnType: struct btf_type
    signature: 'struct btf_type *

      skip_mods_and_typedefs(const struct btf *btf, __u32 id, __u32 *res_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2425,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2426,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2429,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - btf
    - id
    - res_id
    argTypes:
    - struct btf*
    - __u32
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2420
    functionDepth: 3
    functionLinenumber: 2420
    functionLinenumberEnd: 2432
    functionName: resolve_func_ptr
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - skip_mods_and_typedefs
    - btf_is_func_proto
    - btf_is_ptr
    linkageType: ''
    returnType: struct btf_type
    signature: 'struct btf_type *

      resolve_func_ptr(const struct btf *btf, __u32 id, __u32 *res_id)'
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - kind
    argTypes:
    - __u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2459
    functionName: __btf_kind_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *__btf_kind_str(__u16 kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2463,1
    - Dst: btf_kind
      Src: /src/libbpf/src/libbpf.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2461
    functionDepth: 2
    functionLinenumber: 2461
    functionLinenumberEnd: 2464
    functionName: btf_kind_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 6
    functionsReached:
    - btf_kind
    - __btf_kind_str
    linkageType: ''
    returnType: char
    signature: char *btf_kind_str(const struct btf_type *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2476,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:2477,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2481,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2482,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2483,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2487,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2489,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/libbpf.c:2493,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2494,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2495,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:2498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - map_name
    - btf
    - m
    - res
    argTypes:
    - char*
    - struct btf*
    - struct btf_member*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2473
    functionDepth: 3
    functionLinenumber: 2473
    functionLinenumberEnd: 2501
    functionName: get_map_field_int
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf_is_array
    - btf__type_by_id
    - btf__name_by_offset
    - btf_array
    - skip_mods_and_typedefs
    - btf_is_ptr
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: "bool get_map_field_int(const char *map_name, const struct btf *btf,\n\t\t\t
      \     const struct btf_member *m, __u32 *res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2506,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:2507,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2509,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2513,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/libbpf.c:2519,1
    - Dst: btf_is_enum64
      Src: /src/libbpf/src/libbpf.c:2519,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2520,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2521,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:2525,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2526,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/libbpf.c:2531,1
    - Dst: btf_enum
      Src: /src/libbpf/src/libbpf.c:2532,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/libbpf.c:2536,1
    - Dst: btf_enum64_value
      Src: /src/libbpf/src/libbpf.c:2538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - map_name
    - btf
    - m
    - res
    argTypes:
    - char*
    - struct btf*
    - struct btf_member*
    - __u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2503
    functionDepth: 4
    functionLinenumber: 2503
    functionLinenumberEnd: 2541
    functionName: get_map_field_long
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf_enum64
    - btf__name_by_offset
    - get_map_field_int
    - btf_enum
    - btf_enum64_value
    - btf_vlen
    - skip_mods_and_typedefs
    - btf_is_enum64
    - btf_is_enum
    - pr_warn
    - btf_is_ptr
    linkageType: ''
    returnType: bool
    signature: "bool get_map_field_long(const char *map_name, const struct btf *btf,\n\t\t\t
      \      const struct btf_member *m, __u64 *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:2547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - buf_sz
    - path
    - name
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2554
    functionName: pathname_concat
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pathname_concat(char *buf, size_t buf_sz, const char *path, const
      char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:2564,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:2564,1
    - Dst: bpf_map__set_pin_path
      Src: /src/libbpf/src/libbpf.c:2568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - path
    argTypes:
    - struct bpf_map*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2556
    functionDepth: 1
    functionLinenumber: 2556
    functionLinenumberEnd: 2569
    functionName: build_map_pin_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__set_pin_path
    - pathname_concat
    - bpf_map__name
    linkageType: ''
    returnType: int
    signature: int build_map_pin_path(struct bpf_map *map, const char *path)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:2587,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:2588,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:2590,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2593,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2596,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2597,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2600,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2601,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2604,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2605,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2608,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2609,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2612,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2615,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2618,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2624,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2627,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2629,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2633,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2634,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2635,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:2638,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2640,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2645,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2652,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2655,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2658,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2664,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2667,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2669,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2673,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2674,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2675,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:2678,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2680,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2685,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2693,1
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:2694,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2701,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2706,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2711,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2716,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2721,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2723,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/libbpf.c:2727,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:2727,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2728,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2732,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:2732,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:2733,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2734,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2735,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2738,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:2740,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2741,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2742,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:2747,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2748,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2749,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:2753,1
    - Dst: parse_btf_map_def
      Src: /src/libbpf/src/libbpf.c:2754,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2759,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2763,1
    - Dst: get_map_field_int
      Src: /src/libbpf/src/libbpf.c:2766,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2769,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:2775,1
    - Dst: get_map_field_long
      Src: /src/libbpf/src/libbpf.c:2778,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2784,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2787,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2792,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 176
    argCount: 6
    argNames:
    - map_name
    - btf
    - def_t
    - strict
    - map_def
    - inner_def
    argTypes:
    - char*
    - struct btf*
    - struct btf_type*
    - bool
    - struct btf_map_def*
    - struct btf_map_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2578
    functionDepth: 5
    functionLinenumber: 2578
    functionLinenumberEnd: 2797
    functionName: parse_btf_map_def
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - strcmp
    - pr_debug
    - btf_vlen
    - btf_members
    - btf_array
    - bpf_map_type__is_map_in_map
    - btf_is_array
    - get_map_field_long
    - btf__name_by_offset
    - btf_is_func_proto
    - btf__resolve_size
    - skip_mods_and_typedefs
    - btf__type_by_id
    - parse_btf_map_def
    - snprintf
    - pr_warn
    - btf_is_struct
    - btf_kind_str
    - get_map_field_int
    - btf_is_ptr
    linkageType: ''
    returnType: int
    signature: "int parse_btf_map_def(const char *map_name, struct btf *btf,\n\t\t
      \     const struct btf_type *def_t, bool strict,\n\t\t      struct btf_map_def
      *map_def, struct btf_map_def *inner_def)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf.c:2801,1
    - Dst: is_pow_of_2
      Src: /src/libbpf/src/libbpf.c:2811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2799
    functionDepth: 1
    functionLinenumber: 2799
    functionLinenumberEnd: 2828
    functionName: adjust_ringbuf_sz
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sysconf
    - is_pow_of_2
    linkageType: ''
    returnType: size_t
    signature: size_t adjust_ringbuf_sz(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2834
    functionName: map_is_ringbuf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool map_is_ringbuf(const struct bpf_map *map)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: map_is_ringbuf
      Src: /src/libbpf/src/libbpf.c:2850,1
    - Dst: adjust_ringbuf_sz
      Src: /src/libbpf/src/libbpf.c:2851,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2854,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2857,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2860,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2863,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2866,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2869,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2871,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2873,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2876,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2878,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2881,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - map
    - def
    argTypes:
    - struct bpf_map*
    - struct btf_map_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2836
    functionDepth: 2
    functionLinenumber: 2836
    functionLinenumberEnd: 2882
    functionName: fill_map_from_def
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - map_is_ringbuf
    - adjust_ringbuf_sz
    linkageType: ''
    returnType: void
    signature: void fill_map_from_def(struct bpf_map *map, const struct btf_map_def
      *def)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - linkage
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2892
    functionName: btf_var_linkage_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *btf_var_linkage_str(__u32 linkage)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:2908,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:2909,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:2910,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:2911,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:2913,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2914,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2918,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:2921,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2922,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2923,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2927,1
    - Dst: btf_var_linkage_str
      Src: /src/libbpf/src/libbpf.c:2928,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:2932,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:2933,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2934,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:2935,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2939,1
    - Dst: bpf_object__add_map
      Src: /src/libbpf/src/libbpf.c:2943,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:2944,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:2945,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:2946,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2948,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:2956,1
    - Dst: parse_btf_map_def
      Src: /src/libbpf/src/libbpf.c:2959,1
    - Dst: fill_map_from_def
      Src: /src/libbpf/src/libbpf.c:2963,1
    - Dst: build_map_pin_path
      Src: /src/libbpf/src/libbpf.c:2966,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:2968,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:2974,1
    - Dst: create_placeholder_fd
      Src: /src/libbpf/src/libbpf.c:2977,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:2981,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:2981,1
    - Dst: sprintf
      Src: /src/libbpf/src/libbpf.c:2984,1
    - Dst: fill_map_from_def
      Src: /src/libbpf/src/libbpf.c:2986,1
    - Dst: map_fill_btf_type_info
      Src: /src/libbpf/src/libbpf.c:2989,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 7
    argNames:
    - obj
    - sec
    - var_idx
    - sec_idx
    - data
    - strict
    - pin_root_path
    argTypes:
    - struct bpf_object*
    - struct btf_type*
    - int
    - int
    - Elf_Data*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2894
    functionDepth: 6
    functionLinenumber: 2894
    functionLinenumberEnd: 2994
    functionName: bpf_object__init_user_btf_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - IS_ERR
    - pr_debug
    - PTR_ERR
    - btf_var_secinfos
    - malloc
    - btf__name_by_offset
    - strlen
    - skip_mods_and_typedefs
    - str_is_empty
    - map_fill_btf_type_info
    - build_map_pin_path
    - btf__type_by_id
    - parse_btf_map_def
    - btf_var_linkage_str
    - pr_warn
    - btf_is_struct
    - create_placeholder_fd
    - btf_kind_str
    - bpf_object__add_map
    - strdup
    - sprintf
    - btf_var
    - fill_map_from_def
    - calloc
    - btf_is_var
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_user_btf_map(struct bpf_object *obj,\n\t\t\t\t\t
      const struct btf_type *sec,\n\t\t\t\t\t int var_idx, int sec_idx,\n\t\t\t\t\t
      const Elf_Data *data, bool strict,\n\t\t\t\t\t const char *pin_root_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf.c:3000,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:3001,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:3004,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3006,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:3011,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:3014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - obj
    - map
    - sec_name
    - sec_idx
    - data
    - data_sz
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 2996
    functionDepth: 3
    functionLinenumber: 2996
    functionLinenumberEnd: 3021
    functionName: init_arena_map_data
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - roundup
    - sysconf
    - bpf_map_mmap_sz
    - malloc
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int init_arena_map_data(struct bpf_object *obj, struct bpf_map *map,\n\t\t\t
      \      const char *sec_name, int sec_idx,\n\t\t\t       void *data, size_t data_sz)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:3036,1
    - Dst: elf_sec_data
      Src: /src/libbpf/src/libbpf.c:3037,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3039,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:3044,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:3046,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:3047,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3049,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3050,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3058,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3062,1
    - Dst: bpf_object__init_user_btf_map
      Src: /src/libbpf/src/libbpf.c:3064,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3079,1
    - Dst: init_arena_map_data
      Src: /src/libbpf/src/libbpf.c:3086,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3094,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - obj
    - strict
    - pin_root_path
    argTypes:
    - struct bpf_object*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3023
    functionDepth: 7
    functionLinenumber: 3023
    functionLinenumberEnd: 3100
    functionName: bpf_object__init_user_btf_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sec_data
    - btf__type_by_id
    - btf__name_by_offset
    - elf_sec_by_idx
    - init_arena_map_data
    - strcmp
    - btf_vlen
    - bpf_object__init_user_btf_map
    - btf__type_cnt
    - btf_is_datasec
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_user_btf_maps(struct bpf_object *obj, bool strict,\n\t\t\t\t\t
      \ const char *pin_root_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:3109,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:3110,1
    - Dst: bpf_object__init_user_btf_maps
      Src: /src/libbpf/src/libbpf.c:3112,1
    - Dst: bpf_object__init_global_data_maps
      Src: /src/libbpf/src/libbpf.c:3113,1
    - Dst: bpf_object__init_kconfig_map
      Src: /src/libbpf/src/libbpf.c:3114,1
    - Dst: bpf_object_init_struct_ops
      Src: /src/libbpf/src/libbpf.c:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - opts
    argTypes:
    - struct bpf_object*
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3102
    functionDepth: 8
    functionLinenumber: 3102
    functionLinenumberEnd: 3118
    functionName: bpf_object__init_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object_init_struct_ops
    - OPTS_GET
    - bpf_object__init_global_data_maps
    - bpf_object__init_kconfig_map
    - bpf_object__init_user_btf_maps
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_maps(struct bpf_object *obj,\n\t\t\t\t const
      struct bpf_object_open_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_hdr
      Src: /src/libbpf/src/libbpf.c:3124,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:3124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - idx
    argTypes:
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3120
    functionDepth: 1
    functionLinenumber: 3120
    functionLinenumberEnd: 3129
    functionName: section_have_execinstr
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sec_hdr
    - elf_sec_by_idx
    linkageType: ''
    returnType: bool
    signature: bool section_have_execinstr(struct bpf_object *obj, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3131
    functionDepth: 0
    functionLinenumber: 3131
    functionLinenumberEnd: 3134
    functionName: starts_with_qmark
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool starts_with_qmark(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3138,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3139,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3140,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3141,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3142,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3143,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3144,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3145,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3136
    functionDepth: 1
    functionLinenumber: 3136
    functionLinenumberEnd: 3151
    functionName: btf_needs_sanitization
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - kernel_supports
    linkageType: ''
    returnType: bool
    signature: bool btf_needs_sanitization(struct bpf_object *obj)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3155,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3156,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3157,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3158,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3159,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3160,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3161,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3162,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3163,1
    - Dst: btf__raw_data
      Src: /src/libbpf/src/libbpf.c:3174,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:3176,1
    - Dst: btf_header
      Src: /src/libbpf/src/libbpf.c:3178,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:3191,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:3193,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:3195,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf.c:3202,1
    - Dst: memmove
      Src: /src/libbpf/src/libbpf.c:3206,1
    - Dst: btf__new
      Src: /src/libbpf/src/libbpf.c:3210,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:3211,1
    - Dst: btf__new
      Src: /src/libbpf/src/libbpf.c:3213,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:3215,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:3217,1
    - Dst: btf__set_pointer_size
      Src: /src/libbpf/src/libbpf.c:3220,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:3222,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:3223,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:3225,1
    - Dst: btf_is_decl_tag
      Src: /src/libbpf/src/libbpf.c:3225,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3227,1
    - Dst: BTF_INT_ENC
      Src: /src/libbpf/src/libbpf.c:3234,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:3235,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:3237,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:3238,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3242,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3249,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3250,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:3256,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:3259,1
    - Dst: starts_with_qmark
      Src: /src/libbpf/src/libbpf.c:3260,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3260,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3264,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:3267,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3269,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3270,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:3272,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3274,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:3275,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3277,1
    - Dst: btf_is_float
      Src: /src/libbpf/src/libbpf.c:3278,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3284,1
    - Dst: btf_is_type_tag
      Src: /src/libbpf/src/libbpf.c:3285,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3288,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/libbpf.c:3289,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/libbpf.c:3291,1
    - Dst: btf_kind
      Src: /src/libbpf/src/libbpf.c:3291,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3291,1
    - Dst: btf_is_enum64
      Src: /src/libbpf/src/libbpf.c:3292,1
    - Dst: btf__add_int
      Src: /src/libbpf/src/libbpf.c:3297,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:3299,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:3300,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:3302,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:3305,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3306,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf.c:3307,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 97
    argCount: 2
    argNames:
    - obj
    - orig_btf
    argTypes:
    - struct bpf_object*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3153
    functionDepth: 3
    functionLinenumber: 3153
    functionLinenumberEnd: 3316
    functionName: bpf_object__sanitize_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_is_type_tag
    - btf__free
    - btf_vlen
    - libbpf_get_error
    - btf_header
    - btf_var_secinfos
    - malloc
    - btf_members
    - btf__name_by_offset
    - btf_is_func_proto
    - btf_is_decl_tag
    - btf_is_enum64
    - starts_with_qmark
    - btf_is_enum
    - btf__type_cnt
    - BTF_INFO_ENC
    - btf__new
    - btf__raw_data
    - btf__type_by_id
    - btf__add_int
    - btf_kind
    - btf__set_pointer_size
    - ERR_PTR
    - memmove
    - btf_is_float
    - bswap_32
    - kernel_supports
    - BTF_INT_ENC
    - btf_is_func
    - btf_is_var
    - free
    - btf_is_datasec
    - memcpy
    linkageType: ''
    returnType: struct btf
    signature: struct btf *bpf_object__sanitize_btf(struct bpf_object *obj, struct
      btf *orig_btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3323
    functionName: libbpf_needs_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool libbpf_needs_btf(const struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3328
    functionName: kernel_needs_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool kernel_needs_btf(const struct bpf_object *obj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: btf__new
      Src: /src/libbpf/src/libbpf.c:3337,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:3338,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3341,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3341,1
    - Dst: btf__set_pointer_size
      Src: /src/libbpf/src/libbpf.c:3345,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3352,1
    - Dst: btf_ext__new
      Src: /src/libbpf/src/libbpf.c:3356,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:3357,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3359,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3360,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:3369,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:3378,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3391,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:3392,1
    - Dst: elf_sec_by_name
      Src: /src/libbpf/src/libbpf.c:3394,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3398,1
    - Dst: libbpf_needs_btf
      Src: /src/libbpf/src/libbpf.c:3403,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3404,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - obj
    - btf_data
    - btf_ext_data
    argTypes:
    - struct bpf_object*
    - Elf_Data*
    - Elf_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3330
    functionDepth: 1
    functionLinenumber: 3330
    functionLinenumberEnd: 3408
    functionName: bpf_object__init_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_ext__new
    - btf__name_by_offset
    - btf__set_pointer_size
    - libbpf_needs_btf
    - pr_debug
    - elf_sec_by_name
    - elf_ndxscn
    - errstr
    - libbpf_get_error
    - calloc
    - str_is_empty
    - ARRAY_SIZE
    - btf__new
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__init_btf(struct bpf_object *obj,\n\t\t\t\tElf_Data
      *btf_data,\n\t\t\t\tElf_Data *btf_ext_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3391,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:3392,1
    - Dst: elf_sec_by_name
      Src: /src/libbpf/src/libbpf.c:3394,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3385
    functionDepth: 1
    functionLinenumber: 3385
    functionLinenumberEnd: 3399
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_ndxscn
    - elf_sec_by_name
    - str_is_empty
    - btf__name_by_offset
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3416
    functionName: compare_vsi_off
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_vsi_off(const void *_a, const void *_b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:3421,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3422,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3428,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3438,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3438,1
    - Dst: find_elf_sec_sz
      Src: /src/libbpf/src/libbpf.c:3450,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3452,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3453,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:3461,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:3467,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:3468,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3469,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:3473,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:3477,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3479,1
    - Dst: find_elf_var_sym
      Src: /src/libbpf/src/libbpf.c:3484,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:3485,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3486,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/libbpf.c:3501,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/libbpf.c:3502,1
    - Dst: qsort
      Src: /src/libbpf/src/libbpf.c:3507,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:3507,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - obj
    - btf
    - t
    argTypes:
    - struct bpf_object*
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3418
    functionDepth: 3
    functionLinenumber: 3418
    functionLinenumberEnd: 3509
    functionName: btf_fixup_datasec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf__name_by_offset
    - find_elf_var_sym
    - IS_ERR
    - strcmp
    - btf_var
    - pr_debug
    - ELF64_ST_VISIBILITY
    - find_elf_sec_sz
    - qsort
    - btf_vlen
    - errstr
    - btf_var_secinfos
    - btf_is_var
    linkageType: ''
    returnType: int
    signature: "int btf_fixup_datasec(struct bpf_object *obj, struct btf *btf,\n\t\t\t
      \    struct btf_type *t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:3518,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:3520,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:3527,1
    - Dst: btf_fixup_datasec
      Src: /src/libbpf/src/libbpf.c:3528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3511
    functionDepth: 4
    functionLinenumber: 3511
    functionLinenumberEnd: 3535
    functionName: bpf_object_fixup_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    - btf_fixup_datasec
    - btf_type_by_id
    - btf_is_datasec
    linkageType: ''
    returnType: int
    signature: int bpf_object_fixup_btf(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3550
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3550
    functionName: prog_needs_vmlinux_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prog_needs_vmlinux_btf(struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:3554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3552
    functionDepth: 1
    functionLinenumber: 3552
    functionLinenumberEnd: 3555
    functionName: map_needs_vmlinux_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    linkageType: ''
    returnType: bool
    signature: bool map_needs_vmlinux_btf(struct bpf_map *map)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prog_needs_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3581,1
    - Dst: map_needs_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3557
    functionDepth: 2
    functionLinenumber: 3557
    functionLinenumberEnd: 3591
    functionName: obj_needs_vmlinux_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_needs_vmlinux_btf
    - prog_needs_vmlinux_btf
    linkageType: ''
    returnType: bool
    signature: bool obj_needs_vmlinux_btf(const struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prog_needs_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3578
    functionDepth: 1
    functionLinenumber: 3578
    functionLinenumberEnd: 3583
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - prog_needs_vmlinux_btf
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_program(prog, obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_needs_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3588
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_needs_vmlinux_btf
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_map(map, obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: obj_needs_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3601,1
    - Dst: btf__load_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:3604,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:3605,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3607,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - force
    argTypes:
    - struct bpf_object*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3593
    functionDepth: 3
    functionLinenumber: 3593
    functionLinenumberEnd: 3612
    functionName: bpf_object__load_vmlinux_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - obj_needs_vmlinux_btf
    - errstr
    - libbpf_get_error
    - btf__load_vmlinux_btf
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__load_vmlinux_btf(struct bpf_object *obj, bool force)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:3623,1
    - Dst: kernel_needs_btf
      Src: /src/libbpf/src/libbpf.c:3624,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3628,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:3646,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:3649,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:3651,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:3652,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/libbpf.c:3652,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:3655,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3656,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/libbpf.c:3659,1
    - Dst: btf_needs_sanitization
      Src: /src/libbpf/src/libbpf.c:3664,1
    - Dst: bpf_object__sanitize_btf
      Src: /src/libbpf/src/libbpf.c:3666,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:3667,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:3668,1
    - Dst: btf__raw_data
      Src: /src/libbpf/src/libbpf.c:3673,1
    - Dst: bpf_gen__load_btf
      Src: /src/libbpf/src/libbpf.c:3677,1
    - Dst: btf__set_fd
      Src: /src/libbpf/src/libbpf.c:3681,1
    - Dst: btf_load_into_kernel
      Src: /src/libbpf/src/libbpf.c:3684,1
    - Dst: btf__set_fd
      Src: /src/libbpf/src/libbpf.c:3690,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:3690,1
    - Dst: btf__set_fd
      Src: /src/libbpf/src/libbpf.c:3691,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:3693,1
    - Dst: kernel_needs_btf
      Src: /src/libbpf/src/libbpf.c:3697,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3699,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3700,1
    - Dst: pr_info
      Src: /src/libbpf/src/libbpf.c:3702,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:3703,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3614
    functionDepth: 4
    functionLinenumber: 3614
    functionLinenumberEnd: 3708
    functionName: bpf_object__sanitize_and_load_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_load_into_kernel
    - IS_ERR
    - btf__free
    - strcmp
    - pr_debug
    - PTR_ERR
    - bpf_gen__load_btf
    - kernel_needs_btf
    - prog_is_subprog
    - bpf_object__sanitize_btf
    - btf__str_by_offset
    - errstr
    - btf__type_cnt
    - btf__raw_data
    - btf_type_by_id
    - btf_func_linkage
    - btf_needs_sanitization
    - pr_warn
    - pr_info
    - btf__fd
    - kernel_supports
    - btf_is_func
    - btf__set_fd
    linkageType: ''
    returnType: int
    signature: int bpf_object__sanitize_and_load_btf(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_strptr
      Src: /src/libbpf/src/libbpf.c:3714,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3716,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - 'off'
    argTypes:
    - struct bpf_object*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3722
    functionName: elf_sym_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - elf_errmsg
    - pr_warn
    - elf_strptr
    linkageType: ''
    returnType: char
    signature: char *elf_sym_str(const struct bpf_object *obj, size_t off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_strptr
      Src: /src/libbpf/src/libbpf.c:3728,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3730,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - 'off'
    argTypes:
    - struct bpf_object*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3724
    functionDepth: 0
    functionLinenumber: 3724
    functionLinenumberEnd: 3736
    functionName: elf_sec_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_errmsg
    - pr_warn
    - elf_strptr
    linkageType: ''
    returnType: char
    signature: char *elf_sec_str(const struct bpf_object *obj, size_t off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_getscn
      Src: /src/libbpf/src/libbpf.c:3742,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3744,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - idx
    argTypes:
    - struct bpf_object*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3738
    functionDepth: 0
    functionLinenumber: 3738
    functionLinenumberEnd: 3749
    functionName: elf_sec_by_idx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 4
    functionsReached:
    - elf_getscn
    - elf_errmsg
    - pr_warn
    linkageType: ''
    returnType: Elf_Scn
    signature: Elf_Scn *elf_sec_by_idx(const struct bpf_object *obj, size_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elf_nextscn
      Src: /src/libbpf/src/libbpf.c:3757,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:3758,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3751
    functionDepth: 1
    functionLinenumber: 3751
    functionLinenumberEnd: 3768
    functionName: elf_sec_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 4
    functionsReached:
    - elf_sec_name
    - elf_nextscn
    - strcmp
    linkageType: ''
    returnType: Elf_Scn
    signature: Elf_Scn *elf_sec_by_name(const struct bpf_object *obj, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/libbpf.c:3777,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3779,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3780,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - scn
    argTypes:
    - struct bpf_object*
    - Elf_Scn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3785
    functionName: elf_sec_hdr
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - elf_errmsg
    - elf_ndxscn
    - pr_warn
    - elf64_getshdr
    linkageType: ''
    returnType: Elf64_Shdr
    signature: Elf64_Shdr *elf_sec_hdr(const struct bpf_object *obj, Elf_Scn *scn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_hdr
      Src: /src/libbpf/src/libbpf.c:3795,1
    - Dst: elf_sec_str
      Src: /src/libbpf/src/libbpf.c:3799,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3801,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3802,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - scn
    argTypes:
    - struct bpf_object*
    - Elf_Scn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3787
    functionDepth: 1
    functionLinenumber: 3787
    functionLinenumberEnd: 3807
    functionName: elf_sec_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 3
    functionsReached:
    - elf_errmsg
    - elf_sec_str
    - elf_ndxscn
    - elf_sec_hdr
    - pr_warn
    linkageType: ''
    returnType: char
    signature: char *elf_sec_name(const struct bpf_object *obj, Elf_Scn *scn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elf_getdata
      Src: /src/libbpf/src/libbpf.c:3816,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3818,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3819,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:3819,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - scn
    argTypes:
    - struct bpf_object*
    - Elf_Scn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3809
    functionDepth: 2
    functionLinenumber: 3809
    functionLinenumberEnd: 3825
    functionName: elf_sec_data
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - elf_errmsg
    - elf_sec_name
    - elf_getdata
    - elf_ndxscn
    - pr_warn
    linkageType: ''
    returnType: Elf_Data
    signature: Elf_Data *elf_sec_data(const struct bpf_object *obj, Elf_Scn *scn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - idx
    argTypes:
    - struct bpf_object*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3833
    functionName: elf_sym_by_idx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Elf64_Sym
    signature: Elf64_Sym *elf_sym_by_idx(const struct bpf_object *obj, size_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - idx
    argTypes:
    - Elf_Data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3841
    functionName: elf_rel_by_idx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Elf64_Rel
    signature: Elf64_Rel *elf_rel_by_idx(Elf_Data *data, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:3846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3843
    functionDepth: 1
    functionLinenumber: 3843
    functionLinenumberEnd: 3847
    functionName: is_sec_name_dwarf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - str_has_pfx
    linkageType: ''
    returnType: bool
    signature: bool is_sec_name_dwarf(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3861,1
    - Dst: is_sec_name_dwarf
      Src: /src/libbpf/src/libbpf.c:3865,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:3868,1
    - Dst: is_sec_name_dwarf
      Src: /src/libbpf/src/libbpf.c:3871,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3875,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3876,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - hdr
    - name
    argTypes:
    - Elf64_Shdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3849
    functionDepth: 2
    functionLinenumber: 3849
    functionLinenumberEnd: 3881
    functionName: ignore_elf_section
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - is_sec_name_dwarf
    - str_has_pfx
    linkageType: ''
    returnType: bool
    signature: bool ignore_elf_section(Elf64_Shdr *hdr, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3883
    functionDepth: 0
    functionLinenumber: 3883
    functionLinenumberEnd: 3893
    functionName: cmp_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_progs(const void *_a, const void *_b)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: elf_getshdrnum
      Src: /src/libbpf/src/libbpf.c:3912,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3913,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:3914,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:3917,1
    - Dst: elf_nextscn
      Src: /src/libbpf/src/libbpf.c:3925,1
    - Dst: elf_sec_hdr
      Src: /src/libbpf/src/libbpf.c:3926,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3932,1
    - Dst: elf_sec_data
      Src: /src/libbpf/src/libbpf.c:3936,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3940,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3949,1
    - Dst: elf_nextscn
      Src: /src/libbpf/src/libbpf.c:3955,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/libbpf.c:3956,1
    - Dst: elf_sec_hdr
      Src: /src/libbpf/src/libbpf.c:3959,1
    - Dst: elf_sec_str
      Src: /src/libbpf/src/libbpf.c:3963,1
    - Dst: ignore_elf_section
      Src: /src/libbpf/src/libbpf.c:3967,1
    - Dst: elf_sec_data
      Src: /src/libbpf/src/libbpf.c:3970,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:3974,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3979,1
    - Dst: bpf_object__init_license
      Src: /src/libbpf/src/libbpf.c:3980,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3983,1
    - Dst: bpf_object__init_kversion
      Src: /src/libbpf/src/libbpf.c:3984,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3987,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:3988,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3990,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3992,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:3996,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4004,1
    - Dst: bpf_object__add_programs
      Src: /src/libbpf/src/libbpf.c:4006,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4009,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:4010,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4014,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:4015,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4019,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4020,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4021,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4022,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4027,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4030,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:4031,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:4034,1
    - Dst: pr_info
      Src: /src/libbpf/src/libbpf.c:4038,1
    - Dst: section_have_execinstr
      Src: /src/libbpf/src/libbpf.c:4049,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4050,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4051,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4052,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4053,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4054,1
    - Dst: pr_info
      Src: /src/libbpf/src/libbpf.c:4055,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:4057,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4057,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4064,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:4065,1
    - Dst: pr_info
      Src: /src/libbpf/src/libbpf.c:4070,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4076,1
    - Dst: is_native_endianness
      Src: /src/libbpf/src/libbpf.c:4081,1
    - Dst: bpf_object_bswap_progs
      Src: /src/libbpf/src/libbpf.c:4082,1
    - Dst: qsort
      Src: /src/libbpf/src/libbpf.c:4088,1
    - Dst: bpf_object__init_btf
      Src: /src/libbpf/src/libbpf.c:4090,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 143
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 3895
    functionDepth: 5
    functionLinenumber: 3895
    functionLinenumberEnd: 4091
    functionName: bpf_object__elf_collect
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sec_by_idx
    - elf_getshdrnum
    - strcmp
    - pr_debug
    - ignore_elf_section
    - qsort
    - bpf_object__init_btf
    - malloc
    - elf_sec_str
    - elf_sec_name
    - bpf_object__add_programs
    - elf_sec_hdr
    - bpf_object__init_kversion
    - elf_sec_data
    - str_has_pfx
    - elf_nextscn
    - bpf_object_bswap_progs
    - section_have_execinstr
    - pr_warn
    - elf_errmsg
    - pr_info
    - is_native_endianness
    - elf_ndxscn
    - calloc
    - bpf_object__init_license
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_object__elf_collect(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:4095,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/libbpf.c:4099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sym
    argTypes:
    - Elf64_Sym*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4100
    functionName: sym_is_extern
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ELF64_ST_BIND
    - ELF64_ST_TYPE
    linkageType: ''
    returnType: bool
    signature: bool sym_is_extern(const Elf64_Sym *sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:4104,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/libbpf.c:4105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sym
    - text_shndx
    argTypes:
    - Elf64_Sym*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4117
    functionName: sym_is_subprog
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ELF64_ST_BIND
    - ELF64_ST_TYPE
    linkageType: ''
    returnType: bool
    signature: bool sym_is_subprog(const Elf64_Sym *sym, int text_shndx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:4128,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4130,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:4132,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:4132,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4135,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4136,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:4139,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:4140,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:4143,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/libbpf.c:4143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - btf
    - ext_name
    argTypes:
    - struct btf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4119
    functionDepth: 3
    functionLinenumber: 4119
    functionLinenumberEnd: 4150
    functionName: find_extern_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_func_linkage
    - btf__name_by_offset
    - strcmp
    - btf_var
    - btf_is_func
    - btf_is_var
    - btf__type_cnt
    linkageType: ''
    returnType: int
    signature: int find_extern_btf_id(const struct btf *btf, const char *ext_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:4160,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4162,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:4164,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:4167,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - btf
    - ext_btf_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4152
    functionDepth: 3
    functionLinenumber: 4152
    functionLinenumberEnd: 4175
    functionName: find_extern_sec_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_vlen
    - btf_var_secinfos
    - btf__type_cnt
    - btf_is_datasec
    linkageType: ''
    returnType: int
    signature: int find_extern_sec_btf_id(struct btf *btf, int ext_btf_id)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:4183,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4184,1
    - Dst: btf_kind
      Src: /src/libbpf/src/libbpf.c:4188,1
    - Dst: btf_int_encoding
      Src: /src/libbpf/src/libbpf.c:4190,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4205,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4209,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:4213,1
    - Dst: find_kcfg_type
      Src: /src/libbpf/src/libbpf.c:4215,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:4215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - btf
    - id
    - is_signed
    argTypes:
    - struct btf*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4221
      start: 4177
    functionDepth: 2
    functionLinenumber: 4177
    functionLinenumberEnd: 4221
    functionName: find_kcfg_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - btf__name_by_offset
    - strcmp
    - find_kcfg_type
    - skip_mods_and_typedefs
    - btf_kind
    - btf_int_encoding
    - btf_array
    linkageType: ''
    returnType: enum kcfg_type
    signature: "enum kcfg_type find_kcfg_type(const struct btf *btf, int id,\n\t\t\t\t
      \    bool *is_signed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4242
      start: 4223
    functionDepth: 0
    functionLinenumber: 4223
    functionLinenumberEnd: 4242
    functionName: cmp_externs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_externs(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:4249,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4251,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/libbpf.c:4253,1
    - Dst: btf_int_bits
      Src: /src/libbpf/src/libbpf.c:4253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4244
    functionDepth: 3
    functionLinenumber: 4244
    functionLinenumberEnd: 4258
    functionName: find_int_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    - btf_int_bits
    - btf__type_by_id
    - btf_is_int
    linkageType: ''
    returnType: int
    signature: int find_int_btf_id(const struct btf *btf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:4269,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4274,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:4275,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4276,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4279,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:4280,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4285,1
    - Dst: find_int_btf_id
      Src: /src/libbpf/src/libbpf.c:4288,1
    - Dst: btf__add_var
      Src: /src/libbpf/src/libbpf.c:4289,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4297
      start: 4260
    functionDepth: 4
    functionLinenumber: 4260
    functionLinenumberEnd: 4297
    functionName: add_dummy_ksym_var
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf__add_var
    - btf_vlen
    - btf_is_func
    - btf_var_secinfos
    - btf__find_by_name_kind
    - find_int_btf_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int add_dummy_ksym_var(struct btf *btf)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4313,1
    - Dst: elf_sec_hdr
      Src: /src/libbpf/src/libbpf.c:4314,1
    - Dst: add_dummy_ksym_var
      Src: /src/libbpf/src/libbpf.c:4318,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4323,1
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:4326,1
    - Dst: sym_is_extern
      Src: /src/libbpf/src/libbpf.c:4330,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:4332,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:4333,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:4337,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:4342,1
    - Dst: find_extern_btf_id
      Src: /src/libbpf/src/libbpf.c:4345,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4347,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4351,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:4352,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4352,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/libbpf.c:4356,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/libbpf.c:4358,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:4360,1
    - Dst: strndup
      Src: /src/libbpf/src/libbpf.c:4361,1
    - Dst: find_extern_sec_btf_id
      Src: /src/libbpf/src/libbpf.c:4366,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4368,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4372,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4373,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4375,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:4376,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4377,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:4383,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4385,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/libbpf.c:4389,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4391,1
    - Dst: find_kcfg_type
      Src: /src/libbpf/src/libbpf.c:4395,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4398,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4401,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:4404,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4407,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4411,1
    - Dst: qsort
      Src: /src/libbpf/src/libbpf.c:4417,1
    - Dst: find_int_btf_id
      Src: /src/libbpf/src/libbpf.c:4427,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4435,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4440,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4445,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:4447,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4450,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4451,1
    - Dst: find_extern_by_name
      Src: /src/libbpf/src/libbpf.c:4452,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4454,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:4455,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:4458,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4463,1
    - Dst: btf_params
      Src: /src/libbpf/src/libbpf.c:4465,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4469,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:4477,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:4495,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4497,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:4501,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:4503,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:4505,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:4506,1
    - Dst: find_extern_by_name
      Src: /src/libbpf/src/libbpf.c:4507,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4509,1
    - Dst: btf_var
      Src: /src/libbpf/src/libbpf.c:4513,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 151
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4518
      start: 4299
    functionDepth: 5
    functionLinenumber: 4299
    functionLinenumberEnd: 4518
    functionName: bpf_object__collect_externs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sym_by_idx
    - elf_sec_by_idx
    - libbpf_reallocarray
    - strcmp
    - ELF64_ST_BIND
    - pr_debug
    - qsort
    - btf_vlen
    - btf_var_secinfos
    - elf_sym_str
    - find_extern_by_name
    - btf__name_by_offset
    - btf__resolve_size
    - btf__align_of
    - find_kcfg_type
    - strlen
    - skip_mods_and_typedefs
    - elf_sec_hdr
    - find_int_btf_id
    - find_extern_sec_btf_id
    - str_is_empty
    - find_extern_btf_id
    - add_dummy_ksym_var
    - btf__type_by_id
    - roundup
    - memset
    - bpf_core_essential_name_len
    - pr_warn
    - btf_kind_str
    - strndup
    - btf_params
    - strdup
    - btf_var
    - sym_is_extern
    - btf_is_func
    linkageType: ''
    returnType: int
    signature: int bpf_object__collect_externs(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4523
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4523
    functionName: prog_is_subprog
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prog_is_subprog(const struct bpf_object *obj, const struct bpf_program
      *prog)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:4532,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4525
    functionDepth: 1
    functionLinenumber: 4525
    functionLinenumberEnd: 4538
    functionName: bpf_object__find_program_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - prog_is_subprog
    linkageType: ''
    returnType: struct bpf_program
    signature: "struct bpf_program *\nbpf_object__find_program_by_name(const struct
      bpf_object *obj,\n\t\t\t\t const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:4532,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:4534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4536
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4536
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - prog_is_subprog
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_program(prog, obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - shndx
    argTypes:
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4551
      start: 4540
    functionDepth: 0
    functionLinenumber: 4540
    functionLinenumberEnd: 4551
    functionName: bpf_object__shndx_is_data
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bpf_object__shndx_is_data(const struct bpf_object *obj,\n\t\t\t\t
      \     int shndx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - shndx
    argTypes:
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4553
    functionDepth: 0
    functionLinenumber: 4553
    functionLinenumberEnd: 4557
    functionName: bpf_object__shndx_is_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bpf_object__shndx_is_maps(const struct bpf_object *obj,\n\t\t\t\t
      \     int shndx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - shndx
    argTypes:
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4559
    functionDepth: 0
    functionLinenumber: 4559
    functionLinenumberEnd: 4575
    functionName: bpf_object__section_to_libbpf_map_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum libbpf_map_type
    signature: enum libbpf_map_type bpf_object__section_to_libbpf_map_type(const struct
      bpf_object *obj, int shndx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:4582,1
    - Dst: libbpf_sha256
      Src: /src/libbpf/src/libbpf.c:4608,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:4611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4613
      start: 4577
    functionDepth: 1
    functionLinenumber: 4577
    functionLinenumberEnd: 4613
    functionName: bpf_prog_compute_hash
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - libbpf_sha256
    linkageType: ''
    returnType: int
    signature: int bpf_prog_compute_hash(struct bpf_program *prog)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: is_call_insn
      Src: /src/libbpf/src/libbpf.c:4628,1
    - Dst: is_ldimm64_insn
      Src: /src/libbpf/src/libbpf.c:4628,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4629,1
    - Dst: sym_is_extern
      Src: /src/libbpf/src/libbpf.c:4634,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:4635,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4645,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4649,1
    - Dst: is_call_insn
      Src: /src/libbpf/src/libbpf.c:4661,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4663,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:4668,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4668,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4669,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4674,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4685,1
    - Dst: sym_is_subprog
      Src: /src/libbpf/src/libbpf.c:4691,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4696,1
    - Dst: bpf_object__section_to_libbpf_map_type
      Src: /src/libbpf/src/libbpf.c:4707,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:4708,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4708,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4713,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4723,1
    - Dst: bpf_object__shndx_is_maps
      Src: /src/libbpf/src/libbpf.c:4741,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4742,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4752,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4758,1
    - Dst: bpf_object__shndx_is_data
      Src: /src/libbpf/src/libbpf.c:4770,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4771,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4779,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4785,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 6
    argNames:
    - prog
    - reloc_desc
    - insn_idx
    - sym_name
    - sym
    - rel
    argTypes:
    - struct bpf_program*
    - struct reloc_desc*
    - __u32
    - char*
    - Elf64_Sym*
    - Elf64_Rel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4615
    functionDepth: 2
    functionLinenumber: 4615
    functionLinenumberEnd: 4795
    functionName: bpf_program__record_reloc
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sym_is_subprog
    - elf_sec_name
    - elf_sec_by_idx
    - is_call_insn
    - pr_debug
    - pr_warn
    - bpf_object__shndx_is_maps
    - sym_is_extern
    - bpf_object__shndx_is_data
    - is_ldimm64_insn
    - ELF64_R_SYM
    - bpf_object__section_to_libbpf_map_type
    linkageType: ''
    returnType: int
    signature: "int bpf_program__record_reloc(struct bpf_program *prog,\n\t\t\t\t
      \    struct reloc_desc *reloc_desc,\n\t\t\t\t     __u32 insn_idx, const char
      *sym_name,\n\t\t\t\t     const Elf64_Sym *sym, const Elf64_Rel *rel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - insn_idx
    argTypes:
    - struct bpf_program*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4801
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4801
    functionName: prog_contains_insn
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prog_contains_insn(const struct bpf_program *prog, size_t insn_idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prog_contains_insn
      Src: /src/libbpf/src/libbpf.c:4826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - sec_idx
    - insn_idx
    argTypes:
    - struct bpf_object*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4829
      start: 4803
    functionDepth: 1
    functionLinenumber: 4803
    functionLinenumberEnd: 4829
    functionName: find_prog_by_sec_insn
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - prog_contains_insn
    linkageType: ''
    returnType: struct bpf_program
    signature: "struct bpf_program *find_prog_by_sec_insn(const struct bpf_object
      *obj,\n\t\t\t\t\t\t size_t sec_idx, size_t insn_idx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4849,1
    - Dst: elf_sec_data
      Src: /src/libbpf/src/libbpf.c:4850,1
    - Dst: elf_sec_str
      Src: /src/libbpf/src/libbpf.c:4854,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:4855,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4859,1
    - Dst: elf_rel_by_idx
      Src: /src/libbpf/src/libbpf.c:4864,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4866,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:4870,1
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:4871,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4873,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4879,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4885,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/libbpf.c:4897,1
    - Dst: elf_sec_name
      Src: /src/libbpf/src/libbpf.c:4898,1
    - Dst: elf_sec_by_idx
      Src: /src/libbpf/src/libbpf.c:4898,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:4900,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4903,1
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:4906,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:4908,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:4913,1
    - Dst: bpf_program__record_reloc
      Src: /src/libbpf/src/libbpf.c:4921,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - obj
    - shdr
    - data
    argTypes:
    - struct bpf_object*
    - Elf64_Shdr*
    - Elf_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4831
    functionDepth: 3
    functionLinenumber: 4831
    functionLinenumberEnd: 4929
    functionName: bpf_object__collect_prog_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_rel_by_idx
    - elf_sec_str
    - elf_sec_data
    - elf_sec_name
    - elf_sym_by_idx
    - find_prog_by_sec_insn
    - elf_sec_by_idx
    - bpf_program__record_reloc
    - libbpf_reallocarray
    - pr_debug
    - elf_sym_str
    - ELF64_ST_TYPE
    - pr_warn
    - ELF64_R_SYM
    linkageType: ''
    returnType: int
    signature: int bpf_object__collect_prog_relos(struct bpf_object *obj, Elf64_Shdr
      *shdr, Elf_Data *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:4942,1
    - Dst: bpf_map__is_internal
      Src: /src/libbpf/src/libbpf.c:4949,1
    - Dst: btf__find_by_name
      Src: /src/libbpf/src/libbpf.c:4952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4959
      start: 4931
    functionDepth: 1
    functionLinenumber: 4931
    functionLinenumberEnd: 4959
    functionName: map_fill_btf_type_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - bpf_map__is_internal
    - bpf_map__is_struct_ops
    - btf__find_by_name
    linkageType: ''
    returnType: int
    signature: int map_fill_btf_type_info(struct bpf_object *obj, struct bpf_map *map)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:4968,1
    - Dst: getpid
      Src: /src/libbpf/src/libbpf.c:4968,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:4969,1
    - Dst: fopen
      Src: /src/libbpf/src/libbpf.c:4971,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:4974,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:4975,1
    - Dst: fgets
      Src: /src/libbpf/src/libbpf.c:4979,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:4980,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:4982,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:4984,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:4986,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:4988,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:4992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - fd
    - info
    argTypes:
    - int
    - struct bpf_map_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4995
      start: 4961
    functionDepth: 1
    functionLinenumber: 4961
    functionLinenumberEnd: 4995
    functionName: bpf_get_map_info_from_fdinfo
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - memset
    - getpid
    - fopen
    - sscanf
    - errstr
    - snprintf
    - pr_warn
    - fgets
    linkageType: ''
    returnType: int
    signature: int bpf_get_map_info_from_fdinfo(int fd, struct bpf_map_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4997
    functionDepth: 0
    functionLinenumber: 4997
    functionLinenumberEnd: 5000
    functionName: map_is_created
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool map_is_created(const struct bpf_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5005
      start: 5002
    functionDepth: 0
    functionLinenumber: 5002
    functionLinenumberEnd: 5005
    functionName: bpf_map__autocreate
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map__autocreate(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:5009,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - autocreate
    argTypes:
    - struct bpf_map*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 5007
    functionDepth: 1
    functionLinenumber: 5007
    functionLinenumberEnd: 5014
    functionName: bpf_map__set_autocreate
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:5018,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - autoattach
    argTypes:
    - struct bpf_map*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 5016
    functionDepth: 1
    functionLinenumber: 5016
    functionLinenumberEnd: 5023
    functionName: bpf_map__set_autoattach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_autoattach(struct bpf_map *map, bool autoattach)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5028
    functionName: bpf_map__autoattach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map__autoattach(const struct bpf_map *map)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:5037,1
    - Dst: bpf_map_get_info_by_fd
      Src: /src/libbpf/src/libbpf.c:5038,1
    - Dst: bpf_get_map_info_from_fdinfo
      Src: /src/libbpf/src/libbpf.c:5040,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5042,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:5044,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:5045,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:5046,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:5048,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5051,1
    - Dst: fcntl
      Src: /src/libbpf/src/libbpf.c:5058,1
    - Dst: reuse_fd
      Src: /src/libbpf/src/libbpf.c:5064,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:5068,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:5084,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - map
    - fd
    argTypes:
    - struct bpf_map*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5030
    functionDepth: 3
    functionLinenumber: 5030
    functionLinenumberEnd: 5086
    functionName: bpf_map__reuse_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - strdup
    - reuse_fd
    - strncmp
    - strlen
    - bpf_get_map_info_from_fdinfo
    - fcntl
    - bpf_map_get_info_by_fd
    - free
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__reuse_fd(struct bpf_map *map, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5091
      start: 5088
    functionDepth: 0
    functionLinenumber: 5088
    functionLinenumberEnd: 5091
    functionName: bpf_map__max_entries
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__max_entries(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:5095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5099
      start: 5093
    functionDepth: 1
    functionLinenumber: 5093
    functionLinenumberEnd: 5099
    functionName: bpf_map__inner_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_type__is_map_in_map
    linkageType: ''
    returnType: struct bpf_map
    signature: struct bpf_map *bpf_map__inner_map(struct bpf_map *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:5103,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:5104,1
    - Dst: map_is_ringbuf
      Src: /src/libbpf/src/libbpf.c:5109,1
    - Dst: adjust_ringbuf_sz
      Src: /src/libbpf/src/libbpf.c:5110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - max_entries
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5113
      start: 5101
    functionDepth: 2
    functionLinenumber: 5101
    functionLinenumberEnd: 5113
    functionName: bpf_map__set_max_entries
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - adjust_ringbuf_sz
    - map_is_created
    - map_is_ringbuf
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5124,1
    - Dst: open
      Src: /src/libbpf/src/libbpf.c:5132,1
    - Dst: __pr
      Src: /src/libbpf/src/libbpf.c:5135,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5136,1
    - Dst: bpf_token_create
      Src: /src/libbpf/src/libbpf.c:5141,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5142,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5145,1
    - Dst: __pr
      Src: /src/libbpf/src/libbpf.c:5149,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:5155,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 5115
    functionDepth: 3
    functionLinenumber: 5115
    functionLinenumberEnd: 5165
    functionName: bpf_object_prepare_token
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - open
    - pr_debug
    - close
    - errstr
    - calloc
    - __pr
    - bpf_token_create
    linkageType: ''
    returnType: int
    signature: int bpf_object_prepare_token(struct bpf_object *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/libbpf.c:5171,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/libbpf.c:5172,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:5174,1
    - Dst: bump_rlimit_memlock
      Src: /src/libbpf/src/libbpf.c:5179,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5181,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5182,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/libbpf.c:5185,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/libbpf.c:5187,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5190,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5191,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5167
    functionDepth: 4
    functionLinenumber: 5167
    functionLinenumberEnd: 5197
    functionName: bpf_object__probe_loading
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - bpf_prog_load
    - BPF_MOV64_IMM
    - bump_rlimit_memlock
    - close
    - errstr
    - ARRAY_SIZE
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__probe_loading(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: feat_supported
      Src: /src/libbpf/src/libbpf.c:5208,1
    - Dst: feat_supported
      Src: /src/libbpf/src/libbpf.c:5210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - feat_id
    argTypes:
    - struct bpf_object*
    - enum kern_feature_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5211
      start: 5199
    functionDepth: 2
    functionLinenumber: 5199
    functionLinenumberEnd: 5211
    functionName: kernel_supports
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 4
    functionsReached:
    - feat_supported
    linkageType: ''
    returnType: bool
    signature: bool kernel_supports(const struct bpf_object *obj, enum kern_feature_id
      feat_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:5217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - cache
    argTypes:
    - struct bpf_object*
    - struct kern_feature_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5219
      start: 5214
    functionDepth: 1
    functionLinenumber: 5214
    functionLinenumberEnd: 5219
    functionName: bpf_object_set_feat_cache
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_object_set_feat_cache(struct bpf_object *obj, struct kern_feature_cache
      *cache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:5227,1
    - Dst: bpf_map_get_info_by_fd
      Src: /src/libbpf/src/libbpf.c:5228,1
    - Dst: bpf_get_map_info_from_fdinfo
      Src: /src/libbpf/src/libbpf.c:5230,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5232,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - map
    - map_fd
    argTypes:
    - struct bpf_map*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5221
    functionDepth: 3
    functionLinenumber: 5221
    functionLinenumberEnd: 5253
    functionName: map_is_reuse_compat
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - bpf_get_map_info_from_fdinfo
    - errstr
    - bpf_map_get_info_by_fd
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: bool map_is_reuse_compat(const struct bpf_map *map, int map_fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get
      Src: /src/libbpf/src/libbpf.c:5260,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5264,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5269,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5270,1
    - Dst: map_is_reuse_compat
      Src: /src/libbpf/src/libbpf.c:5274,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5275,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5277,1
    - Dst: bpf_map__reuse_fd
      Src: /src/libbpf/src/libbpf.c:5281,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5282,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5290
      start: 5255
    functionDepth: 4
    functionLinenumber: 5255
    functionLinenumberEnd: 5290
    functionName: bpf_object__reuse_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__reuse_fd
    - pr_debug
    - map_is_reuse_compat
    - bpf_obj_get
    - errstr
    - close
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__reuse_map(struct bpf_map *map)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bpf_gen__map_update_elem
      Src: /src/libbpf/src/libbpf.c:5300,1
    - Dst: bpf_gen__map_freeze
      Src: /src/libbpf/src/libbpf.c:5303,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:5307,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5310,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:5311,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5311,1
    - Dst: bpf_map_freeze
      Src: /src/libbpf/src/libbpf.c:5317,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5320,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:5321,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5321,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:5335,1
    - Dst: mmap
      Src: /src/libbpf/src/libbpf.c:5344,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5347,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:5348,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5348,1
    - Dst: munmap
      Src: /src/libbpf/src/libbpf.c:5353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5292
    functionDepth: 3
    functionLinenumber: 5292
    functionLinenumberEnd: 5358
    functionName: bpf_object__populate_internal_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - mmap
    - bpf_gen__map_update_elem
    - bpf_map_freeze
    - bpf_map__name
    - bpf_map_mmap_sz
    - munmap
    - errstr
    - bpf_gen__map_freeze
    - pr_warn
    - bpf_map_update_elem
    linkageType: ''
    returnType: int
    signature: int bpf_object__populate_internal_map(struct bpf_object *obj, struct
      bpf_map *map)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:5364,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:5369,1
    - Dst: bpf_prog_compute_hash
      Src: /src/libbpf/src/libbpf.c:5379,1
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:5387,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:5395,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:5396,1
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:5401,1
    - Dst: map_set_def_max_entries
      Src: /src/libbpf/src/libbpf.c:5403,1
    - Dst: bpf_object__create_map
      Src: /src/libbpf/src/libbpf.c:5406,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5408,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5409,1
    - Dst: bpf_gen__map_create
      Src: /src/libbpf/src/libbpf.c:5447,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/libbpf.c:5458,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5464,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5465,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/libbpf.c:5471,1
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:5476,1
    - Dst: bpf_map__destroy
      Src: /src/libbpf/src/libbpf.c:5479,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:5480,1
    - Dst: reuse_fd
      Src: /src/libbpf/src/libbpf.c:5495,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 3
    argNames:
    - obj
    - map
    - is_inner
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5496
      start: 5362
    functionDepth: 3
    functionLinenumber: 5362
    functionLinenumberEnd: 5496
    functionName: bpf_object__create_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - bpf_map_type__is_map_in_map
    - LIBBPF_OPTS
    - bpf_gen__map_create
    - bpf_map_create
    - btf__fd
    - reuse_fd
    - kernel_supports
    - bpf_map__is_struct_ops
    - bpf_object__create_map
    - errstr
    - bpf_map__destroy
    - zfree
    - map_set_def_max_entries
    - pr_warn
    - bpf_prog_compute_hash
    linkageType: ''
    returnType: int
    signature: int bpf_object__create_map(struct bpf_object *obj, struct bpf_map *map,
      bool is_inner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_gen__populate_outer_map
      Src: /src/libbpf/src/libbpf.c:5512,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:5516,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5520,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5521,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5524,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:5528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5498
    functionDepth: 2
    functionLinenumber: 5498
    functionLinenumberEnd: 5532
    functionName: init_map_in_map_slots
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_gen__populate_outer_map
    - pr_debug
    - zfree
    - errstr
    - pr_warn
    - bpf_map_update_elem
    linkageType: ''
    returnType: int
    signature: int init_map_in_map_slots(struct bpf_object *obj, struct bpf_map *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:5548,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:5550,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5553,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5554,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5557,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:5561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5565
      start: 5534
    functionDepth: 2
    functionLinenumber: 5534
    functionLinenumberEnd: 5565
    functionName: init_prog_array_slots
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__fd
    - pr_debug
    - zfree
    - errstr
    - pr_warn
    - bpf_map_update_elem
    linkageType: ''
    returnType: int
    signature: int init_prog_array_slots(struct bpf_object *obj, struct bpf_map *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_prog_array_slots
      Src: /src/libbpf/src/libbpf.c:5578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5583
      start: 5567
    functionDepth: 3
    functionLinenumber: 5567
    functionLinenumberEnd: 5583
    functionName: bpf_object_init_prog_arrays
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - init_prog_array_slots
    linkageType: ''
    returnType: int
    signature: int bpf_object_init_prog_arrays(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_num_possible_cpus
      Src: /src/libbpf/src/libbpf.c:5590,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5592,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5601
      start: 5585
    functionDepth: 1
    functionLinenumber: 5585
    functionLinenumberEnd: 5601
    functionName: map_set_def_max_entries
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - libbpf_num_possible_cpus
    - pr_debug
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int map_set_def_max_entries(struct bpf_map *map)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_internal
      Src: /src/libbpf/src/libbpf.c:5628,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:5628,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5632,1
    - Dst: map_set_def_max_entries
      Src: /src/libbpf/src/libbpf.c:5636,1
    - Dst: bpf_object__reuse_map
      Src: /src/libbpf/src/libbpf.c:5643,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5645,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5650,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5658,1
    - Dst: bpf_object__create_map
      Src: /src/libbpf/src/libbpf.c:5661,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5665,1
    - Dst: bpf_map__is_internal
      Src: /src/libbpf/src/libbpf.c:5668,1
    - Dst: bpf_object__populate_internal_map
      Src: /src/libbpf/src/libbpf.c:5669,1
    - Dst: mmap
      Src: /src/libbpf/src/libbpf.c:5673,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:5674,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5680,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5681,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:5685,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:5687,1
    - Dst: init_map_in_map_slots
      Src: /src/libbpf/src/libbpf.c:5691,1
    - Dst: bpf_map__pin
      Src: /src/libbpf/src/libbpf.c:5698,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5704,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5705,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5714,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5714,1
    - Dst: pr_perm_msg
      Src: /src/libbpf/src/libbpf.c:5715,1
    - Dst: zclose
      Src: /src/libbpf/src/libbpf.c:5717,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5719
      start: 5603
    functionDepth: 5
    functionLinenumber: 5603
    functionLinenumberEnd: 5719
    functionName: bpf_object__create_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_internal
    - bpf_object__populate_internal_map
    - init_map_in_map_slots
    - mmap
    - zclose
    - bpf_object__reuse_map
    - pr_debug
    - kernel_supports
    - bpf_object__create_map
    - bpf_map_mmap_sz
    - errstr
    - zfree
    - bpf_map__pin
    - pr_perm_msg
    - map_set_def_max_entries
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_object__create_maps(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5721
    functionDepth: 0
    functionLinenumber: 5721
    functionLinenumberEnd: 5727
    functionName: bpf_core_is_flavor_sep
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_core_is_flavor_sep(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:5735,1
    - Dst: bpf_core_is_flavor_sep
      Src: /src/libbpf/src/libbpf.c:5739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5743
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5743
    functionName: bpf_core_essential_name_len
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 5
    functionsReached:
    - strlen
    - bpf_core_is_flavor_sep
    linkageType: ''
    returnType: size_t
    signature: size_t bpf_core_essential_name_len(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:5750,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:5751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cands
    argTypes:
    - struct bpf_core_cand_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5752
      start: 5745
    functionDepth: 1
    functionLinenumber: 5745
    functionLinenumberEnd: 5752
    functionName: bpf_core_free_cands
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_core_free_cands(struct bpf_core_cand_list *cands)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:5767,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:5768,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:5770,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:5772,1
    - Dst: btf_kind_core_compat
      Src: /src/libbpf/src/libbpf.c:5773,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:5776,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:5777,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/libbpf.c:5780,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:5784,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5787,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:5788,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:5789,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:5791,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - local_cand
    - local_essent_len
    - targ_btf
    - targ_btf_name
    - targ_start_id
    - cands
    argTypes:
    - struct bpf_core_cand*
    - size_t
    - struct btf*
    - char*
    - int
    - struct bpf_core_cand_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5804
      start: 5754
    functionDepth: 5
    functionLinenumber: 5754
    functionLinenumberEnd: 5804
    functionName: bpf_core_add_cands
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf__type_by_id
    - btf__name_by_offset
    - libbpf_reallocarray
    - btf_kind_core_compat
    - bpf_core_essential_name_len
    - pr_debug
    - strncmp
    - btf__str_by_offset
    - btf__type_cnt
    - str_is_empty
    linkageType: ''
    returnType: int
    signature: "int bpf_core_add_cands(struct bpf_core_cand *local_cand,\n\t\t       size_t
      local_essent_len,\n\t\t       const struct btf *targ_btf,\n\t\t       const
      char *targ_btf_name,\n\t\t       int targ_start_id,\n\t\t       struct bpf_core_cand_list
      *cands)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:5825,1
    - Dst: bpf_btf_get_next_id
      Src: /src/libbpf/src/libbpf.c:5829,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:5833,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5838,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5838,1
    - Dst: bpf_btf_get_fd_by_id
      Src: /src/libbpf/src/libbpf.c:5842,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5847,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5847,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:5852,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/libbpf.c:5853,1
    - Dst: bpf_btf_get_info_by_fd
      Src: /src/libbpf/src/libbpf.c:5857,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5860,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5860,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:5865,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5866,1
    - Dst: btf_get_from_fd
      Src: /src/libbpf/src/libbpf.c:5870,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:5871,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:5873,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:5874,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:5878,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:5888,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:5897,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:5898,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5901
      start: 5806
    functionDepth: 4
    functionLinenumber: 5806
    functionLinenumberEnd: 5901
    functionName: load_module_btfs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ensure_mem
    - memset
    - strdup
    - strcmp
    - btf__free
    - pr_debug
    - kernel_supports
    - close
    - errstr
    - bpf_btf_get_fd_by_id
    - libbpf_get_error
    - bpf_btf_get_next_id
    - ptr_to_u64
    - bpf_btf_get_info_by_fd
    - pr_warn
    - btf_get_from_fd
    linkageType: ''
    returnType: int
    signature: int load_module_btfs(struct bpf_object *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:5916,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:5918,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:5920,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:5921,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:5922,1
    - Dst: bpf_core_essential_name_len
      Src: /src/libbpf/src/libbpf.c:5923,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:5925,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:5927,1
    - Dst: bpf_core_add_cands
      Src: /src/libbpf/src/libbpf.c:5931,1
    - Dst: load_module_btfs
      Src: /src/libbpf/src/libbpf.c:5944,1
    - Dst: bpf_core_add_cands
      Src: /src/libbpf/src/libbpf.c:5949,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:5952,1
    - Dst: bpf_core_free_cands
      Src: /src/libbpf/src/libbpf.c:5960,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:5961,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - obj
    - local_btf
    - local_type_id
    argTypes:
    - struct bpf_object*
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5903
    functionDepth: 6
    functionLinenumber: 5903
    functionLinenumberEnd: 5962
    functionName: bpf_core_find_cands
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf__name_by_offset
    - bpf_core_free_cands
    - bpf_core_add_cands
    - bpf_core_essential_name_len
    - load_module_btfs
    - calloc
    - btf__type_cnt
    - str_is_empty
    - ERR_PTR
    linkageType: ''
    returnType: struct bpf_core_cand_list
    signature: 'struct bpf_core_cand_list *

      bpf_core_find_cands(struct bpf_object *obj, const struct btf *local_btf, __u32
      local_type_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_core_types_are_compat
      Src: /src/libbpf/src/libbpf.c:5986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - local_btf
    - local_id
    - targ_btf
    - targ_id
    argTypes:
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5983
    functionDepth: 6
    functionLinenumber: 5983
    functionLinenumberEnd: 5987
    functionName: bpf_core_types_are_compat
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 3
    functionsReached:
    - __bpf_core_types_are_compat
    linkageType: ''
    returnType: int
    signature: "int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id,\n\t\t\t
      \     const struct btf *targ_btf, __u32 targ_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_core_types_match
      Src: /src/libbpf/src/libbpf.c:5992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - local_btf
    - local_id
    - targ_btf
    - targ_id
    argTypes:
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5993
      start: 5989
    functionDepth: 5
    functionLinenumber: 5989
    functionLinenumberEnd: 5993
    functionName: bpf_core_types_match
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 4
    functionsReached:
    - __bpf_core_types_match
    linkageType: ''
    returnType: int
    signature: "int bpf_core_types_match(const struct btf *local_btf, __u32 local_id,\n\t\t\t
      const struct btf *targ_btf, __u32 targ_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5995
    functionDepth: 0
    functionLinenumber: 5995
    functionLinenumberEnd: 5998
    functionName: bpf_core_hash_fn
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bpf_core_hash_fn(const long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k1
    - k2
    - ctx
    argTypes:
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6003
      start: 6000
    functionDepth: 0
    functionLinenumber: 6000
    functionLinenumberEnd: 6003
    functionName: bpf_core_equal_fn
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_core_equal_fn(const long k1, const long k2, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:6010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - prog
    - core_relo
    - insn_idx
    argTypes:
    - struct bpf_program*
    - struct bpf_core_relo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6021
      start: 6005
    functionDepth: 1
    functionLinenumber: 6005
    functionLinenumberEnd: 6021
    functionName: record_relo_core
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: "int record_relo_core(struct bpf_program *prog,\n\t\t\t    const struct
      bpf_core_relo *core_relo, int insn_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - prog
    - insn_idx
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6037
      start: 6023
    functionDepth: 0
    functionLinenumber: 6023
    functionLinenumberEnd: 6037
    functionName: find_relo_core
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bpf_core_relo
    signature: struct bpf_core_relo *find_relo_core(struct bpf_program *prog, int
      insn_idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:6054,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:6058,1
    - Dst: hashmap__find
      Src: /src/libbpf/src/libbpf.c:6063,1
    - Dst: bpf_core_find_cands
      Src: /src/libbpf/src/libbpf.c:6064,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:6065,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6066,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:6067,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:6068,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:6069,1
    - Dst: hashmap__set
      Src: /src/libbpf/src/libbpf.c:6071,1
    - Dst: bpf_core_free_cands
      Src: /src/libbpf/src/libbpf.c:6073,1
    - Dst: bpf_core_calc_relo_insn
      Src: /src/libbpf/src/libbpf.c:6078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - prog
    - relo
    - relo_idx
    - local_btf
    - cand_cache
    - targ_res
    argTypes:
    - struct bpf_program*
    - struct bpf_core_relo*
    - int
    - struct btf*
    - struct hashmap*
    - struct bpf_core_relo_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6080
      start: 6039
    functionDepth: 9
    functionLinenumber: 6039
    functionLinenumberEnd: 6080
    functionName: bpf_core_resolve_relo
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf__type_by_id
    - bpf_core_calc_relo_insn
    - btf__name_by_offset
    - IS_ERR
    - hashmap__find
    - bpf_core_free_cands
    - hashmap__set
    - PTR_ERR
    - bpf_core_find_cands
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_core_resolve_relo(struct bpf_program *prog,\n\t\t\t\t const
      struct bpf_core_relo *relo,\n\t\t\t\t int relo_idx,\n\t\t\t\t const struct btf
      *local_btf,\n\t\t\t\t struct hashmap *cand_cache,\n\t\t\t\t struct bpf_core_relo_res
      *targ_res)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: btf__parse
      Src: /src/libbpf/src/libbpf.c:6100,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:6101,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6103,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6103,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/libbpf.c:6108,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:6109,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:6110,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:6120,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:6121,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6126,1
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:6132,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6142,1
    - Dst: record_relo_core
      Src: /src/libbpf/src/libbpf.c:6161,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6163,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6164,1
    - Dst: bpf_core_resolve_relo
      Src: /src/libbpf/src/libbpf.c:6171,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6173,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6174,1
    - Dst: bpf_core_patch_insn
      Src: /src/libbpf/src/libbpf.c:6178,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6180,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6181,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:6189,1
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/libbpf.c:6192,1
    - Dst: bpf_core_free_cands
      Src: /src/libbpf/src/libbpf.c:6194,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/libbpf.c:6196,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - obj
    - targ_btf_path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6199
      start: 6082
    functionDepth: 10
    functionLinenumber: 6082
    functionLinenumberEnd: 6199
    functionName: bpf_object__relocate_core
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_prog_by_sec_insn
    - bpf_core_resolve_relo
    - btf__name_by_offset
    - IS_ERR
    - IS_ERR_OR_NULL
    - btf__free
    - bpf_core_free_cands
    - pr_debug
    - PTR_ERR
    - errstr
    - libbpf_get_error
    - hashmap__new
    - str_is_empty
    - record_relo_core
    - hashmap__free
    - btf__parse
    - pr_warn
    - bpf_core_patch_insn
    linkageType: ''
    returnType: int
    signature: int bpf_object__relocate_core(struct bpf_object *obj, const char *targ_btf_path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:6120,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:6121,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6126,1
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:6132,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6142,1
    - Dst: record_relo_core
      Src: /src/libbpf/src/libbpf.c:6161,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6163,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6164,1
    - Dst: bpf_core_resolve_relo
      Src: /src/libbpf/src/libbpf.c:6171,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6173,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6174,1
    - Dst: bpf_core_patch_insn
      Src: /src/libbpf/src/libbpf.c:6178,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6180,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6185
      start: 6116
    functionDepth: 10
    functionLinenumber: 6116
    functionLinenumberEnd: 6185
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_prog_by_sec_insn
    - bpf_core_resolve_relo
    - btf__name_by_offset
    - pr_debug
    - pr_warn
    - record_relo_core
    - errstr
    - str_is_empty
    - bpf_core_patch_insn
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:6132,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6142,1
    - Dst: record_relo_core
      Src: /src/libbpf/src/libbpf.c:6161,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6163,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6164,1
    - Dst: bpf_core_resolve_relo
      Src: /src/libbpf/src/libbpf.c:6171,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6173,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6174,1
    - Dst: bpf_core_patch_insn
      Src: /src/libbpf/src/libbpf.c:6178,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6180,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 6128
    functionDepth: 10
    functionLinenumber: 6128
    functionLinenumberEnd: 6184
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_prog_by_sec_insn
    - bpf_core_resolve_relo
    - pr_debug
    - record_relo_core
    - errstr
    - pr_warn
    - bpf_core_patch_insn
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_core_free_cands
      Src: /src/libbpf/src/libbpf.c:6194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6193
    functionDepth: 2
    functionLinenumber: 6193
    functionLinenumberEnd: 6195
    functionName: hashmap__for_each_entry
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - bpf_core_free_cands
    linkageType: ''
    returnType: void
    signature: void hashmap__for_each_entry(cand_cache, entry, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - prog
    - relo_idx
    - insn_idx
    - insn
    - map_idx
    - map
    argTypes:
    - struct bpf_program*
    - int
    - int
    - struct bpf_insn*
    - int
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6205
    functionDepth: 0
    functionLinenumber: 6205
    functionLinenumberEnd: 6229
    functionName: poison_map_ldimm64
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    linkageType: ''
    returnType: void
    signature: "void poison_map_ldimm64(struct bpf_program *prog, int relo_idx,\n\t\t\t
      \      int insn_idx, struct bpf_insn *insn,\n\t\t\t       int map_idx, const
      struct bpf_map *map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - prog
    - relo_idx
    - insn_idx
    - insn
    - ext_idx
    - ext
    argTypes:
    - struct bpf_program*
    - int
    - int
    - struct bpf_insn*
    - int
    - struct extern_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6253
      start: 6235
    functionDepth: 0
    functionLinenumber: 6235
    functionLinenumberEnd: 6253
    functionName: poison_kfunc_call
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    linkageType: ''
    returnType: void
    signature: "void poison_kfunc_call(struct bpf_program *prog, int relo_idx,\n\t\t\t
      \     int insn_idx, struct bpf_insn *insn,\n\t\t\t      int ext_idx, const struct
      extern_desc *ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - prog
    - sym_off
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6271
      start: 6255
    functionDepth: 0
    functionLinenumber: 6255
    functionLinenumberEnd: 6271
    functionName: find_jt_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_jt_map(struct bpf_object *obj, struct bpf_program *prog, unsigned
      int sym_off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:6279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - obj
    - prog
    - sym_off
    - map_fd
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6273
    functionDepth: 1
    functionLinenumber: 6273
    functionLinenumberEnd: 6290
    functionName: add_jt_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: int add_jt_map(struct bpf_object *obj, struct bpf_program *prog, unsigned
      int sym_off, int map_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - prog
    - insn_idx
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6302
      start: 6292
    functionDepth: 0
    functionLinenumber: 6292
    functionLinenumberEnd: 6302
    functionName: find_subprog_idx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_subprog_idx(struct bpf_program *prog, int insn_idx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: find_jt_map
      Src: /src/libbpf/src/libbpf.c:6318,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6323,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6329,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/libbpf.c:6334,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6340,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6345,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6353,1
    - Dst: find_subprog_idx
      Src: /src/libbpf/src/libbpf.c:6358,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6379,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:6386,1
    - Dst: bpf_map_freeze
      Src: /src/libbpf/src/libbpf.c:6391,1
    - Dst: add_jt_map
      Src: /src/libbpf/src/libbpf.c:6395,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:6402,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - obj
    - prog
    - relo
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct reloc_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6404
      start: 6304
    functionDepth: 3
    functionLinenumber: 6304
    functionLinenumberEnd: 6404
    functionName: create_jt_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_create
    - add_jt_map
    - find_subprog_idx
    - bpf_map_freeze
    - close
    - find_jt_map
    - pr_warn
    - bpf_map_update_elem
    linkageType: ''
    returnType: int
    signature: int create_jt_map(struct bpf_object *obj, struct bpf_program *prog,
      struct reloc_desc *relo)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: poison_map_ldimm64
      Src: /src/libbpf/src/libbpf.c:6432,1
    - Dst: poison_map_ldimm64
      Src: /src/libbpf/src/libbpf.c:6450,1
    - Dst: poison_kfunc_call
      Src: /src/libbpf/src/libbpf.c:6483,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6489,1
    - Dst: create_jt_map
      Src: /src/libbpf/src/libbpf.c:6504,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6506,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6516,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 91
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6523
      start: 6411
    functionDepth: 4
    functionLinenumber: 6411
    functionLinenumberEnd: 6523
    functionName: bpf_object__relocate_data
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - create_jt_map
    - poison_map_ldimm64
    - pr_warn
    - poison_kfunc_call
    linkageType: ''
    returnType: int
    signature: int bpf_object__relocate_data(struct bpf_object *obj, struct bpf_program
      *prog)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libbpf/src/libbpf.c:6565,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:6570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - obj
    - prog
    - ext_info
    - prog_info
    - prog_rec_cnt
    - prog_rec_sz
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct btf_ext_info*
    - void**
    - __u32*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6591
      start: 6525
    functionDepth: 0
    functionLinenumber: 6525
    functionLinenumberEnd: 6591
    functionName: adjust_prog_btf_ext_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - realloc
    linkageType: ''
    returnType: int
    signature: "int adjust_prog_btf_ext_info(const struct bpf_object *obj,\n\t\t\t\t
      \   const struct bpf_program *prog,\n\t\t\t\t    const struct btf_ext_info *ext_info,\n\t\t\t\t
      \   void **prog_info, __u32 *prog_rec_cnt,\n\t\t\t\t    __u32 *prog_rec_sz)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libbpf/src/libbpf.c:6565,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:6570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6588
      start: 6538
    functionDepth: 0
    functionLinenumber: 6538
    functionLinenumberEnd: 6588
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - realloc
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(ext_info, sec)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6555
      start: 6544
    functionDepth: 0
    functionLinenumber: 6544
    functionLinenumberEnd: 6555
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(ext_info, sec, i, rec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:6603,1
    - Dst: adjust_prog_btf_ext_info
      Src: /src/libbpf/src/libbpf.c:6612,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6618,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6619,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6627,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6631,1
    - Dst: adjust_prog_btf_ext_info
      Src: /src/libbpf/src/libbpf.c:6640,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6646,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6647,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6655,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - obj
    - main_prog
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6663
      start: 6593
    functionDepth: 3
    functionLinenumber: 6593
    functionLinenumberEnd: 6663
    functionName: reloc_prog_func_and_line_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - kernel_supports
    - errstr
    - adjust_prog_btf_ext_info
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int reloc_prog_func_and_line_info(const struct bpf_object *obj,\n\t\t\t
      \     struct bpf_program *main_prog,\n\t\t\t      const struct bpf_program *prog)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - elem
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6673
      start: 6665
    functionDepth: 0
    functionLinenumber: 6665
    functionLinenumberEnd: 6673
    functionName: cmp_relo_by_insn_idx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_relo_by_insn_idx(const void *key, const void *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/libbpf/src/libbpf.c:6679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - prog
    - insn_idx
    argTypes:
    - struct bpf_program*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6681
      start: 6675
    functionDepth: 0
    functionLinenumber: 6675
    functionLinenumberEnd: 6681
    functionName: find_prog_insn_relo
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: struct reloc_desc
    signature: struct reloc_desc *find_prog_insn_relo(const struct bpf_program *prog,
      size_t insn_idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:6691,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - main_prog
    - subprog
    argTypes:
    - struct bpf_program*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6710
      start: 6683
    functionDepth: 1
    functionLinenumber: 6683
    functionLinenumberEnd: 6710
    functionName: append_subprog_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - memcpy
    linkageType: ''
    returnType: int
    signature: int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program
      *subprog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:6718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - main_prog
    - subprog
    argTypes:
    - struct bpf_program*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6728
      start: 6712
    functionDepth: 1
    functionLinenumber: 6712
    functionLinenumberEnd: 6728
    functionName: save_subprog_offsets
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: int save_subprog_offsets(struct bpf_program *main_prog, struct bpf_program
      *subprog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:6741,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6743,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:6749,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6752,1
    - Dst: append_subprog_relos
      Src: /src/libbpf/src/libbpf.c:6756,1
    - Dst: save_subprog_offsets
      Src: /src/libbpf/src/libbpf.c:6760,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6762,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:6763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - obj
    - main_prog
    - subprog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6768
      start: 6730
    functionDepth: 2
    functionLinenumber: 6730
    functionLinenumberEnd: 6768
    functionName: bpf_object__append_subprog_code
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - append_subprog_relos
    - pr_debug
    - errstr
    - save_subprog_offsets
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int bpf_object__append_subprog_code(struct bpf_object *obj, struct
      bpf_program *main_prog,\n\t\t\t\tstruct bpf_program *subprog)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reloc_prog_func_and_line_info
      Src: /src/libbpf/src/libbpf.c:6780,1
    - Dst: insn_is_subprog_call
      Src: /src/libbpf/src/libbpf.c:6786,1
    - Dst: insn_is_pseudo_func
      Src: /src/libbpf/src/libbpf.c:6786,1
    - Dst: find_prog_insn_relo
      Src: /src/libbpf/src/libbpf.c:6789,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6796,1
    - Dst: insn_is_pseudo_func
      Src: /src/libbpf/src/libbpf.c:6815,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6820,1
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:6834,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:6836,1
    - Dst: bpf_object__append_subprog_code
      Src: /src/libbpf/src/libbpf.c:6852,1
    - Dst: bpf_object__reloc_code
      Src: /src/libbpf/src/libbpf.c:6855,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:6872,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - obj
    - main_prog
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6877
      start: 6770
    functionDepth: 4
    functionLinenumber: 6770
    functionLinenumberEnd: 6877
    functionName: bpf_object__reloc_code
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - find_prog_by_sec_insn
    - find_prog_insn_relo
    - pr_debug
    - reloc_prog_func_and_line_info
    - insn_is_pseudo_func
    - bpf_object__append_subprog_code
    - insn_is_subprog_call
    - bpf_object__reloc_code
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program
      *main_prog,\n\t\t       struct bpf_program *prog)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:6971,1
    - Dst: bpf_object__reloc_code
      Src: /src/libbpf/src/libbpf.c:6977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6982
      start: 6960
    functionDepth: 5
    functionLinenumber: 6960
    functionLinenumberEnd: 6982
    functionName: bpf_object__relocate_calls
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__reloc_code
    - prog_is_subprog
    linkageType: ''
    returnType: int
    signature: int bpf_object__relocate_calls(struct bpf_object *obj, struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:6993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6996
      start: 6984
    functionDepth: 1
    functionLinenumber: 6984
    functionLinenumberEnd: 6996
    functionName: bpf_object__free_relocs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    linkageType: ''
    returnType: void
    signature: void bpf_object__free_relocs(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7011
      start: 6998
    functionDepth: 0
    functionLinenumber: 6998
    functionLinenumberEnd: 7011
    functionName: cmp_relocs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_relocs(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libbpf/src/libbpf.c:7023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7025
      start: 7013
    functionDepth: 1
    functionLinenumber: 7013
    functionLinenumberEnd: 7025
    functionName: bpf_object__sort_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void bpf_object__sort_relos(struct bpf_object *obj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:7030,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7033,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:7036,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7041,1
    - Dst: btf_is_decl_tag
      Src: /src/libbpf/src/libbpf.c:7042,1
    - Dst: btf_decl_tag
      Src: /src/libbpf/src/libbpf.c:7042,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7045,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:7046,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7049,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:7050,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/libbpf.c:7050,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7051,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7055,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7055,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/libbpf.c:7067,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7068,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:7076,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7078,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7085,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7091,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7102,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7107
      start: 7027
    functionDepth: 3
    functionLinenumber: 7027
    functionLinenumberEnd: 7107
    functionName: bpf_prog_assign_exc_cb
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf_func_linkage
    - strcmp
    - prog_is_subprog
    - strncmp
    - btf_is_decl_tag
    - strlen
    - kernel_supports
    - btf__str_by_offset
    - btf_is_func
    - pr_warn
    - str_is_empty
    - btf__type_cnt
    - btf_decl_tag
    linkageType: ''
    returnType: int
    signature: int bpf_prog_assign_exc_cb(struct bpf_object *obj, struct bpf_program
      *prog)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:7157,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:7158,1
    - Dst: btf_is_mod
      Src: /src/libbpf/src/libbpf.c:7165,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:7166,1
    - Dst: btf_is_typedef
      Src: /src/libbpf/src/libbpf.c:7167,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7169,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7170,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:7175,1
    - Dst: btf_is_void
      Src: /src/libbpf/src/libbpf.c:7178,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7182,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:7183,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7183,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:7190,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7190,1
    - Dst: __builtin_types_compatible_p
      Src: /src/libbpf/src/libbpf.c:7194,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:7195,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7195,1
    - Dst: __builtin_types_compatible_p
      Src: /src/libbpf/src/libbpf.c:7197,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:7198,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7198,1
    - Dst: __builtin_types_compatible_p
      Src: /src/libbpf/src/libbpf.c:7200,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:7201,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7201,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/libbpf.c:7207,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7215,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 6
    argNames:
    - btf
    - prog
    - subprog_name
    - arg_idx
    - arg_type_id
    - ctx_name
    argTypes:
    - struct btf*
    - struct bpf_program*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7149
    functionDepth: 3
    functionLinenumber: 7149
    functionLinenumberEnd: 7218
    functionName: need_func_arg_type_fixup
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - strcmp
    - __builtin_types_compatible_p
    - btf_is_mod
    - btf__str_by_offset
    - btf_is_void
    - skip_mods_and_typedefs
    - btf_is_int
    - btf_is_ptr
    - btf_is_typedef
    - pr_warn
    - btf_is_struct
    linkageType: ''
    returnType: bool
    signature: "bool need_func_arg_type_fixup(const struct btf *btf, const struct
      bpf_program *prog,\n\t\t\t\t     const char *subprog_name, int arg_idx,\n\t\t\t\t
      \    int arg_type_id, const char *ctx_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7228,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7229,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/libbpf.c:7241,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:7244,1
    - Dst: btf__add_func_proto
      Src: /src/libbpf/src/libbpf.c:7247,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7255,1
    - Dst: btf_params
      Src: /src/libbpf/src/libbpf.c:7256,1
    - Dst: btf__add_func_param
      Src: /src/libbpf/src/libbpf.c:7259,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7263,1
    - Dst: btf_params
      Src: /src/libbpf/src/libbpf.c:7264,1
    - Dst: btf__add_func
      Src: /src/libbpf/src/libbpf.c:7272,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - btf
    - orig_fn_id
    - prog
    argTypes:
    - struct btf*
    - int
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7280
      start: 7220
    functionDepth: 2
    functionLinenumber: 7220
    functionLinenumberEnd: 7280
    functionName: clone_func_btf_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf_func_linkage
    - btf_params
    - btf_vlen
    - btf__add_func_proto
    - btf__add_func
    - btf__add_func_param
    linkageType: ''
    returnType: int
    signature: int clone_func_btf_info(struct btf *btf, int orig_fn_id, struct bpf_program
      *prog)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7306,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:7312,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:7322,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:7334,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:7336,1
    - Dst: btf_is_decl_tag
      Src: /src/libbpf/src/libbpf.c:7337,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7339,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7339,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7344,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:7345,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/libbpf.c:7345,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7349,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:7350,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:7366,1
    - Dst: btf_decl_tag
      Src: /src/libbpf/src/libbpf.c:7367,1
    - Dst: btf_params
      Src: /src/libbpf/src/libbpf.c:7372,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/libbpf.c:7373,1
    - Dst: need_func_arg_type_fixup
      Src: /src/libbpf/src/libbpf.c:7374,1
    - Dst: clone_func_btf_info
      Src: /src/libbpf/src/libbpf.c:7381,1
    - Dst: btf__add_struct
      Src: /src/libbpf/src/libbpf.c:7397,1
    - Dst: btf__add_ptr
      Src: /src/libbpf/src/libbpf.c:7398,1
    - Dst: btf__add_decl_tag
      Src: /src/libbpf/src/libbpf.c:7406,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7413,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:7414,1
    - Dst: btf_params
      Src: /src/libbpf/src/libbpf.c:7417,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:7421,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:7424,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 85
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7426
      start: 7289
    functionDepth: 4
    functionLinenumber: 7289
    functionLinenumberEnd: 7426
    functionName: bpf_program_fixup_func_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - btf_vlen
    - need_func_arg_type_fixup
    - btf_is_func_proto
    - btf_is_decl_tag
    - btf__str_by_offset
    - btf__type_cnt
    - btf_type_by_id
    - btf__type_by_id
    - btf_func_linkage
    - btf__add_decl_tag
    - btf__add_ptr
    - ARRAY_SIZE
    - clone_func_btf_info
    - btf_params
    - btf__add_struct
    - kernel_supports
    - calloc
    - btf_is_func
    - free
    - btf_decl_tag
    linkageType: ''
    returnType: int
    signature: int bpf_program_fixup_func_info(struct bpf_object *obj, struct bpf_program
      *prog)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__relocate_core
      Src: /src/libbpf/src/libbpf.c:7435,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7437,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:7438,1
    - Dst: bpf_object__sort_relos
      Src: /src/libbpf/src/libbpf.c:7441,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7445,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:7448,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:7449,1
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf.c:7449,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:7483,1
    - Dst: bpf_object__relocate_calls
      Src: /src/libbpf/src/libbpf.c:7488,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7490,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:7491,1
    - Dst: bpf_prog_assign_exc_cb
      Src: /src/libbpf/src/libbpf.c:7495,1
    - Dst: bpf_object__append_subprog_code
      Src: /src/libbpf/src/libbpf.c:7508,1
    - Dst: bpf_object__reloc_code
      Src: /src/libbpf/src/libbpf.c:7511,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:7519,1
    - Dst: bpf_object__relocate_data
      Src: /src/libbpf/src/libbpf.c:7525,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7527,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:7528,1
    - Dst: bpf_program_fixup_func_info
      Src: /src/libbpf/src/libbpf.c:7533,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7535,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:7536,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 2
    argNames:
    - obj
    - targ_btf_path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7542
      start: 7428
    functionDepth: 11
    functionLinenumber: 7428
    functionLinenumberEnd: 7542
    functionName: bpf_object__relocate
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - roundup
    - sysconf
    - bpf_object__sort_relos
    - bpf_prog_assign_exc_cb
    - bpf_object__relocate_calls
    - prog_is_subprog
    - bpf_object__append_subprog_code
    - kernel_supports
    - bpf_map_mmap_sz
    - errstr
    - bpf_object__relocate_data
    - bpf_object__relocate_core
    - bpf_object__reloc_code
    - bpf_program_fixup_func_info
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__relocate(struct bpf_object *obj, const char *targ_btf_path)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:7566,1
    - Dst: elf_rel_by_idx
      Src: /src/libbpf/src/libbpf.c:7572,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7574,1
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:7578,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:7578,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7580,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:7581,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:7584,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:7586,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:7595,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7601,1
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:7606,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7611,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7617,1
    - Dst: bpf_object__find_map_by_name
      Src: /src/libbpf/src/libbpf.c:7621,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7623,1
    - Dst: bpf_object__find_program_by_name
      Src: /src/libbpf/src/libbpf.c:7628,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7630,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:7636,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7637,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:7645,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:7646,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:7647,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:7649,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:7649,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:7650,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:7651,1
    - Dst: btf_member_bit_offset
      Src: /src/libbpf/src/libbpf.c:7654,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:7654,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:7667,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:7671,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:7677,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 3
    argNames:
    - obj
    - shdr
    - data
    argTypes:
    - struct bpf_object*
    - Elf64_Shdr*
    - Elf_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7682
      start: 7547
    functionDepth: 3
    functionLinenumber: 7547
    functionLinenumberEnd: 7682
    functionName: bpf_object__collect_map_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_sym_by_idx
    - libbpf_reallocarray
    - strcmp
    - pr_debug
    - btf_vlen
    - btf_var_secinfos
    - btf_members
    - elf_sym_str
    - ELF64_R_SYM
    - bpf_map_type__is_map_in_map
    - btf__name_by_offset
    - prog_is_subprog
    - bpf_object__find_program_by_name
    - skip_mods_and_typedefs
    - btf_member_bit_offset
    - btf__type_by_id
    - memset
    - bpf_object__find_map_by_name
    - pr_warn
    - elf_rel_by_idx
    linkageType: ''
    returnType: int
    signature: "int bpf_object__collect_map_relos(struct bpf_object *obj,\n\t\t\t\t\t
      Elf64_Shdr *shdr, Elf_Data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7702,1
    - Dst: bpf_object__collect_st_ops_relos
      Src: /src/libbpf/src/libbpf.c:7707,1
    - Dst: bpf_object__collect_map_relos
      Src: /src/libbpf/src/libbpf.c:7709,1
    - Dst: bpf_object__collect_prog_relos
      Src: /src/libbpf/src/libbpf.c:7711,1
    - Dst: bpf_object__sort_relos
      Src: /src/libbpf/src/libbpf.c:7716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7718
      start: 7684
    functionDepth: 4
    functionLinenumber: 7684
    functionLinenumberEnd: 7718
    functionName: bpf_object__collect_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__collect_st_ops_relos
    - bpf_object__collect_map_relos
    - bpf_object__sort_relos
    - bpf_object__collect_prog_relos
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__collect_relos(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libbpf/src/libbpf.c:7722,1
    - Dst: BPF_OP
      Src: /src/libbpf/src/libbpf.c:7723,1
    - Dst: BPF_SRC
      Src: /src/libbpf/src/libbpf.c:7724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - insn
    - func_id
    argTypes:
    - struct bpf_insn*
    - enum bpf_func_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7731
      start: 7720
    functionDepth: 1
    functionLinenumber: 7720
    functionLinenumberEnd: 7731
    functionName: insn_is_helper_call
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - BPF_OP
    - BPF_SRC
    - BPF_CLASS
    linkageType: ''
    returnType: bool
    signature: bool insn_is_helper_call(struct bpf_insn *insn, enum bpf_func_id *func_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: insn_is_helper_call
      Src: /src/libbpf/src/libbpf.c:7743,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7753,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7758,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - obj
    - prog
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7766
      start: 7733
    functionDepth: 3
    functionLinenumber: 7733
    functionLinenumberEnd: 7766
    functionName: bpf_object__sanitize_prog
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - kernel_supports
    - insn_is_helper_call
    linkageType: ''
    returnType: int
    signature: int bpf_object__sanitize_prog(struct bpf_object *obj, struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7775
      start: 7771
    functionDepth: 0
    functionLinenumber: 7771
    functionLinenumberEnd: 7775
    functionName: is_tracing_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_tracing_multi(enum bpf_attach_type type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:7787,1
    - Dst: load_module_btfs
      Src: /src/libbpf/src/libbpf.c:7795,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:7802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - obj
    - attach
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7806
      start: 7777
    functionDepth: 5
    functionLinenumber: 7777
    functionLinenumberEnd: 7806
    functionName: find_attach_module
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - load_module_btfs
    - strncmp
    linkageType: ''
    returnType: struct module_btf
    signature: struct module_btf *find_attach_module(struct bpf_object *obj, const
      char *attach)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:7814,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:7821,1
    - Dst: find_attach_module
      Src: /src/libbpf/src/libbpf.c:7826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - prog
    - btf_obj_fd
    argTypes:
    - struct bpf_program*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7832
      start: 7808
    functionDepth: 6
    functionLinenumber: 7808
    functionLinenumberEnd: 7832
    functionName: tracing_multi_mod_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - find_attach_module
    linkageType: ''
    returnType: int
    signature: int tracing_multi_mod_fd(struct bpf_program *prog, int *btf_obj_fd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7841,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7851,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:7864,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7875,1
    - Dst: libbpf_find_attach_btf_id
      Src: /src/libbpf/src/libbpf.c:7881,1
    - Dst: is_tracing_multi
      Src: /src/libbpf/src/libbpf.c:7898,1
    - Dst: tracing_multi_mod_fd
      Src: /src/libbpf/src/libbpf.c:7901,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - prog
    - opts
    - cookie
    argTypes:
    - struct bpf_program*
    - struct bpf_prog_load_opts*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7910
      start: 7835
    functionDepth: 7
    functionLinenumber: 7835
    functionLinenumberEnd: 7910
    functionName: libbpf_prepare_prog_load
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - is_tracing_multi
    - kernel_supports
    - tracing_multi_mod_fd
    - libbpf_find_attach_btf_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int libbpf_prepare_prog_load(struct bpf_program *prog,\n\t\t\t\t    struct
      bpf_prog_load_opts *opts, long cookie)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:7918,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7935,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7940,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7952,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:7962,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:7962,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:7963,1
    - Dst: struct bpf_program*::sec_def::prog_prepare_load_fn
      Src: /src/libbpf/src/libbpf.c:7981,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:7983,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:7984,1
    - Dst: bpf_gen__prog_load
      Src: /src/libbpf/src/libbpf.c:7992,1
    - Dst: max
      Src: /src/libbpf/src/libbpf.c:8015,1
    - Dst: realloc
      Src: /src/libbpf/src/libbpf.c:8016,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/libbpf.c:8031,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8034,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:8038,1
    - Dst: bpf_prog_bind_map
      Src: /src/libbpf/src/libbpf.c:8047,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8048,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8049,1
    - Dst: fixup_verifier_log
      Src: /src/libbpf/src/libbpf.c:8077,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8079,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8079,1
    - Dst: pr_perm_msg
      Src: /src/libbpf/src/libbpf.c:8080,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8083,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:8089,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 122
    argCount: 7
    argNames:
    - obj
    - prog
    - insns
    - insns_cnt
    - license
    - kern_version
    - prog_fd
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    - struct bpf_insn*
    - int
    - char*
    - __u32
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8091
      start: 7914
    functionDepth: 4
    functionLinenumber: 7914
    functionLinenumberEnd: 8091
    functionName: bpf_object_load_prog
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_prog_load
    - bpf_gen__prog_load
    - struct bpf_program*::sec_def::prog_prepare_load_fn
    - btf__fd
    - bpf_prog_bind_map
    - pr_debug
    - realloc
    - kernel_supports
    - fixup_verifier_log
    - errstr
    - pr_perm_msg
    - max
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object_load_prog(struct bpf_object *obj, struct bpf_program
      *prog,\n\t\t\t\tstruct bpf_insn *insns, int insns_cnt,\n\t\t\t\tconst char *license,
      __u32 kern_version, int *prog_fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - cur
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8105
      start: 8093
    functionDepth: 0
    functionLinenumber: 8093
    functionLinenumberEnd: 8105
    functionName: find_prev_line
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *find_prev_line(char *buf, char *cur)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:8112,1
    - Dst: memmove
      Src: /src/libbpf/src/libbpf.c:8138,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:8141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - buf
    - buf_sz
    - log_sz
    - orig
    - orig_sz
    - patch
    argTypes:
    - char*
    - size_t
    - size_t
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8142
      start: 8107
    functionDepth: 0
    functionLinenumber: 8107
    functionLinenumberEnd: 8142
    functionName: patch_log
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - memmove
    linkageType: ''
    returnType: void
    signature: "void patch_log(char *buf, size_t buf_sz, size_t log_sz,\n\t\t      char
      *orig, size_t orig_sz, const char *patch)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:8163,1
    - Dst: find_relo_core
      Src: /src/libbpf/src/libbpf.c:8166,1
    - Dst: bpf_core_parse_spec
      Src: /src/libbpf/src/libbpf.c:8170,1
    - Dst: bpf_core_format_spec
      Src: /src/libbpf/src/libbpf.c:8174,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:8175,1
    - Dst: patch_log
      Src: /src/libbpf/src/libbpf.c:8180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - prog
    - buf
    - buf_sz
    - log_sz
    - line1
    - line2
    - line3
    argTypes:
    - struct bpf_program*
    - char*
    - size_t
    - size_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8181
      start: 8144
    functionDepth: 5
    functionLinenumber: 8144
    functionLinenumberEnd: 8181
    functionName: fixup_log_failed_core_relo
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_relo_core
    - patch_log
    - bpf_core_format_spec
    - sscanf
    - bpf_core_parse_spec
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void fixup_log_failed_core_relo(struct bpf_program *prog,\n\t\t\t\t
      \      char *buf, size_t buf_sz, size_t log_sz,\n\t\t\t\t       char *line1,
      char *line2, char *line3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:8200,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:8208,1
    - Dst: patch_log
      Src: /src/libbpf/src/libbpf.c:8213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - prog
    - buf
    - buf_sz
    - log_sz
    - line1
    - line2
    - line3
    argTypes:
    - struct bpf_program*
    - char*
    - size_t
    - size_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8214
      start: 8183
    functionDepth: 1
    functionLinenumber: 8183
    functionLinenumberEnd: 8214
    functionName: fixup_log_missing_map_load
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - patch_log
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void fixup_log_missing_map_load(struct bpf_program *prog,\n\t\t\t\t
      \      char *buf, size_t buf_sz, size_t log_sz,\n\t\t\t\t       char *line1,
      char *line2, char *line3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:8233,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:8241,1
    - Dst: patch_log
      Src: /src/libbpf/src/libbpf.c:8246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - prog
    - buf
    - buf_sz
    - log_sz
    - line1
    - line2
    - line3
    argTypes:
    - struct bpf_program*
    - char*
    - size_t
    - size_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8247
      start: 8216
    functionDepth: 1
    functionLinenumber: 8216
    functionLinenumberEnd: 8247
    functionName: fixup_log_missing_kfunc_call
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - patch_log
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void fixup_log_missing_kfunc_call(struct bpf_program *prog,\n\t\t\t\t\t
      char *buf, size_t buf_sz, size_t log_sz,\n\t\t\t\t\t char *line1, char *line2,
      char *line3)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:8260,1
    - Dst: find_prev_line
      Src: /src/libbpf/src/libbpf.c:8264,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:8268,1
    - Dst: find_prev_line
      Src: /src/libbpf/src/libbpf.c:8269,1
    - Dst: fixup_log_failed_core_relo
      Src: /src/libbpf/src/libbpf.c:8274,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:8277,1
    - Dst: find_prev_line
      Src: /src/libbpf/src/libbpf.c:8278,1
    - Dst: fixup_log_missing_map_load
      Src: /src/libbpf/src/libbpf.c:8283,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:8286,1
    - Dst: find_prev_line
      Src: /src/libbpf/src/libbpf.c:8287,1
    - Dst: fixup_log_missing_kfunc_call
      Src: /src/libbpf/src/libbpf.c:8292,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - prog
    - buf
    - buf_sz
    argTypes:
    - struct bpf_program*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8297
      start: 8249
    functionDepth: 6
    functionLinenumber: 8249
    functionLinenumberEnd: 8297
    functionName: fixup_verifier_log
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - str_has_pfx
    - fixup_log_missing_map_load
    - fixup_log_failed_core_relo
    - strlen
    - fixup_log_missing_kfunc_call
    - find_prev_line
    linkageType: ''
    returnType: void
    signature: void fixup_verifier_log(struct bpf_program *prog, char *buf, size_t
      buf_sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:8313,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8313,1
    - Dst: bpf_gen__record_extern
      Src: /src/libbpf/src/libbpf.c:8315,1
    - Dst: bpf_gen__record_extern
      Src: /src/libbpf/src/libbpf.c:8320,1
    - Dst: bpf_gen__record_relo_core
      Src: /src/libbpf/src/libbpf.c:8332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8340
      start: 8299
    functionDepth: 3
    functionLinenumber: 8299
    functionLinenumberEnd: 8340
    functionName: bpf_program_record_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_gen__record_relo_core
    - bpf_gen__record_extern
    - btf__type_by_id
    - btf_is_var
    linkageType: ''
    returnType: int
    signature: int bpf_program_record_relos(struct bpf_program *prog)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:8351,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8354,1
    - Dst: bpf_program_record_relos
      Src: /src/libbpf/src/libbpf.c:8360,1
    - Dst: bpf_object_load_prog
      Src: /src/libbpf/src/libbpf.c:8362,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8365,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8365,1
    - Dst: bpf_object__free_relocs
      Src: /src/libbpf/src/libbpf.c:8370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - obj
    - log_level
    argTypes:
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8372
      start: 8342
    functionDepth: 5
    functionLinenumber: 8342
    functionLinenumberEnd: 8372
    functionName: bpf_object__load_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object_load_prog
    - bpf_object__free_relocs
    - pr_debug
    - prog_is_subprog
    - errstr
    - bpf_program_record_relos
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object__load_progs(struct bpf_object *obj, int log_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__sanitize_prog
      Src: /src/libbpf/src/libbpf.c:8382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8387
      start: 8374
    functionDepth: 4
    functionLinenumber: 8374
    functionLinenumberEnd: 8387
    functionName: bpf_object_prepare_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__sanitize_prog
    linkageType: ''
    returnType: int
    signature: int bpf_object_prepare_progs(struct bpf_object *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_sec_def
      Src: /src/libbpf/src/libbpf.c:8397,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8400,1
    - Dst: struct bpf_program*::sec_def::prog_setup_fn
      Src: /src/libbpf/src/libbpf.c:8412,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8414,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - opts
    argTypes:
    - struct bpf_object*
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8422
      start: 8391
    functionDepth: 1
    functionLinenumber: 8391
    functionLinenumberEnd: 8422
    functionName: bpf_object_init_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_sec_def
    - pr_debug
    - errstr
    - struct bpf_program*::sec_def::prog_setup_fn
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int bpf_object_init_progs(struct bpf_object *obj, const struct bpf_object_open_opts
      *opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_sec_def
      Src: /src/libbpf/src/libbpf.c:8397,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8400,1
    - Dst: sec_def::prog_setup_fn
      Src: /src/libbpf/src/libbpf.c:8412,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8414,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8419
      start: 8396
    functionDepth: 1
    functionLinenumber: 8396
    functionLinenumberEnd: 8419
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sec_def::prog_setup_fn
    - find_sec_def
    - pr_debug
    - errstr
    - pr_warn
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_program(prog, obj)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8436,1
    - Dst: elf_version
      Src: /src/libbpf/src/libbpf.c:8438,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8439,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8441,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:8444,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8445,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8447,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8450,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8452,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8455,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8456,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8457,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8459,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8461,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8463,1
    - Dst: getenv
      Src: /src/libbpf/src/libbpf.c:8469,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:8470,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8471,1
    - Dst: bpf_object__new
      Src: /src/libbpf/src/libbpf.c:8473,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:8474,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:8482,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8489,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:8491,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:8495,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:8502,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:8504,1
    - Dst: bpf_object__elf_init
      Src: /src/libbpf/src/libbpf.c:8511,1
    - Dst: bpf_object__elf_collect
      Src: /src/libbpf/src/libbpf.c:8512,1
    - Dst: bpf_object__collect_externs
      Src: /src/libbpf/src/libbpf.c:8513,1
    - Dst: bpf_object_fixup_btf
      Src: /src/libbpf/src/libbpf.c:8514,1
    - Dst: bpf_object__init_maps
      Src: /src/libbpf/src/libbpf.c:8515,1
    - Dst: bpf_object_init_progs
      Src: /src/libbpf/src/libbpf.c:8516,1
    - Dst: bpf_object__collect_relos
      Src: /src/libbpf/src/libbpf.c:8517,1
    - Dst: bpf_object__elf_finish
      Src: /src/libbpf/src/libbpf.c:8521,1
    - Dst: bpf_object__close
      Src: /src/libbpf/src/libbpf.c:8525,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:8526,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 5
    argNames:
    - path
    - obj_buf
    - obj_buf_sz
    - obj_name
    - opts
    argTypes:
    - char*
    - void*
    - size_t
    - char*
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8527
      start: 8424
    functionDepth: 9
    functionLinenumber: 8424
    functionLinenumberEnd: 8527
    functionName: bpf_object_open
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__init_maps
    - bpf_object__collect_externs
    - IS_ERR
    - bpf_object__elf_finish
    - pr_debug
    - bpf_object_fixup_btf
    - OPTS_GET
    - strlen
    - OPTS_VALID
    - bpf_object__collect_relos
    - bpf_object__close
    - elf_version
    - pr_warn
    - ERR_PTR
    - bpf_object_init_progs
    - bpf_object__new
    - strdup
    - bpf_object__elf_collect
    - bpf_object__elf_init
    - getenv
    linkageType: ''
    returnType: struct bpf_object
    signature: "struct bpf_object *bpf_object_open(const char *path, const void *obj_buf,
      size_t obj_buf_sz,\n\t\t\t\t\t  const char *obj_name,\n\t\t\t\t\t  const struct
      bpf_object_open_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:8533,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:8535,1
    - Dst: bpf_object_open
      Src: /src/libbpf/src/libbpf.c:8535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - opts
    argTypes:
    - char*
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8536
      start: 8529
    functionDepth: 10
    functionLinenumber: 8529
    functionLinenumberEnd: 8536
    functionName: bpf_object__open_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - libbpf_err_ptr
    - bpf_object_open
    linkageType: ''
    returnType: struct bpf_object
    signature: 'struct bpf_object *

      bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__open_file
      Src: /src/libbpf/src/libbpf.c:8540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8541
      start: 8538
    functionDepth: 11
    functionLinenumber: 8538
    functionLinenumberEnd: 8541
    functionName: bpf_object__open
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__open_file
    linkageType: ''
    returnType: struct bpf_object
    signature: struct bpf_object *bpf_object__open(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:8550,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:8553,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:8555,1
    - Dst: bpf_object_open
      Src: /src/libbpf/src/libbpf.c:8555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - obj_buf
    - obj_buf_sz
    - opts
    argTypes:
    - void*
    - size_t
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8556
      start: 8543
    functionDepth: 10
    functionLinenumber: 8543
    functionLinenumberEnd: 8556
    functionName: bpf_object__open_mem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - libbpf_err_ptr
    - bpf_object_open
    - snprintf
    linkageType: ''
    returnType: struct bpf_object
    signature: "struct bpf_object *\nbpf_object__open_mem(const void *obj_buf, size_t
      obj_buf_sz,\n\t\t     const struct bpf_object_open_opts *opts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:8563,1
    - Dst: zclose
      Src: /src/libbpf/src/libbpf.c:8566,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:8568,1
    - Dst: bpf_program__unload
      Src: /src/libbpf/src/libbpf.c:8572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8575
      start: 8558
    functionDepth: 2
    functionLinenumber: 8558
    functionLinenumberEnd: 8575
    functionName: bpf_object_unload
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - bpf_program__unload
    - zclose
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object_unload(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_internal
      Src: /src/libbpf/src/libbpf.c:8582,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:8584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8589
      start: 8577
    functionDepth: 3
    functionLinenumber: 8577
    functionLinenumberEnd: 8589
    functionName: bpf_object__sanitize_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_internal
    - kernel_supports
    linkageType: ''
    returnType: int
    signature: int bpf_object__sanitize_maps(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_internal
      Src: /src/libbpf/src/libbpf.c:8582,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:8584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8586
      start: 8581
    functionDepth: 3
    functionLinenumber: 8581
    functionLinenumberEnd: 8586
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_internal
    - kernel_supports
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_map(m, obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libbpf/src/libbpf.c:8601,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8604,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:8604,1
    - Dst: fscanf
      Src: /src/libbpf/src/libbpf.c:8609,1
    - Dst: feof
      Src: /src/libbpf/src/libbpf.c:8611,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8614,1
    - Dst: cb
      Src: /src/libbpf/src/libbpf.c:8619,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:8624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - cb
    - ctx
    argTypes:
    - kallsyms_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8626
      start: 8594
    functionDepth: 1
    functionLinenumber: 8594
    functionLinenumberEnd: 8626
    functionName: libbpf_kallsyms_parse
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - fscanf
    - cb
    - fopen
    - errstr
    - feof
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int libbpf_kallsyms_parse(kallsyms_cb_t cb, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libbpf/src/libbpf.c:8636,1
    - Dst: find_extern_by_name_with_len
      Src: /src/libbpf/src/libbpf.c:8638,1
    - Dst: find_extern_by_name
      Src: /src/libbpf/src/libbpf.c:8640,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8644,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:8645,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8649,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - sym_addr
    - sym_type
    - sym_name
    - ctx
    argTypes:
    - unsigned long long
    - char
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8659
      start: 8628
    functionDepth: 3
    functionLinenumber: 8628
    functionLinenumberEnd: 8659
    functionName: kallsyms_cb
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - strstr
    - find_extern_by_name_with_len
    - pr_debug
    - btf_is_var
    - pr_warn
    - find_extern_by_name
    linkageType: ''
    returnType: int
    signature: "int kallsyms_cb(unsigned long long sym_addr, char sym_type,\n\t\t
      \      const char *sym_name, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_kallsyms_parse
      Src: /src/libbpf/src/libbpf.c:8663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8664
      start: 8661
    functionDepth: 2
    functionLinenumber: 8661
    functionLinenumberEnd: 8664
    functionName: bpf_object__read_kallsyms_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_kallsyms_parse
    linkageType: ''
    returnType: int
    signature: int bpf_object__read_kallsyms_file(struct bpf_object *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:8676,1
    - Dst: load_module_btfs
      Src: /src/libbpf/src/libbpf.c:8679,1
    - Dst: btf__find_by_name_kind_own
      Src: /src/libbpf/src/libbpf.c:8687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - obj
    - ksym_name
    - kind
    - res_btf
    - res_mod_btf
    argTypes:
    - struct bpf_object*
    - char*
    - __u16
    - struct btf**
    - struct module_btf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8698
      start: 8666
    functionDepth: 5
    functionLinenumber: 8666
    functionLinenumberEnd: 8698
    functionName: find_ksym_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - btf__find_by_name_kind_own
    - load_module_btfs
    - btf__find_by_name_kind
    linkageType: ''
    returnType: int
    signature: "int find_ksym_btf_id(struct bpf_object *obj, const char *ksym_name,\n\t\t\t
      \   __u16 kind, struct btf **res_btf,\n\t\t\t    struct module_btf **res_mod_btf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_ksym_btf_id
      Src: /src/libbpf/src/libbpf.c:8710,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8714,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8723,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:8724,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:8725,1
    - Dst: bpf_core_types_are_compat
      Src: /src/libbpf/src/libbpf.c:8727,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8733,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:8734,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:8735,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8737,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:8739,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:8740,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8747,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/libbpf.c:8748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - obj
    - ext
    argTypes:
    - struct bpf_object*
    - struct extern_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8751
      start: 8700
    functionDepth: 7
    functionLinenumber: 8700
    functionLinenumberEnd: 8751
    functionName: bpf_object__resolve_ksym_var_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf__type_by_id
    - btf__name_by_offset
    - pr_debug
    - bpf_core_types_are_compat
    - skip_mods_and_typedefs
    - find_ksym_btf_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__resolve_ksym_var_btf_id(struct bpf_object *obj,\n\t\t\t\t\t
      \      struct extern_desc *ext)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find_ksym_btf_id
      Src: /src/libbpf/src/libbpf.c:8764,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8769,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8774,1
    - Dst: bpf_core_types_are_compat
      Src: /src/libbpf/src/libbpf.c:8777,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8783,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8793,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:8801,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - obj
    - ext
    argTypes:
    - struct bpf_object*
    - struct extern_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8823
      start: 8753
    functionDepth: 7
    functionLinenumber: 8753
    functionLinenumberEnd: 8823
    functionName: bpf_object__resolve_ksym_func_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ensure_mem
    - btf__type_by_id
    - pr_debug
    - bpf_core_types_are_compat
    - find_ksym_btf_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__resolve_ksym_func_btf_id(struct bpf_object *obj,\n\t\t\t\t\t\tstruct
      extern_desc *ext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8842,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/libbpf.c:8843,1
    - Dst: bpf_object__resolve_ksym_var_btf_id
      Src: /src/libbpf/src/libbpf.c:8844,1
    - Dst: bpf_object__resolve_ksym_func_btf_id
      Src: /src/libbpf/src/libbpf.c:8846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8851
      start: 8825
    functionDepth: 8
    functionLinenumber: 8825
    functionLinenumberEnd: 8851
    functionName: bpf_object__resolve_ksyms_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__resolve_ksym_func_btf_id
    - btf__type_by_id
    - bpf_object__resolve_ksym_var_btf_id
    - btf_is_var
    linkageType: ''
    returnType: int
    signature: int bpf_object__resolve_ksyms_btf_id(struct bpf_object *obj)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:8882,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:8888,1
    - Dst: get_kernel_version
      Src: /src/libbpf/src/libbpf.c:8889,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8891,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:8894,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:8895,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:8896,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:8897,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:8898,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8906,1
    - Dst: set_kcfg_value_num
      Src: /src/libbpf/src/libbpf.c:8910,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8913,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8916,1
    - Dst: bpf_object__read_kconfig_mem
      Src: /src/libbpf/src/libbpf.c:8921,1
    - Dst: bpf_object__read_kconfig_file
      Src: /src/libbpf/src/libbpf.c:8934,1
    - Dst: bpf_object__read_kallsyms_file
      Src: /src/libbpf/src/libbpf.c:8939,1
    - Dst: bpf_object__resolve_ksyms_btf_id
      Src: /src/libbpf/src/libbpf.c:8944,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:8952,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:8955,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 2
    argNames:
    - obj
    - extra_kconfig
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8961
      start: 8853
    functionDepth: 9
    functionLinenumber: 8853
    functionLinenumberEnd: 8961
    functionName: bpf_object__resolve_externs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__read_kconfig_file
    - str_has_pfx
    - strcmp
    - get_kernel_version
    - pr_debug
    - kernel_supports
    - bpf_object__resolve_ksyms_btf_id
    - set_kcfg_value_num
    - bpf_object__read_kallsyms_file
    - bpf_object__read_kconfig_mem
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int bpf_object__resolve_externs(struct bpf_object *obj,\n\t\t\t\t
      \      const char *extra_kconfig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:8970,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:8971,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:8979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8983
      start: 8963
    functionDepth: 2
    functionLinenumber: 8963
    functionLinenumberEnd: 8983
    functionName: bpf_map_prepare_vdata
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__fd
    - btf_vlen
    - btf__type_by_id
    linkageType: ''
    returnType: void
    signature: void bpf_map_prepare_vdata(const struct bpf_map *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:8993,1
    - Dst: bpf_map_prepare_vdata
      Src: /src/libbpf/src/libbpf.c:8999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9003
      start: 8985
    functionDepth: 3
    functionLinenumber: 8985
    functionLinenumberEnd: 9003
    functionName: bpf_object_prepare_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    - bpf_map_prepare_vdata
    linkageType: ''
    returnType: int
    signature: int bpf_object_prepare_struct_ops(struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__unpin
      Src: /src/libbpf/src/libbpf.c:9012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9013
      start: 9005
    functionDepth: 1
    functionLinenumber: 9005
    functionLinenumberEnd: 9013
    functionName: bpf_object_unpin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__unpin
    linkageType: ''
    returnType: void
    signature: void bpf_object_unpin(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:9021,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:9022,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:9023,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9028,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:9031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9033
      start: 9015
    functionDepth: 1
    functionLinenumber: 9015
    functionLinenumberEnd: 9033
    functionName: bpf_object_cleanup_btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - close
    - btf__free
    - free
    - zfree
    linkageType: ''
    returnType: void
    signature: void bpf_object_cleanup_btf(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9038,1
    - Dst: bpf_object_cleanup_btf
      Src: /src/libbpf/src/libbpf.c:9041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9042
      start: 9035
    functionDepth: 2
    functionLinenumber: 9035
    functionLinenumberEnd: 9042
    functionName: bpf_object_post_load_cleanup
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - bpf_object_cleanup_btf
    linkageType: ''
    returnType: void
    signature: void bpf_object_post_load_cleanup(struct bpf_object *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9049,1
    - Dst: bpf_object_prepare_token
      Src: /src/libbpf/src/libbpf.c:9053,1
    - Dst: bpf_object__probe_loading
      Src: /src/libbpf/src/libbpf.c:9054,1
    - Dst: bpf_object__load_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:9055,1
    - Dst: bpf_object__resolve_externs
      Src: /src/libbpf/src/libbpf.c:9056,1
    - Dst: bpf_object__sanitize_maps
      Src: /src/libbpf/src/libbpf.c:9057,1
    - Dst: bpf_object__init_kern_struct_ops_maps
      Src: /src/libbpf/src/libbpf.c:9058,1
    - Dst: bpf_object_adjust_struct_ops_autoload
      Src: /src/libbpf/src/libbpf.c:9059,1
    - Dst: bpf_object__relocate
      Src: /src/libbpf/src/libbpf.c:9060,1
    - Dst: bpf_object__sanitize_and_load_btf
      Src: /src/libbpf/src/libbpf.c:9061,1
    - Dst: bpf_object__create_maps
      Src: /src/libbpf/src/libbpf.c:9062,1
    - Dst: bpf_object_prepare_progs
      Src: /src/libbpf/src/libbpf.c:9063,1
    - Dst: bpf_object_unpin
      Src: /src/libbpf/src/libbpf.c:9066,1
    - Dst: bpf_object_unload
      Src: /src/libbpf/src/libbpf.c:9067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - obj
    - target_btf_path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9074
      start: 9044
    functionDepth: 12
    functionLinenumber: 9044
    functionLinenumberEnd: 9074
    functionName: bpf_object_prepare
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__init_kern_struct_ops_maps
    - bpf_object_prepare_token
    - bpf_object_unload
    - bpf_object_unpin
    - bpf_object__load_vmlinux_btf
    - bpf_object__probe_loading
    - bpf_object__sanitize_and_load_btf
    - bpf_object_adjust_struct_ops_autoload
    - bpf_object__create_maps
    - bpf_object__sanitize_maps
    - bpf_object__resolve_externs
    - bpf_object_prepare_progs
    - pr_warn
    - bpf_object__relocate
    linkageType: ''
    returnType: int
    signature: int bpf_object_prepare(struct bpf_object *obj, const char *target_btf_path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9081,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9084,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9085,1
    - Dst: bpf_gen__init
      Src: /src/libbpf/src/libbpf.c:9092,1
    - Dst: is_native_endianness
      Src: /src/libbpf/src/libbpf.c:9093,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9094,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9095,1
    - Dst: bpf_object_prepare
      Src: /src/libbpf/src/libbpf.c:9099,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9101,1
    - Dst: bpf_object__load_progs
      Src: /src/libbpf/src/libbpf.c:9103,1
    - Dst: bpf_object_init_prog_arrays
      Src: /src/libbpf/src/libbpf.c:9104,1
    - Dst: bpf_object_prepare_struct_ops
      Src: /src/libbpf/src/libbpf.c:9105,1
    - Dst: btf__set_fd
      Src: /src/libbpf/src/libbpf.c:9110,1
    - Dst: bpf_gen__finish
      Src: /src/libbpf/src/libbpf.c:9112,1
    - Dst: bpf_object_post_load_cleanup
      Src: /src/libbpf/src/libbpf.c:9115,1
    - Dst: bpf_object_unpin
      Src: /src/libbpf/src/libbpf.c:9119,1
    - Dst: bpf_object_unload
      Src: /src/libbpf/src/libbpf.c:9120,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9121,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - obj
    - extra_log_level
    - target_btf_path
    argTypes:
    - struct bpf_object*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9126
      start: 9076
    functionDepth: 13
    functionLinenumber: 9076
    functionLinenumberEnd: 9126
    functionName: bpf_object_load
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object_post_load_cleanup
    - bpf_object_unload
    - bpf_object_unpin
    - bpf_gen__finish
    - is_native_endianness
    - bpf_object__load_progs
    - bpf_object_prepare
    - bpf_object_init_prog_arrays
    - btf__set_fd
    - bpf_object_prepare_struct_ops
    - bpf_gen__init
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object_load(struct bpf_object *obj, int extra_log_level, const
      char *target_btf_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9130,1
    - Dst: bpf_object_prepare
      Src: /src/libbpf/src/libbpf.c:9130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9131
      start: 9128
    functionDepth: 13
    functionLinenumber: 9128
    functionLinenumberEnd: 9131
    functionName: bpf_object__prepare
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object_prepare
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__prepare(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object_load
      Src: /src/libbpf/src/libbpf.c:9135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9136
      start: 9133
    functionDepth: 14
    functionLinenumber: 9133
    functionLinenumberEnd: 9136
    functionName: bpf_object__load
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object_load
    linkageType: ''
    returnType: int
    signature: int bpf_object__load(struct bpf_object *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:9143,1
    - Dst: dirname
      Src: /src/libbpf/src/libbpf.c:9147,1
    - Dst: mkdir
      Src: /src/libbpf/src/libbpf.c:9148,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:9151,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9153,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:9153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9156
      start: 9138
    functionDepth: 1
    functionLinenumber: 9138
    functionLinenumberEnd: 9156
    functionName: make_parent_dir
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - mkdir
    - strdup
    - dirname
    - errstr
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int make_parent_dir(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:9167,1
    - Dst: dirname
      Src: /src/libbpf/src/libbpf.c:9171,1
    - Dst: statfs
      Src: /src/libbpf/src/libbpf.c:9172,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9173,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:9173,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:9176,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9158
    functionDepth: 1
    functionLinenumber: 9158
    functionLinenumberEnd: 9184
    functionName: check_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strdup
    - dirname
    - errstr
    - free
    - pr_warn
    - statfs
    linkageType: ''
    returnType: int
    signature: int check_path(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9191,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9192,1
    - Dst: make_parent_dir
      Src: /src/libbpf/src/libbpf.c:9195,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9197,1
    - Dst: check_path
      Src: /src/libbpf/src/libbpf.c:9199,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9201,1
    - Dst: bpf_obj_pin
      Src: /src/libbpf/src/libbpf.c:9203,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9205,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:9205,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9206,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:9209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - prog
    - path
    argTypes:
    - struct bpf_program*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9211
      start: 9186
    functionDepth: 3
    functionLinenumber: 9186
    functionLinenumberEnd: 9211
    functionName: bpf_program__pin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - check_path
    - make_parent_dir
    - pr_debug
    - errstr
    - bpf_obj_pin
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__pin(struct bpf_program *prog, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9218,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9219,1
    - Dst: check_path
      Src: /src/libbpf/src/libbpf.c:9222,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9224,1
    - Dst: unlink
      Src: /src/libbpf/src/libbpf.c:9226,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9228,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:9230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - prog
    - path
    argTypes:
    - struct bpf_program*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9232
      start: 9213
    functionDepth: 2
    functionLinenumber: 9213
    functionLinenumberEnd: 9232
    functionName: bpf_program__unpin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - check_path
    - pr_debug
    - pr_warn
    - unlink
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__unpin(struct bpf_program *prog, const char *path)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9239,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9240,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9244,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9245,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:9249,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9250,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9251,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9252,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:9254,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9255,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9260,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9261,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9262,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9264,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9264,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9265,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:9268,1
    - Dst: make_parent_dir
      Src: /src/libbpf/src/libbpf.c:9275,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9277,1
    - Dst: check_path
      Src: /src/libbpf/src/libbpf.c:9279,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9281,1
    - Dst: bpf_obj_pin
      Src: /src/libbpf/src/libbpf.c:9283,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:9289,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9294,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:9294,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - map
    - path
    argTypes:
    - struct bpf_map*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9296
      start: 9234
    functionDepth: 3
    functionLinenumber: 9234
    functionLinenumberEnd: 9296
    functionName: bpf_map__pin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - check_path
    - strdup
    - strcmp
    - make_parent_dir
    - pr_debug
    - bpf_map__name
    - errstr
    - bpf_obj_pin
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__pin(struct bpf_map *map, const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9303,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9304,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:9308,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9309,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9310,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9311,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9315,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9316,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9317,1
    - Dst: check_path
      Src: /src/libbpf/src/libbpf.c:9320,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9322,1
    - Dst: unlink
      Src: /src/libbpf/src/libbpf.c:9324,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9326,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:9329,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - map
    - path
    argTypes:
    - struct bpf_map*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9332
      start: 9298
    functionDepth: 2
    functionLinenumber: 9298
    functionLinenumberEnd: 9332
    functionName: bpf_map__unpin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - check_path
    - strcmp
    - pr_debug
    - bpf_map__name
    - pr_warn
    - unlink
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__unpin(struct bpf_map *map, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup::strdup
      Src: /src/libbpf/src/libbpf.c:9339,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9341,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:9344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - map
    - path
    argTypes:
    - struct bpf_map*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9347
      start: 9334
    functionDepth: 1
    functionLinenumber: 9334
    functionLinenumberEnd: 9347
    functionName: bpf_map__set_pin_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - free
    - strdup::strdup
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9355
      start: 9352
    functionDepth: 0
    functionLinenumber: 9352
    functionLinenumberEnd: 9355
    functionName: bpf_map__pin_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpf_map__pin_path(const struct bpf_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9360
      start: 9357
    functionDepth: 0
    functionLinenumber: 9357
    functionLinenumberEnd: 9360
    functionName: bpf_map__is_pinned
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map__is_pinned(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9370
      start: 9362
    functionDepth: 0
    functionLinenumber: 9362
    functionLinenumberEnd: 9370
    functionName: sanitize_pin_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sanitize_pin_path(char *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9378,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9381,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9382,1
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9393,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9393,1
    - Dst: sanitize_pin_path
      Src: /src/libbpf/src/libbpf.c:9396,1
    - Dst: bpf_map__pin
      Src: /src/libbpf/src/libbpf.c:9402,1
    - Dst: bpf_object__prev_map
      Src: /src/libbpf/src/libbpf.c:9410,1
    - Dst: bpf_map__unpin
      Src: /src/libbpf/src/libbpf.c:9414,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9417,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9418
      start: 9372
    functionDepth: 4
    functionLinenumber: 9372
    functionLinenumberEnd: 9418
    functionName: bpf_object__pin_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sanitize_pin_path
    - bpf_map__name
    - bpf_map__pin
    - bpf_map__unpin
    - bpf_object__prev_map
    - pathname_concat
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9393,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9393,1
    - Dst: sanitize_pin_path
      Src: /src/libbpf/src/libbpf.c:9396,1
    - Dst: bpf_map__pin
      Src: /src/libbpf/src/libbpf.c:9402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9405
      start: 9385
    functionDepth: 4
    functionLinenumber: 9385
    functionLinenumberEnd: 9405
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sanitize_pin_path
    - pathname_concat
    - bpf_map__name
    - bpf_map__pin
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_map(map, obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9426,1
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9433,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9433,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9435,1
    - Dst: sanitize_pin_path
      Src: /src/libbpf/src/libbpf.c:9436,1
    - Dst: bpf_map__unpin
      Src: /src/libbpf/src/libbpf.c:9442,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9448
      start: 9420
    functionDepth: 3
    functionLinenumber: 9420
    functionLinenumberEnd: 9448
    functionName: bpf_object__unpin_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sanitize_pin_path
    - bpf_map__name
    - bpf_map__unpin
    - pathname_concat
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9433,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:9433,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9435,1
    - Dst: sanitize_pin_path
      Src: /src/libbpf/src/libbpf.c:9436,1
    - Dst: bpf_map__unpin
      Src: /src/libbpf/src/libbpf.c:9442,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9445
      start: 9428
    functionDepth: 3
    functionLinenumber: 9428
    functionLinenumberEnd: 9445
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sanitize_pin_path
    - bpf_map__name
    - bpf_map__unpin
    - pathname_concat
    - libbpf_err
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_map(map, obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9457,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9460,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9461,1
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9465,1
    - Dst: bpf_program__pin
      Src: /src/libbpf/src/libbpf.c:9469,1
    - Dst: bpf_object__prev_program
      Src: /src/libbpf/src/libbpf.c:9477,1
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9478,1
    - Dst: bpf_program__unpin
      Src: /src/libbpf/src/libbpf.c:9481,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9485
      start: 9450
    functionDepth: 4
    functionLinenumber: 9450
    functionLinenumberEnd: 9485
    functionName: bpf_object__pin_programs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__unpin
    - bpf_object__prev_program
    - bpf_program__pin
    - pathname_concat
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9465,1
    - Dst: bpf_program__pin
      Src: /src/libbpf/src/libbpf.c:9469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9472
      start: 9464
    functionDepth: 4
    functionLinenumber: 9464
    functionLinenumberEnd: 9472
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pathname_concat
    - bpf_program__pin
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_program(prog, obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9493,1
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9498,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9500,1
    - Dst: bpf_program__unpin
      Src: /src/libbpf/src/libbpf.c:9502,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9508
      start: 9487
    functionDepth: 3
    functionLinenumber: 9487
    functionLinenumberEnd: 9508
    functionName: bpf_object__unpin_programs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__unpin
    - pathname_concat
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pathname_concat
      Src: /src/libbpf/src/libbpf.c:9498,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9500,1
    - Dst: bpf_program__unpin
      Src: /src/libbpf/src/libbpf.c:9502,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9505
      start: 9495
    functionDepth: 3
    functionLinenumber: 9495
    functionLinenumberEnd: 9505
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__unpin
    - pathname_concat
    - libbpf_err
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_program(prog, obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__pin_maps
      Src: /src/libbpf/src/libbpf.c:9514,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9516,1
    - Dst: bpf_object__pin_programs
      Src: /src/libbpf/src/libbpf.c:9518,1
    - Dst: bpf_object__unpin_maps
      Src: /src/libbpf/src/libbpf.c:9520,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9525
      start: 9510
    functionDepth: 5
    functionLinenumber: 9510
    functionLinenumberEnd: 9525
    functionName: bpf_object__pin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__pin_programs
    - libbpf_err
    - bpf_object__unpin_maps
    - bpf_object__pin_maps
    linkageType: ''
    returnType: int
    signature: int bpf_object__pin(struct bpf_object *obj, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__unpin_programs
      Src: /src/libbpf/src/libbpf.c:9531,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9533,1
    - Dst: bpf_object__unpin_maps
      Src: /src/libbpf/src/libbpf.c:9535,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - path
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9540
      start: 9527
    functionDepth: 4
    functionLinenumber: 9527
    functionLinenumberEnd: 9540
    functionName: bpf_object__unpin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__unpin_programs
    - bpf_object__unpin_maps
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__unpin(struct bpf_object *obj, const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__destroy
      Src: /src/libbpf/src/libbpf.c:9545,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9546,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9549,1
    - Dst: munmap
      Src: /src/libbpf/src/libbpf.c:9553,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:9553,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9557,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9558,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9559,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9560,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9563,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9564,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9565,1
    - Dst: zclose
      Src: /src/libbpf/src/libbpf.c:9568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9569
      start: 9542
    functionDepth: 3
    functionLinenumber: 9542
    functionLinenumberEnd: 9569
    functionName: bpf_map__destroy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - zclose
    - zfree
    - bpf_map_mmap_sz
    - bpf_map__destroy
    - munmap
    linkageType: ''
    returnType: void
    signature: void bpf_map__destroy(struct bpf_map *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/libbpf.c:9575,1
    - Dst: bpf_object_post_load_cleanup
      Src: /src/libbpf/src/libbpf.c:9583,1
    - Dst: usdt_manager_free
      Src: /src/libbpf/src/libbpf.c:9585,1
    - Dst: bpf_gen__free
      Src: /src/libbpf/src/libbpf.c:9588,1
    - Dst: bpf_object__elf_finish
      Src: /src/libbpf/src/libbpf.c:9589,1
    - Dst: bpf_object_unload
      Src: /src/libbpf/src/libbpf.c:9590,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:9591,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:9592,1
    - Dst: btf_ext__free
      Src: /src/libbpf/src/libbpf.c:9593,1
    - Dst: bpf_map__destroy
      Src: /src/libbpf/src/libbpf.c:9596,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9598,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9599,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9602,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9603,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9606,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9609,1
    - Dst: bpf_program__exit
      Src: /src/libbpf/src/libbpf.c:9614,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9616,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9618,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9619,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:9621,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9623,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9625,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:9629,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:9630,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:9632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9633
      start: 9571
    functionDepth: 4
    functionLinenumber: 9571
    functionLinenumberEnd: 9633
    functionName: bpf_object__close
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - IS_ERR_OR_NULL
    - bpf_object_unload
    - bpf_object__elf_finish
    - btf__free
    - bpf_gen__free
    - usdt_manager_free
    - zfree
    - close
    - bpf_map__destroy
    - bpf_program__exit
    - free
    - bpf_object_post_load_cleanup
    - btf_ext__free
    linkageType: ''
    returnType: void
    signature: void bpf_object__close(struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:9637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9638
      start: 9635
    functionDepth: 1
    functionLinenumber: 9635
    functionLinenumberEnd: 9638
    functionName: bpf_object__name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err_ptr
    linkageType: ''
    returnType: char
    signature: char *bpf_object__name(const struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9640
    functionDepth: 0
    functionLinenumber: 9640
    functionLinenumberEnd: 9643
    functionName: bpf_object__kversion
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int bpf_object__kversion(const struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9648
      start: 9645
    functionDepth: 0
    functionLinenumber: 9645
    functionLinenumberEnd: 9648
    functionName: bpf_object__token_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bpf_object__token_fd(const struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9653
      start: 9650
    functionDepth: 0
    functionLinenumber: 9650
    functionLinenumberEnd: 9653
    functionName: bpf_object__btf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct btf
    signature: struct btf *bpf_object__btf(const struct bpf_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:9657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct bpf_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9658
      start: 9655
    functionDepth: 1
    functionLinenumber: 9655
    functionLinenumberEnd: 9658
    functionName: bpf_object__btf_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__fd
    linkageType: ''
    returnType: int
    signature: int bpf_object__btf_fd(const struct bpf_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - kern_version
    argTypes:
    - struct bpf_object*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9668
      start: 9660
    functionDepth: 1
    functionLinenumber: 9660
    functionLinenumberEnd: 9668
    functionName: bpf_object__set_kversion
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9675,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:9676,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9677,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:9678,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9680,1
    - Dst: is_native_endianness
      Src: /src/libbpf/src/libbpf.c:9682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - opts
    argTypes:
    - struct bpf_object*
    - struct gen_loader_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9670
    functionDepth: 1
    functionLinenumber: 9670
    functionLinenumberEnd: 9685
    functionName: bpf_object__gen_loader
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - is_native_endianness
    - OPTS_VALID
    - calloc
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts
      *opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p
    - obj
    - forward
    argTypes:
    - struct bpf_program*
    - struct bpf_object*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9711
      start: 9687
    functionDepth: 0
    functionLinenumber: 9687
    functionLinenumberEnd: 9711
    functionName: __bpf_program__iter
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: struct bpf_program
    signature: "struct bpf_program *\n__bpf_program__iter(const struct bpf_program
      *p, const struct bpf_object *obj,\n\t\t    bool forward)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_program__iter
      Src: /src/libbpf/src/libbpf.c:9719,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:9720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - prev
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9723
      start: 9713
    functionDepth: 1
    functionLinenumber: 9713
    functionLinenumberEnd: 9723
    functionName: bpf_object__next_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - __bpf_program__iter
    - prog_is_subprog
    linkageType: ''
    returnType: struct bpf_program
    signature: 'struct bpf_program *

      bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_program__iter
      Src: /src/libbpf/src/libbpf.c:9731,1
    - Dst: prog_is_subprog
      Src: /src/libbpf/src/libbpf.c:9732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - next
    argTypes:
    - struct bpf_object*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9735
      start: 9725
    functionDepth: 1
    functionLinenumber: 9725
    functionLinenumberEnd: 9735
    functionName: bpf_object__prev_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - __bpf_program__iter
    - prog_is_subprog
    linkageType: ''
    returnType: struct bpf_program
    signature: 'struct bpf_program *

      bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *next)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - ifindex
    argTypes:
    - struct bpf_program*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9740
      start: 9737
    functionDepth: 0
    functionLinenumber: 9737
    functionLinenumberEnd: 9740
    functionName: bpf_program__set_ifindex
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9745
      start: 9742
    functionDepth: 0
    functionLinenumber: 9742
    functionLinenumberEnd: 9745
    functionName: bpf_program__name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpf_program__name(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9747
    functionDepth: 0
    functionLinenumber: 9747
    functionLinenumberEnd: 9750
    functionName: bpf_program__section_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpf_program__section_name(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9755
      start: 9752
    functionDepth: 0
    functionLinenumber: 9752
    functionLinenumberEnd: 9755
    functionName: bpf_program__autoload
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_program__autoload(const struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prog
    - autoload
    argTypes:
    - struct bpf_program*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9764
      start: 9757
    functionDepth: 1
    functionLinenumber: 9757
    functionLinenumberEnd: 9764
    functionName: bpf_program__set_autoload
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__set_autoload(struct bpf_program *prog, bool autoload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9769
      start: 9766
    functionDepth: 0
    functionLinenumber: 9766
    functionLinenumberEnd: 9769
    functionName: bpf_program__autoattach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_program__autoattach(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - autoattach
    argTypes:
    - struct bpf_program*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9774
      start: 9771
    functionDepth: 0
    functionLinenumber: 9771
    functionLinenumberEnd: 9774
    functionName: bpf_program__set_autoattach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpf_program__set_autoattach(struct bpf_program *prog, bool autoattach)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9779
      start: 9776
    functionDepth: 0
    functionLinenumber: 9776
    functionLinenumberEnd: 9779
    functionName: bpf_program__insns
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bpf_insn
    signature: struct bpf_insn *bpf_program__insns(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9784
      start: 9781
    functionDepth: 0
    functionLinenumber: 9781
    functionLinenumberEnd: 9784
    functionName: bpf_program__insn_cnt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bpf_program__insn_cnt(const struct bpf_program *prog)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9792,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:9794,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9797,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9798,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:9800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - prog
    - new_insns
    - new_insn_cnt
    argTypes:
    - struct bpf_program*
    - struct bpf_insn*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9786
    functionDepth: 1
    functionLinenumber: 9786
    functionLinenumberEnd: 9805
    functionName: bpf_program__set_insns
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - pr_warn
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_program__set_insns(struct bpf_program *prog,\n\t\t\t   struct
      bpf_insn *new_insns, size_t new_insn_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9810,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9816
      start: 9807
    functionDepth: 1
    functionLinenumber: 9807
    functionLinenumberEnd: 9816
    functionName: bpf_program__fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__fd(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9824
      start: 9821
    functionDepth: 0
    functionLinenumber: 9821
    functionLinenumberEnd: 9824
    functionName: bpf_program__type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum bpf_prog_type
    signature: enum bpf_prog_type bpf_program__type(const struct bpf_program *prog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - prog
    - type
    argTypes:
    - struct bpf_program*
    - enum bpf_prog_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9852
      start: 9832
    functionDepth: 1
    functionLinenumber: 9832
    functionLinenumberEnd: 9852
    functionName: bpf_program__set_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9860
      start: 9857
    functionDepth: 0
    functionLinenumber: 9857
    functionLinenumberEnd: 9860
    functionName: bpf_program__expected_attach_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum bpf_attach_type
    signature: enum bpf_attach_type bpf_program__expected_attach_type(const struct
      bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prog
    - type
    argTypes:
    - struct bpf_program*
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9870
      start: 9862
    functionDepth: 1
    functionLinenumber: 9862
    functionLinenumberEnd: 9870
    functionName: bpf_program__set_expected_attach_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_program__set_expected_attach_type(struct bpf_program *prog,\n\t\t\t\t\t
      \  enum bpf_attach_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9875
      start: 9872
    functionDepth: 0
    functionLinenumber: 9872
    functionLinenumberEnd: 9875
    functionName: bpf_program__flags
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_program__flags(const struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prog
    - flags
    argTypes:
    - struct bpf_program*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9884
      start: 9877
    functionDepth: 1
    functionLinenumber: 9877
    functionLinenumberEnd: 9884
    functionName: bpf_program__set_flags
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__set_flags(struct bpf_program *prog, __u32 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9889
      start: 9886
    functionDepth: 0
    functionLinenumber: 9886
    functionLinenumberEnd: 9889
    functionName: bpf_program__log_level
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_program__log_level(const struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prog
    - log_level
    argTypes:
    - struct bpf_program*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9898
      start: 9891
    functionDepth: 1
    functionLinenumber: 9891
    functionLinenumberEnd: 9898
    functionName: bpf_program__set_log_level
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prog
    - log_size
    argTypes:
    - struct bpf_program*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9904
      start: 9900
    functionDepth: 0
    functionLinenumber: 9900
    functionLinenumberEnd: 9904
    functionName: bpf_program__log_buf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9909,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9911,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - prog
    - log_buf
    - log_size
    argTypes:
    - struct bpf_program*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9918
      start: 9906
    functionDepth: 1
    functionLinenumber: 9906
    functionLinenumberEnd: 9918
    functionName: bpf_program__set_log_buf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf,
      size_t log_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:9923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9920
    functionDepth: 1
    functionLinenumber: 9920
    functionLinenumberEnd: 9925
    functionName: bpf_program__func_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err_ptr
    linkageType: ''
    returnType: struct bpf_func_info
    signature: struct bpf_func_info *bpf_program__func_info(const struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9930
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9930
    functionName: bpf_program__func_info_cnt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_program__func_info_cnt(const struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:9935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9937
      start: 9932
    functionDepth: 1
    functionLinenumber: 9932
    functionLinenumberEnd: 9937
    functionName: bpf_program__line_info
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err_ptr
    linkageType: ''
    returnType: struct bpf_line_info
    signature: struct bpf_line_info *bpf_program__line_info(const struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9942
      start: 9939
    functionDepth: 0
    functionLinenumber: 9939
    functionLinenumberEnd: 9942
    functionName: bpf_program__line_info_cnt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_program__line_info_cnt(const struct bpf_program *prog)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:9946,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9953,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:9955,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9956,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9960,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9966,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9967,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9968,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9969,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9970,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9971,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9972,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9976,1
    - Dst: btf__fd
      Src: /src/libbpf/src/libbpf.c:9978,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:9981,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9985,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9986,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9987,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:9989,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:9991,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9997,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9998,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:9999,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10001,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10003,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10011,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10012,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10013,1
    - Dst: struct bpf_program*::sec_def::prog_prepare_load_fn
      Src: /src/libbpf/src/libbpf.c:10025,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10027,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10031,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10032,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10033,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10034,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10035,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10036,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/libbpf.c:10043,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10046,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - prog
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_prog_load_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10047
      start: 9944
    functionDepth: 4
    functionLinenumber: 9944
    functionLinenumberEnd: 10047
    functionName: bpf_program__clone
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_prog_load
    - btf__fd
    - struct bpf_program*::sec_def::prog_prepare_load_fn
    - OPTS_GET
    - kernel_supports
    - OPTS_VALID
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_program__clone(struct bpf_program *prog, const struct bpf_prog_load_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sec_pfx
    - ','
    - ptype
    - ','
    - atype
    - ','
    - flags
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10057
      start: 10049
    functionDepth: 0
    functionLinenumber: 10049
    functionLinenumberEnd: 10057
    functionName: SEC_DEF
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC_DEF(sec_pfx, ptype, atype, flags, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:10198,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10199,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10202,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:10205,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10208,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10214,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:10219,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10221,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10225,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10227,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10228,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:10229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - sec
    - prog_type
    - exp_attach_type
    - opts
    argTypes:
    - char*
    - enum bpf_prog_type
    - enum bpf_attach_type
    - struct libbpf_prog_handler_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10239
      start: 10191
    functionDepth: 1
    functionLinenumber: 10191
    functionLinenumberEnd: 10239
    functionName: libbpf_register_prog_handler
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strdup
    - OPTS_GET
    - libbpf_reallocarray
    - OPTS_VALID
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int libbpf_register_prog_handler(const char *sec,\n\t\t\t\t enum bpf_prog_type
      prog_type,\n\t\t\t\t enum bpf_attach_type exp_attach_type,\n\t\t\t\t const struct
      libbpf_prog_handler_opts *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10247,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:10250,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10261,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:10263,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/libbpf.c:10269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - handler_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10278
      start: 10241
    functionDepth: 1
    functionLinenumber: 10241
    functionLinenumberEnd: 10278
    functionName: libbpf_unregister_prog_handler
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    - free
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_unregister_prog_handler(int handler_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:10282,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:10286,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:10297,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:10305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - sec_def
    - sec_name
    argTypes:
    - struct bpf_sec_def*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10306
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10306
    functionName: sec_def_matches
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - strncmp
    - str_has_pfx
    linkageType: ''
    returnType: bool
    signature: bool sec_def_matches(const struct bpf_sec_def *sec_def, const char
      *sec_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sec_def_matches
      Src: /src/libbpf/src/libbpf.c:10316,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10320,1
    - Dst: sec_def_matches
      Src: /src/libbpf/src/libbpf.c:10323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - sec_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10331
      start: 10308
    functionDepth: 2
    functionLinenumber: 10308
    functionLinenumberEnd: 10331
    functionName: find_sec_def
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    - sec_def_matches
    linkageType: ''
    returnType: struct bpf_sec_def
    signature: struct bpf_sec_def *find_sec_def(const char *sec_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10337,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:10340,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10346,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:10357,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:10357,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:10358,1
    - Dst: strcat
      Src: /src/libbpf/src/libbpf.c:10361,1
    - Dst: strcat
      Src: /src/libbpf/src/libbpf.c:10362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - attach_type
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10366
      start: 10335
    functionDepth: 1
    functionLinenumber: 10335
    functionLinenumberEnd: 10366
    functionName: libbpf_get_type_names
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcat
    - malloc
    - strlen
    - ARRAY_SIZE
    - free
    linkageType: ''
    returnType: char
    signature: char *libbpf_get_type_names(bool attach_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10375,1
    - Dst: find_sec_def
      Src: /src/libbpf/src/libbpf.c:10377,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:10384,1
    - Dst: libbpf_get_type_names
      Src: /src/libbpf/src/libbpf.c:10385,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:10387,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:10388,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - name
    - prog_type
    - expected_attach_type
    argTypes:
    - char*
    - enum bpf_prog_type*
    - enum bpf_attach_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10392
      start: 10368
    functionDepth: 3
    functionLinenumber: 10368
    functionLinenumberEnd: 10392
    functionName: libbpf_prog_type_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_sec_def
    - pr_debug
    - libbpf_get_type_names
    - free
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type
      *prog_type,\n\t\t\t     enum bpf_attach_type *expected_attach_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10400
      start: 10394
    functionDepth: 1
    functionLinenumber: 10394
    functionLinenumberEnd: 10400
    functionName: libbpf_bpf_attach_type_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *libbpf_bpf_attach_type_str(enum bpf_attach_type t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum bpf_link_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10408
      start: 10402
    functionDepth: 1
    functionLinenumber: 10402
    functionLinenumberEnd: 10408
    functionName: libbpf_bpf_link_type_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *libbpf_bpf_link_type_str(enum bpf_link_type t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum bpf_map_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10416
      start: 10410
    functionDepth: 1
    functionLinenumber: 10410
    functionLinenumberEnd: 10416
    functionName: libbpf_bpf_map_type_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *libbpf_bpf_map_type_str(enum bpf_map_type t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:10420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum bpf_prog_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10424
      start: 10418
    functionDepth: 1
    functionLinenumber: 10418
    functionLinenumberEnd: 10424
    functionName: libbpf_bpf_prog_type_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *libbpf_bpf_prog_type_str(enum bpf_prog_type t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:10435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - sec_idx
    - offset
    argTypes:
    - struct bpf_object*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10444
      start: 10426
    functionDepth: 1
    functionLinenumber: 10426
    functionLinenumberEnd: 10444
    functionName: find_struct_ops_map_by_offset
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    linkageType: ''
    returnType: struct bpf_map
    signature: "struct bpf_map *find_struct_ops_map_by_offset(struct bpf_object *obj,\n\t\t\t\t\t\t
      \    int sec_idx,\n\t\t\t\t\t\t     size_t offset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: elf_rel_by_idx
      Src: /src/libbpf/src/libbpf.c:10469,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10471,1
    - Dst: elf_sym_by_idx
      Src: /src/libbpf/src/libbpf.c:10475,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:10475,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10477,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/libbpf.c:10478,1
    - Dst: elf_sym_str
      Src: /src/libbpf/src/libbpf.c:10482,1
    - Dst: find_struct_ops_map_by_offset
      Src: /src/libbpf/src/libbpf.c:10483,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10485,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:10493,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10501,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10506,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:10512,1
    - Dst: find_member_by_offset
      Src: /src/libbpf/src/libbpf.c:10513,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10515,1
    - Dst: btf_members
      Src: /src/libbpf/src/libbpf.c:10519,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:10520,1
    - Dst: resolve_func_ptr
      Src: /src/libbpf/src/libbpf.c:10522,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10523,1
    - Dst: find_prog_by_sec_insn
      Src: /src/libbpf/src/libbpf.c:10528,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10530,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 3
    argNames:
    - obj
    - shdr
    - data
    argTypes:
    - struct bpf_object*
    - Elf64_Shdr*
    - Elf_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10554
      start: 10449
    functionDepth: 4
    functionLinenumber: 10449
    functionLinenumberEnd: 10554
    functionName: bpf_object__collect_st_ops_relos
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - elf_rel_by_idx
    - find_member_by_offset
    - find_prog_by_sec_insn
    - elf_sym_by_idx
    - btf__type_by_id
    - btf__name_by_offset
    - resolve_func_ptr
    - pr_debug
    - find_struct_ops_map_by_offset
    - pr_warn
    - btf_members
    - elf_sym_str
    - ELF64_R_SYM
    linkageType: ''
    returnType: int
    signature: "int bpf_object__collect_st_ops_relos(struct bpf_object *obj,\n\t\t\t\t\t
      \   Elf64_Shdr *shdr, Elf_Data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - attach_type
    - prefix
    - kind
    argTypes:
    - enum bpf_attach_type
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10582
      start: 10561
    functionDepth: 0
    functionLinenumber: 10561
    functionLinenumberEnd: 10582
    functionName: btf_get_kernel_prefix_kind
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void btf_get_kernel_prefix_kind(enum bpf_attach_type attach_type,\n\t\t\t\tconst
      char **prefix, int *kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:10590,1
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:10598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - btf
    - prefix
    - name
    - kind
    argTypes:
    - struct btf*
    - char*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10599
      start: 10584
    functionDepth: 1
    functionLinenumber: 10584
    functionLinenumberEnd: 10599
    functionName: find_btf_by_prefix_kind
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__find_by_name_kind
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int find_btf_by_prefix_kind(const struct btf *btf, const char *prefix,\n\t\t\t\t
      \  const char *name, __u32 kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_get_kernel_prefix_kind
      Src: /src/libbpf/src/libbpf.c:10607,1
    - Dst: find_btf_by_prefix_kind
      Src: /src/libbpf/src/libbpf.c:10608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - btf
    - name
    - attach_type
    argTypes:
    - struct btf*
    - char*
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10609
      start: 10601
    functionDepth: 2
    functionLinenumber: 10601
    functionLinenumberEnd: 10609
    functionName: find_attach_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - btf_get_kernel_prefix_kind
    - find_btf_by_prefix_kind
    linkageType: ''
    returnType: int
    signature: "int find_attach_btf_id(struct btf *btf, const char *name,\n\t\t\t\t
      \    enum bpf_attach_type attach_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__load_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:10617,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:10618,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10620,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10621,1
    - Dst: find_attach_btf_id
      Src: /src/libbpf/src/libbpf.c:10624,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10626,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:10628,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - name
    - attach_type
    argTypes:
    - char*
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10630
      start: 10611
    functionDepth: 3
    functionLinenumber: 10611
    functionLinenumberEnd: 10630
    functionName: libbpf_find_vmlinux_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__free
    - find_attach_btf_id
    - libbpf_get_error
    - btf__load_vmlinux_btf
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int libbpf_find_vmlinux_btf_id(const char *name,\n\t\t\t       enum
      bpf_attach_type attach_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:10639,1
    - Dst: bpf_prog_get_info_by_fd
      Src: /src/libbpf/src/libbpf.c:10640,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10642,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10643,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10649,1
    - Dst: btf_load_from_kernel
      Src: /src/libbpf/src/libbpf.c:10652,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:10653,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10655,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10655,1
    - Dst: btf__find_by_name_kind
      Src: /src/libbpf/src/libbpf.c:10658,1
    - Dst: btf__free
      Src: /src/libbpf/src/libbpf.c:10659,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - name
    - attach_prog_fd
    - token_fd
    argTypes:
    - char*
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10666
      start: 10632
    functionDepth: 3
    functionLinenumber: 10632
    functionLinenumberEnd: 10666
    functionName: libbpf_find_prog_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - btf_load_from_kernel
    - btf__free
    - errstr
    - libbpf_get_error
    - bpf_prog_get_info_by_fd
    - btf__find_by_name_kind
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int libbpf_find_prog_btf_id(const char *name, __u32 attach_prog_fd,
      int token_fd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:10675,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:10682,1
    - Dst: find_attach_btf_id
      Src: /src/libbpf/src/libbpf.c:10683,1
    - Dst: load_module_btfs
      Src: /src/libbpf/src/libbpf.c:10695,1
    - Dst: strncmp
      Src: /src/libbpf/src/libbpf.c:10702,1
    - Dst: find_attach_btf_id
      Src: /src/libbpf/src/libbpf.c:10705,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - obj
    - attach_name
    - attach_type
    - btf_obj_fd
    - btf_type_id
    argTypes:
    - struct bpf_object*
    - char*
    - enum bpf_attach_type
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10720
      start: 10668
    functionDepth: 5
    functionLinenumber: 10668
    functionLinenumberEnd: 10720
    functionName: find_kernel_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - load_module_btfs
    - strncmp
    - find_attach_btf_id
    linkageType: ''
    returnType: int
    signature: "int find_kernel_btf_id(struct bpf_object *obj, const char *attach_name,\n\t\t\t
      \     enum bpf_attach_type attach_type,\n\t\t\t      int *btf_obj_fd, int *btf_type_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10732,1
    - Dst: libbpf_find_prog_btf_id
      Src: /src/libbpf/src/libbpf.c:10735,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10737,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10738,1
    - Dst: bpf_gen__record_attach_target
      Src: /src/libbpf/src/libbpf.c:10748,1
    - Dst: find_kernel_btf_id
      Src: /src/libbpf/src/libbpf.c:10752,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10757,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - prog
    - attach_name
    - btf_obj_fd
    - btf_type_id
    argTypes:
    - struct bpf_program*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10762
      start: 10722
    functionDepth: 6
    functionLinenumber: 10722
    functionLinenumberEnd: 10762
    functionName: libbpf_find_attach_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - find_kernel_btf_id
    - errstr
    - bpf_gen__record_attach_target
    - libbpf_find_prog_btf_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int libbpf_find_attach_btf_id(struct bpf_program *prog, const char
      *attach_name,\n\t\t\t\t     int *btf_obj_fd, int *btf_type_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10771,1
    - Dst: find_sec_def
      Src: /src/libbpf/src/libbpf.c:10773,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:10775,1
    - Dst: libbpf_get_type_names
      Src: /src/libbpf/src/libbpf.c:10776,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:10778,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:10779,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10782,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10786,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - name
    - attach_type
    argTypes:
    - char*
    - enum bpf_attach_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10792
      start: 10764
    functionDepth: 3
    functionLinenumber: 10764
    functionLinenumberEnd: 10792
    functionName: libbpf_attach_type_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - find_sec_def
    - pr_debug
    - libbpf_get_type_names
    - free
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int libbpf_attach_type_by_name(const char *name,\n\t\t\t       enum
      bpf_attach_type *attach_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10797,1
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10794
    functionDepth: 1
    functionLinenumber: 10794
    functionLinenumberEnd: 10801
    functionName: bpf_map__fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__fd(const struct bpf_map *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:10811,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:10813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10816
      start: 10803
    functionDepth: 0
    functionLinenumber: 10803
    functionLinenumberEnd: 10816
    functionName: map_uses_real_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool map_uses_real_name(const struct bpf_map *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_uses_real_name
      Src: /src/libbpf/src/libbpf.c:10823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10827
      start: 10818
    functionDepth: 1
    functionLinenumber: 10818
    functionLinenumberEnd: 10827
    functionName: bpf_map__name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 8
    functionsReached:
    - map_uses_real_name
    linkageType: ''
    returnType: char
    signature: char *bpf_map__name(const struct bpf_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10832
      start: 10829
    functionDepth: 0
    functionLinenumber: 10829
    functionLinenumberEnd: 10832
    functionName: bpf_map__type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum bpf_map_type
    signature: enum bpf_map_type bpf_map__type(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10836,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - type
    argTypes:
    - struct bpf_map*
    - enum bpf_map_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10840
      start: 10834
    functionDepth: 1
    functionLinenumber: 10834
    functionLinenumberEnd: 10840
    functionName: bpf_map__set_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10845
      start: 10842
    functionDepth: 0
    functionLinenumber: 10842
    functionLinenumberEnd: 10845
    functionName: bpf_map__map_flags
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__map_flags(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10849,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - flags
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10853
      start: 10847
    functionDepth: 1
    functionLinenumber: 10847
    functionLinenumberEnd: 10853
    functionName: bpf_map__set_map_flags
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10858
      start: 10855
    functionDepth: 0
    functionLinenumber: 10855
    functionLinenumberEnd: 10858
    functionName: bpf_map__map_extra
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 bpf_map__map_extra(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10862,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - map_extra
    argTypes:
    - struct bpf_map*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10866
      start: 10860
    functionDepth: 1
    functionLinenumber: 10860
    functionLinenumberEnd: 10866
    functionName: bpf_map__set_map_extra
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10871
      start: 10868
    functionDepth: 0
    functionLinenumber: 10868
    functionLinenumberEnd: 10871
    functionName: bpf_map__numa_node
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__numa_node(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10875,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - numa_node
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10879
      start: 10873
    functionDepth: 1
    functionLinenumber: 10873
    functionLinenumberEnd: 10879
    functionName: bpf_map__set_numa_node
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10884
      start: 10881
    functionDepth: 0
    functionLinenumber: 10881
    functionLinenumberEnd: 10884
    functionName: bpf_map__key_size
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__key_size(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10888,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - size
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10892
      start: 10886
    functionDepth: 1
    functionLinenumber: 10886
    functionLinenumberEnd: 10892
    functionName: bpf_map__set_key_size
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_key_size(struct bpf_map *map, __u32 size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10897
      start: 10894
    functionDepth: 0
    functionLinenumber: 10894
    functionLinenumberEnd: 10897
    functionName: bpf_map__value_size
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__value_size(const struct bpf_map *map)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__btf
      Src: /src/libbpf/src/libbpf.c:10910,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:10915,1
    - Dst: bpf_map__btf_value_type_id
      Src: /src/libbpf/src/libbpf.c:10915,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:10916,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10917,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10918,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:10923,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10925,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10926,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:10931,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:10932,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/libbpf.c:10933,1
    - Dst: btf_is_array
      Src: /src/libbpf/src/libbpf.c:10934,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10935,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10936,1
    - Dst: btf_array
      Src: /src/libbpf/src/libbpf.c:10941,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/libbpf.c:10942,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10944,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10945,1
    - Dst: btf__add_array
      Src: /src/libbpf/src/libbpf.c:10951,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:10958,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:10959,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/libbpf.c:10960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - map
    - size
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10968
      start: 10899
    functionDepth: 3
    functionLinenumber: 10899
    functionLinenumberEnd: 10968
    functionName: map_btf_datasec_resize
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf_is_array
    - btf_type_by_id
    - btf__resolve_size
    - btf__add_array
    - bpf_map__name
    - bpf_map__btf_value_type_id
    - btf_vlen
    - btf_array
    - bpf_object__btf
    - btf_var_secinfos
    - skip_mods_and_typedefs
    - btf_is_datasec
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int map_btf_datasec_resize(struct bpf_map *map, __u32 size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:10972,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10973,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10980,1
    - Dst: bpf_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:10982,1
    - Dst: array_map_mmap_sz
      Src: /src/libbpf/src/libbpf.c:10983,1
    - Dst: bpf_map_mmap_resize
      Src: /src/libbpf/src/libbpf.c:10984,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10986,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10987,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10987,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:10988,1
    - Dst: map_btf_datasec_resize
      Src: /src/libbpf/src/libbpf.c:10990,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:10992,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:10993,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:10993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - map
    - size
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11001
      start: 10970
    functionDepth: 4
    functionLinenumber: 10970
    functionLinenumberEnd: 11001
    functionName: bpf_map__set_value_size
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_mmap_resize
    - map_btf_datasec_resize
    - bpf_map__name
    - bpf_map_mmap_sz
    - errstr
    - map_is_created
    - array_map_mmap_sz
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_value_size(struct bpf_map *map, __u32 size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11006
      start: 11003
    functionDepth: 0
    functionLinenumber: 11003
    functionLinenumberEnd: 11006
    functionName: bpf_map__btf_key_type_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11011
    functionName: bpf_map__btf_value_type_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:11018,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11019,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11022,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11029,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:11031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - map
    - data
    - size
    argTypes:
    - struct bpf_map*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11033
      start: 11013
    functionDepth: 1
    functionLinenumber: 11013
    functionLinenumberEnd: 11033
    functionName: bpf_map__set_initial_value
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__set_initial_value(struct bpf_map *map,\n\t\t\t       const
      void *data, size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:11037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - map
    - psize
    argTypes:
    - struct bpf_map*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11052
      start: 11035
    functionDepth: 1
    functionLinenumber: 11035
    functionLinenumberEnd: 11052
    functionName: bpf_map__initial_value
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__is_struct_ops
    linkageType: ''
    returnType: void
    signature: void *bpf_map__initial_value(const struct bpf_map *map, size_t *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11057
      start: 11054
    functionDepth: 0
    functionLinenumber: 11054
    functionLinenumberEnd: 11057
    functionName: bpf_map__is_internal
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bpf_map__is_internal(const struct bpf_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11062
      start: 11059
    functionDepth: 0
    functionLinenumber: 11059
    functionLinenumberEnd: 11062
    functionName: bpf_map__ifindex
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 bpf_map__ifindex(const struct bpf_map *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:11066,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - ifindex
    argTypes:
    - struct bpf_map*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11070
      start: 11064
    functionDepth: 1
    functionLinenumber: 11064
    functionLinenumberEnd: 11070
    functionName: bpf_map__set_ifindex
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_type__is_map_in_map
      Src: /src/libbpf/src/libbpf.c:11074,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11075,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11076,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11079,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11080,1
    - Dst: bpf_map__destroy
      Src: /src/libbpf/src/libbpf.c:11083,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:11084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - map
    - fd
    argTypes:
    - struct bpf_map*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11088
      start: 11072
    functionDepth: 4
    functionLinenumber: 11072
    functionLinenumberEnd: 11088
    functionName: bpf_map__set_inner_map_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_type__is_map_in_map
    - zfree
    - bpf_map__destroy
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:11092,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11093,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11094,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11098,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - map
    - prog
    argTypes:
    - struct bpf_map*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11104
      start: 11090
    functionDepth: 1
    functionLinenumber: 11090
    functionLinenumberEnd: 11104
    functionName: bpf_map__set_exclusive_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - map_is_created
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_map__set_exclusive_program(struct bpf_map *map, struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11109
      start: 11106
    functionDepth: 0
    functionLinenumber: 11106
    functionLinenumberEnd: 11109
    functionName: bpf_map__exclusive_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bpf_program
    signature: struct bpf_program *bpf_map__exclusive_program(struct bpf_map *map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - m
    - obj
    - i
    argTypes:
    - struct bpf_map*
    - struct bpf_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11133
      start: 11111
    functionDepth: 0
    functionLinenumber: 11111
    functionLinenumberEnd: 11133
    functionName: __bpf_map__iter
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: struct bpf_map
    signature: 'struct bpf_map *

      __bpf_map__iter(const struct bpf_map *m, const struct bpf_object *obj, int i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_map__iter
      Src: /src/libbpf/src/libbpf.c:11141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - prev
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11142
      start: 11135
    functionDepth: 1
    functionLinenumber: 11135
    functionLinenumberEnd: 11142
    functionName: bpf_object__next_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - __bpf_map__iter
    linkageType: ''
    returnType: struct bpf_map
    signature: 'struct bpf_map *

      bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *prev)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __bpf_map__iter
      Src: /src/libbpf/src/libbpf.c:11153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - next
    argTypes:
    - struct bpf_object*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11154
      start: 11144
    functionDepth: 1
    functionLinenumber: 11144
    functionLinenumberEnd: 11154
    functionName: bpf_object__prev_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - __bpf_map__iter
    linkageType: ''
    returnType: struct bpf_map
    signature: 'struct bpf_map *

      bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *next)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11167,1
    - Dst: map_uses_real_name
      Src: /src/libbpf/src/libbpf.c:11172,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11173,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11181
      start: 11156
    functionDepth: 1
    functionLinenumber: 11156
    functionLinenumberEnd: 11181
    functionName: bpf_object__find_map_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - strcmp
    - map_uses_real_name
    linkageType: ''
    returnType: struct bpf_map
    signature: 'struct bpf_map *

      bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11167,1
    - Dst: map_uses_real_name
      Src: /src/libbpf/src/libbpf.c:11172,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11173,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:11177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11179
      start: 11161
    functionDepth: 1
    functionLinenumber: 11161
    functionLinenumberEnd: 11179
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - map_uses_real_name
    linkageType: ''
    returnType: void
    signature: void bpf_object__for_each_map(pos, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__fd
      Src: /src/libbpf/src/libbpf.c:11186,1
    - Dst: bpf_object__find_map_by_name
      Src: /src/libbpf/src/libbpf.c:11186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct bpf_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11187
      start: 11183
    functionDepth: 2
    functionLinenumber: 11183
    functionLinenumberEnd: 11187
    functionName: bpf_object__find_map_fd_by_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__find_map_by_name
    - bpf_map__fd
    linkageType: ''
    returnType: int
    signature: int bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const
      char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: map_is_created
      Src: /src/libbpf/src/libbpf.c:11192,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11196,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11202,1
    - Dst: libbpf_num_possible_cpus
      Src: /src/libbpf/src/libbpf.c:11214,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf.c:11215,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11219,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11224,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11232,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - map
    - key_sz
    - value_sz
    - check_value_sz
    - flags
    argTypes:
    - struct bpf_map*
    - size_t
    - size_t
    - bool
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11247
      start: 11189
    functionDepth: 1
    functionLinenumber: 11189
    functionLinenumberEnd: 11247
    functionName: validate_map_op
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - libbpf_num_possible_cpus
    - roundup
    - map_is_created
    linkageType: ''
    returnType: int
    signature: "int validate_map_op(const struct bpf_map *map, size_t key_sz,\n\t\t\t
      \  size_t value_sz, bool check_value_sz, __u64 flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_map_op
      Src: /src/libbpf/src/libbpf.c:11255,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11257,1
    - Dst: bpf_map_lookup_elem_flags
      Src: /src/libbpf/src/libbpf.c:11259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - map
    - key
    - key_sz
    - value
    - value_sz
    - flags
    argTypes:
    - struct bpf_map*
    - void*
    - size_t
    - void*
    - size_t
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11260
      start: 11249
    functionDepth: 2
    functionLinenumber: 11249
    functionLinenumberEnd: 11260
    functionName: bpf_map__lookup_elem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_elem_flags
    - validate_map_op
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__lookup_elem(const struct bpf_map *map,\n\t\t\t const
      void *key, size_t key_sz,\n\t\t\t void *value, size_t value_sz, __u64 flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_map_op
      Src: /src/libbpf/src/libbpf.c:11268,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11270,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:11272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - map
    - key
    - key_sz
    - value
    - value_sz
    - flags
    argTypes:
    - struct bpf_map*
    - void*
    - size_t
    - void*
    - size_t
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11273
      start: 11262
    functionDepth: 2
    functionLinenumber: 11262
    functionLinenumberEnd: 11273
    functionName: bpf_map__update_elem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_update_elem
    - validate_map_op
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__update_elem(const struct bpf_map *map,\n\t\t\t const
      void *key, size_t key_sz,\n\t\t\t const void *value, size_t value_sz, __u64
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_map_op
      Src: /src/libbpf/src/libbpf.c:11280,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11282,1
    - Dst: bpf_map_delete_elem_flags
      Src: /src/libbpf/src/libbpf.c:11284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - map
    - key
    - key_sz
    - flags
    argTypes:
    - struct bpf_map*
    - void*
    - size_t
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11285
      start: 11275
    functionDepth: 2
    functionLinenumber: 11275
    functionLinenumberEnd: 11285
    functionName: bpf_map__delete_elem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_delete_elem_flags
    - validate_map_op
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__delete_elem(const struct bpf_map *map,\n\t\t\t const
      void *key, size_t key_sz, __u64 flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_map_op
      Src: /src/libbpf/src/libbpf.c:11293,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11295,1
    - Dst: bpf_map_lookup_and_delete_elem_flags
      Src: /src/libbpf/src/libbpf.c:11297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - map
    - key
    - key_sz
    - value
    - value_sz
    - flags
    argTypes:
    - struct bpf_map*
    - void*
    - size_t
    - void*
    - size_t
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11287
    functionDepth: 2
    functionLinenumber: 11287
    functionLinenumberEnd: 11298
    functionName: bpf_map__lookup_and_delete_elem
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_lookup_and_delete_elem_flags
    - validate_map_op
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__lookup_and_delete_elem(const struct bpf_map *map,\n\t\t\t\t
      \   const void *key, size_t key_sz,\n\t\t\t\t    void *value, size_t value_sz,
      __u64 flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_map_op
      Src: /src/libbpf/src/libbpf.c:11305,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11307,1
    - Dst: bpf_map_get_next_key
      Src: /src/libbpf/src/libbpf.c:11309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - map
    - cur_key
    - next_key
    - key_sz
    argTypes:
    - struct bpf_map*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11310
      start: 11300
    functionDepth: 2
    functionLinenumber: 11300
    functionLinenumberEnd: 11310
    functionName: bpf_map__get_next_key
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map_get_next_key
    - validate_map_op
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_map__get_next_key(const struct bpf_map *map,\n\t\t\t  const
      void *cur_key, void *next_key, size_t key_sz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/libbpf.c:11314,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:11317,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:11318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11326
      start: 11312
    functionDepth: 1
    functionLinenumber: 11312
    functionLinenumberEnd: 11326
    functionName: libbpf_get_error
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 8
    functionsReached:
    - PTR_ERR
    - IS_ERR_OR_NULL
    - IS_ERR
    linkageType: ''
    returnType: long
    signature: long libbpf_get_error(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:11332,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11335,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11337,1
    - Dst: bpf_link_update
      Src: /src/libbpf/src/libbpf.c:11340,1
    - Dst: bpf_link__fd
      Src: /src/libbpf/src/libbpf.c:11340,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/libbpf.c:11341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - link
    - prog
    argTypes:
    - struct bpf_link*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11342
      start: 11329
    functionDepth: 2
    functionLinenumber: 11329
    functionLinenumberEnd: 11342
    functionName: bpf_link__update_program
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_link__fd
    - bpf_program__fd
    - libbpf_err_errno
    - bpf_link_update
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_link__update_program(struct bpf_link *link, struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11357
      start: 11354
    functionDepth: 0
    functionLinenumber: 11354
    functionLinenumberEnd: 11357
    functionName: bpf_link__disconnect
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpf_link__disconnect(struct bpf_link *link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/libbpf.c:11363,1
    - Dst: struct bpf_link*::detach
      Src: /src/libbpf/src/libbpf.c:11367,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:11369,1
    - Dst: struct bpf_link*::dealloc
      Src: /src/libbpf/src/libbpf.c:11371,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:11373,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11376
      start: 11359
    functionDepth: 1
    functionLinenumber: 11359
    functionLinenumberEnd: 11376
    functionName: bpf_link__destroy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - IS_ERR_OR_NULL
    - struct bpf_link*::detach
    - free
    - struct bpf_link*::dealloc
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_link__destroy(struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11381
      start: 11378
    functionDepth: 0
    functionLinenumber: 11378
    functionLinenumberEnd: 11381
    functionName: bpf_link__fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bpf_link__fd(const struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11386
      start: 11383
    functionDepth: 0
    functionLinenumber: 11383
    functionLinenumberEnd: 11386
    functionName: bpf_link__pin_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpf_link__pin_path(const struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/libbpf.c:11390,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11391
      start: 11388
    functionDepth: 1
    functionLinenumber: 11388
    functionLinenumberEnd: 11391
    functionName: bpf_link__detach_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - close
    - libbpf_err_errno
    linkageType: ''
    returnType: int
    signature: int bpf_link__detach_fd(struct bpf_link *link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_obj_get
      Src: /src/libbpf/src/libbpf.c:11398,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11401,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11402,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:11405,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11407,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11408,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:11413,1
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/libbpf.c:11415,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11420
      start: 11393
    functionDepth: 2
    functionLinenumber: 11393
    functionLinenumberEnd: 11420
    functionName: bpf_link__open
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strdup
    - libbpf_err_ptr
    - close
    - bpf_obj_get
    - bpf_link__destroy
    - calloc
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_link__open(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_link_detach
      Src: /src/libbpf/src/libbpf.c:11424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11425
      start: 11422
    functionDepth: 2
    functionLinenumber: 11422
    functionLinenumberEnd: 11425
    functionName: bpf_link__detach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_link_detach
    linkageType: ''
    returnType: int
    signature: int bpf_link__detach(struct bpf_link *link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11432,1
    - Dst: make_parent_dir
      Src: /src/libbpf/src/libbpf.c:11433,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11435,1
    - Dst: check_path
      Src: /src/libbpf/src/libbpf.c:11436,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11438,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:11440,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11442,1
    - Dst: bpf_obj_pin
      Src: /src/libbpf/src/libbpf.c:11444,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:11446,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11447,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:11450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - link
    - path
    argTypes:
    - struct bpf_link*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11452
      start: 11427
    functionDepth: 3
    functionLinenumber: 11427
    functionLinenumberEnd: 11452
    functionName: bpf_link__pin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - check_path
    - strdup
    - make_parent_dir
    - pr_debug
    - zfree
    - bpf_obj_pin
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_link__pin(struct bpf_link *link, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:11459,1
    - Dst: unlink
      Src: /src/libbpf/src/libbpf.c:11461,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:11465,1
    - Dst: zfree
      Src: /src/libbpf/src/libbpf.c:11466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11468
      start: 11454
    functionDepth: 1
    functionLinenumber: 11454
    functionLinenumberEnd: 11468
    functionName: bpf_link__unpin
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - zfree
    - pr_debug
    - unlink
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_link__unpin(struct bpf_link *link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:11484,1
    - Dst: ioctl
      Src: /src/libbpf/src/libbpf.c:11487,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11491,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11492,1
    - Dst: remove_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11497,1
    - Dst: remove_uprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11506
      start: 11482
    functionDepth: 1
    functionLinenumber: 11482
    functionLinenumberEnd: 11506
    functionName: bpf_link_perf_detach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - container_of
    - close
    - remove_kprobe_event_legacy
    - ioctl
    - remove_uprobe_event_legacy
    linkageType: ''
    returnType: int
    signature: int bpf_link_perf_detach(struct bpf_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:11510,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:11512,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:11513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11514
      start: 11508
    functionDepth: 1
    functionLinenumber: 11508
    functionLinenumberEnd: 11514
    functionName: bpf_link_perf_dealloc
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - container_of
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_link_perf_dealloc(struct bpf_link *link)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:11523,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11524,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11527,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11529,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:11531,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11533,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11535,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:11538,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11540,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11545,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:11546,1
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:11547,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11548,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:11550,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11553,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11554,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11559,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11560,1
    - Dst: ioctl
      Src: /src/libbpf/src/libbpf.c:11565,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11567,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11568,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11570,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11577,1
    - Dst: ioctl
      Src: /src/libbpf/src/libbpf.c:11578,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11580,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11581,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11589,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:11590,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11591,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - prog
    - pfd
    - opts
    argTypes:
    - struct bpf_program*
    - int
    - struct bpf_perf_event_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11592
      start: 11516
    functionDepth: 3
    functionLinenumber: 11516
    functionLinenumberEnd: 11592
    functionName: bpf_program__attach_perf_event_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_link_create
    - kernel_supports
    - OPTS_VALID
    - DECLARE_LIBBPF_OPTS
    - calloc
    - errstr
    - close
    - ioctl
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_perf_event_opts(const struct
      bpf_program *prog, int pfd,\n\t\t\t\t\t\t     const struct bpf_perf_event_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_perf_event_opts
      Src: /src/libbpf/src/libbpf.c:11596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - pfd
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11597
      start: 11594
    functionDepth: 4
    functionLinenumber: 11594
    functionLinenumberEnd: 11597
    functionName: bpf_program__attach_perf_event
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_perf_event_opts
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_program__attach_perf_event(const struct bpf_program
      *prog, int pfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libbpf/src/libbpf.c:11609,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:11612,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11612,1
    - Dst: fscanf
      Src: /src/libbpf/src/libbpf.c:11615,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:11618,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11618,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:11619,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:11622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11624
      start: 11604
    functionDepth: 1
    functionLinenumber: 11604
    functionLinenumberEnd: 11624
    functionName: parse_uint_from_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - fscanf
    - pr_debug
    - fopen
    - errstr
    linkageType: ''
    returnType: int
    signature: int parse_uint_from_file(const char *file, const char *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:11630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11631
      start: 11626
    functionDepth: 2
    functionLinenumber: 11626
    functionLinenumberEnd: 11631
    functionName: determine_kprobe_perf_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    linkageType: ''
    returnType: int
    signature: int determine_kprobe_perf_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:11637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11638
      start: 11633
    functionDepth: 2
    functionLinenumber: 11633
    functionLinenumberEnd: 11638
    functionName: determine_uprobe_perf_type
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    linkageType: ''
    returnType: int
    signature: int determine_uprobe_perf_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:11644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11645
      start: 11640
    functionDepth: 2
    functionLinenumber: 11640
    functionLinenumberEnd: 11645
    functionName: determine_kprobe_retprobe_bit
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    linkageType: ''
    returnType: int
    signature: int determine_kprobe_retprobe_bit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:11651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11652
      start: 11647
    functionDepth: 2
    functionLinenumber: 11647
    functionLinenumberEnd: 11652
    functionName: determine_uprobe_retprobe_bit
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    linkageType: ''
    returnType: int
    signature: int determine_uprobe_retprobe_bit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:11667,1
    - Dst: determine_uprobe_perf_type
      Src: /src/libbpf/src/libbpf.c:11669,1
    - Dst: determine_kprobe_perf_type
      Src: /src/libbpf/src/libbpf.c:11670,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11672,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11674,1
    - Dst: determine_uprobe_retprobe_bit
      Src: /src/libbpf/src/libbpf.c:11678,1
    - Dst: determine_kprobe_retprobe_bit
      Src: /src/libbpf/src/libbpf.c:11679,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11682,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11684,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/libbpf.c:11692,1
    - Dst: syscall
      Src: /src/libbpf/src/libbpf.c:11696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - uprobe
    - retprobe
    - name
    - offset
    - pid
    - ref_ctr_off
    argTypes:
    - bool
    - bool
    - char*
    - uint64_t
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11701
      start: 11657
    functionDepth: 3
    functionLinenumber: 11657
    functionLinenumberEnd: 11701
    functionName: perf_event_open_probe
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - determine_uprobe_perf_type
    - memset
    - determine_uprobe_retprobe_bit
    - syscall
    - errstr
    - determine_kprobe_perf_type
    - determine_kprobe_retprobe_bit
    - ptr_to_u64
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int perf_event_open_probe(bool uprobe, bool retprobe, const char *name,\n\t\t\t\t
      uint64_t offset, int pid, size_t ref_ctr_off)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libbpf/src/libbpf.c:11709,1
    - Dst: vsnprintf
      Src: /src/libbpf/src/libbpf.c:11710,1
    - Dst: va_end
      Src: /src/libbpf/src/libbpf.c:11711,1
    - Dst: open
      Src: /src/libbpf/src/libbpf.c:11716,1
    - Dst: write
      Src: /src/libbpf/src/libbpf.c:11720,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11725
      start: 11703
    functionDepth: 1
    functionLinenumber: 11703
    functionLinenumberEnd: 11725
    functionName: append_to_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - va_end
    - open
    - vsnprintf
    - close
    - write
    - va_start
    linkageType: ''
    returnType: int
    signature: int append_to_file(const char *file, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: faccessat
      Src: /src/libbpf/src/libbpf.c:11735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11738
      start: 11730
    functionDepth: 0
    functionLinenumber: 11730
    functionLinenumberEnd: 11738
    functionName: use_debugfs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - faccessat
    linkageType: ''
    returnType: bool
    signature: bool use_debugfs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_debugfs
      Src: /src/libbpf/src/libbpf.c:11742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11743
      start: 11740
    functionDepth: 1
    functionLinenumber: 11740
    functionLinenumberEnd: 11743
    functionName: tracefs_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - use_debugfs
    linkageType: ''
    returnType: char
    signature: char *tracefs_path(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_debugfs
      Src: /src/libbpf/src/libbpf.c:11747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11748
      start: 11745
    functionDepth: 1
    functionLinenumber: 11745
    functionLinenumberEnd: 11748
    functionName: tracefs_kprobe_events
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - use_debugfs
    linkageType: ''
    returnType: char
    signature: char *tracefs_kprobe_events(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_debugfs
      Src: /src/libbpf/src/libbpf.c:11752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11753
      start: 11750
    functionDepth: 1
    functionLinenumber: 11750
    functionLinenumberEnd: 11753
    functionName: tracefs_uprobe_events
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - use_debugfs
    linkageType: ''
    returnType: char
    signature: char *tracefs_uprobe_events(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_debugfs
      Src: /src/libbpf/src/libbpf.c:11757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11759
      start: 11755
    functionDepth: 1
    functionLinenumber: 11755
    functionLinenumberEnd: 11759
    functionName: tracefs_available_filter_functions
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - use_debugfs
    linkageType: ''
    returnType: char
    signature: char *tracefs_available_filter_functions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_debugfs
      Src: /src/libbpf/src/libbpf.c:11763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11765
      start: 11761
    functionDepth: 1
    functionLinenumber: 11761
    functionLinenumberEnd: 11765
    functionName: tracefs_available_filter_functions_addrs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - use_debugfs
    linkageType: ''
    returnType: char
    signature: char *tracefs_available_filter_functions_addrs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:11773,1
    - Dst: getpid
      Src: /src/libbpf/src/libbpf.c:11773,1
    - Dst: __sync_fetch_and_add
      Src: /src/libbpf/src/libbpf.c:11774,1
    - Dst: isalnum
      Src: /src/libbpf/src/libbpf.c:11778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - buf_sz
    - name
    - offset
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11781
      start: 11767
    functionDepth: 0
    functionLinenumber: 11767
    functionLinenumberEnd: 11781
    functionName: gen_probe_legacy_event_name
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - __sync_fetch_and_add
    - isalnum
    - snprintf
    - getpid
    linkageType: ''
    returnType: void
    signature: "void gen_probe_legacy_event_name(char *buf, size_t buf_sz,\n\t\t\t\t\tconst
      char *name, size_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_file
      Src: /src/libbpf/src/libbpf.c:11786,1
    - Dst: tracefs_kprobe_events
      Src: /src/libbpf/src/libbpf.c:11786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - probe_name
    - retprobe
    - kfunc_name
    - offset
    argTypes:
    - char*
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11790
      start: 11783
    functionDepth: 2
    functionLinenumber: 11783
    functionLinenumberEnd: 11790
    functionName: add_kprobe_event_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - append_to_file
    - tracefs_kprobe_events
    linkageType: ''
    returnType: int
    signature: "int add_kprobe_event_legacy(const char *probe_name, bool retprobe,\n\t\t\t\t
      \  const char *kfunc_name, size_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_file
      Src: /src/libbpf/src/libbpf.c:11794,1
    - Dst: tracefs_kprobe_events
      Src: /src/libbpf/src/libbpf.c:11794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - probe_name
    - retprobe
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11796
      start: 11792
    functionDepth: 2
    functionLinenumber: 11792
    functionLinenumberEnd: 11796
    functionName: remove_kprobe_event_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - append_to_file
    - tracefs_kprobe_events
    linkageType: ''
    returnType: int
    signature: int remove_kprobe_event_legacy(const char *probe_name, bool retprobe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:11802,1
    - Dst: tracefs_path
      Src: /src/libbpf/src/libbpf.c:11803,1
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:11805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - probe_name
    - retprobe
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11806
      start: 11798
    functionDepth: 2
    functionLinenumber: 11798
    functionLinenumberEnd: 11806
    functionName: determine_kprobe_perf_type_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    - tracefs_path
    - snprintf
    linkageType: ''
    returnType: int
    signature: int determine_kprobe_perf_type_legacy(const char *probe_name, bool
      retprobe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11815,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11817,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11819,1
    - Dst: determine_kprobe_perf_type_legacy
      Src: /src/libbpf/src/libbpf.c:11822,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11825,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11827,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:11831,1
    - Dst: syscall
      Src: /src/libbpf/src/libbpf.c:11836,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11842,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11843,1
    - Dst: remove_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - probe_name
    - retprobe
    - kfunc_name
    - offset
    - pid
    argTypes:
    - char*
    - bool
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11808
    functionDepth: 3
    functionLinenumber: 11808
    functionLinenumberEnd: 11852
    functionName: perf_event_kprobe_open_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - syscall
    - remove_kprobe_event_legacy
    - errstr
    - pr_warn
    - add_kprobe_event_legacy
    - determine_kprobe_perf_type_legacy
    linkageType: ''
    returnType: int
    signature: "int perf_event_kprobe_open_legacy(const char *probe_name, bool retprobe,\n\t\t\t\t\t
      const char *kfunc_name, size_t offset, int pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11877
      start: 11854
    functionDepth: 0
    functionLinenumber: 11854
    functionLinenumberEnd: 11877
    functionName: arch_specific_syscall_pfx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *arch_specific_syscall_pfx(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: arch_specific_syscall_pfx
      Src: /src/libbpf/src/libbpf.c:11884,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:11888,1
    - Dst: determine_kprobe_perf_type
      Src: /src/libbpf/src/libbpf.c:11890,1
    - Dst: perf_event_open_probe
      Src: /src/libbpf/src/libbpf.c:11893,1
    - Dst: getpid
      Src: /src/libbpf/src/libbpf.c:11893,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11895,1
    - Dst: gen_probe_legacy_event_name
      Src: /src/libbpf/src/libbpf.c:11901,1
    - Dst: add_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11902,1
    - Dst: remove_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:11905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - token_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11908
      start: 11879
    functionDepth: 4
    functionLinenumber: 11879
    functionLinenumberEnd: 11908
    functionName: probe_kern_syscall_wrapper
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - gen_probe_legacy_event_name
    - getpid
    - close
    - remove_kprobe_event_legacy
    - add_kprobe_event_legacy
    - determine_kprobe_perf_type
    - snprintf
    - perf_event_open_probe
    - arch_specific_syscall_pfx
    linkageType: ''
    returnType: int
    signature: int probe_kern_syscall_wrapper(int token_fd)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:11915,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:11923,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11924,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11926,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11927,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11928,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:11929,1
    - Dst: determine_kprobe_perf_type
      Src: /src/libbpf/src/libbpf.c:11931,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11939,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:11943,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11944,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11949,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11952,1
    - Dst: perf_event_open_probe
      Src: /src/libbpf/src/libbpf.c:11955,1
    - Dst: gen_probe_legacy_event_name
      Src: /src/libbpf/src/libbpf.c:11961,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:11964,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:11966,1
    - Dst: perf_event_kprobe_open_legacy
      Src: /src/libbpf/src/libbpf.c:11968,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11973,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11976,1
    - Dst: bpf_program__attach_perf_event_opts
      Src: /src/libbpf/src/libbpf.c:11979,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:11980,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:11982,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:11983,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:11986,1
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:11990,1
    - Dst: remove_kprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:12001,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12003,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12004,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 3
    argNames:
    - prog
    - func_name
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - struct bpf_kprobe_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12005
      start: 11910
    functionDepth: 4
    functionLinenumber: 11910
    functionLinenumberEnd: 12005
    functionName: bpf_program__attach_kprobe_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - container_of
    - gen_probe_legacy_event_name
    - bpf_program__attach_perf_event_opts
    - OPTS_GET
    - strdup
    - libbpf_err_ptr
    - perf_event_kprobe_open_legacy
    - kernel_supports
    - DECLARE_LIBBPF_OPTS
    - OPTS_VALID
    - errstr
    - libbpf_get_error
    - determine_kprobe_perf_type
    - perf_event_open_probe
    - close
    - remove_kprobe_event_legacy
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_kprobe_opts(const struct bpf_program
      *prog,\n\t\t\t\tconst char *func_name,\n\t\t\t\tconst struct bpf_kprobe_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12011,1
    - Dst: bpf_program__attach_kprobe_opts
      Src: /src/libbpf/src/libbpf.c:12015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prog
    - retprobe
    - func_name
    argTypes:
    - struct bpf_program*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12016
      start: 12007
    functionDepth: 5
    functionLinenumber: 12007
    functionLinenumberEnd: 12016
    functionName: bpf_program__attach_kprobe
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - DECLARE_LIBBPF_OPTS
    - bpf_program__attach_kprobe_opts
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_kprobe(const struct bpf_program
      *prog,\n\t\t\t\t\t    bool retprobe,\n\t\t\t\t\t    const char *func_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12022,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:12025,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12026,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:12028,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:12034,1
    - Dst: arch_specific_syscall_pfx
      Src: /src/libbpf/src/libbpf.c:12035,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:12037,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12040,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12041,1
    - Dst: bpf_program__attach_kprobe_opts
      Src: /src/libbpf/src/libbpf.c:12043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - prog
    - syscall_name
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - struct bpf_ksyscall_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12044
      start: 12018
    functionDepth: 5
    functionLinenumber: 12018
    functionLinenumberEnd: 12044
    functionName: bpf_program__attach_ksyscall
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_program__attach_kprobe_opts
    - kernel_supports
    - OPTS_VALID
    - snprintf
    - arch_specific_syscall_pfx
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_ksyscall(const struct bpf_program
      *prog,\n\t\t\t\t\t      const char *syscall_name,\n\t\t\t\t\t      const struct
      bpf_ksyscall_opts *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glob_match
      Src: /src/libbpf/src/libbpf.c:12067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - str
    - pat
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12071
      start: 12047
    functionDepth: 1
    functionLinenumber: 12047
    functionLinenumberEnd: 12071
    functionName: glob_match
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - glob_match
    linkageType: ''
    returnType: bool
    signature: bool glob_match(const char *str, const char *pat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12089
      start: 12086
    functionDepth: 0
    functionLinenumber: 12086
    functionLinenumberEnd: 12089
    functionName: avail_func_cmp
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int avail_func_cmp(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: glob_match
      Src: /src/libbpf/src/libbpf.c:12098,1
    - Dst: bsearch
      Src: /src/libbpf/src/libbpf.c:12101,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf.c:12114,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:12121,1
    - Dst: bsearch
      Src: /src/libbpf/src/libbpf.c:12122,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:12126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - sym_addr
    - sym_type
    - sym_name
    - ctx
    argTypes:
    - unsigned long long
    - char
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12132
      start: 12091
    functionDepth: 2
    functionLinenumber: 12091
    functionLinenumberEnd: 12132
    functionName: avail_kallsyms_cb
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ensure_mem
    - strstr
    - bsearch
    - snprintf
    - glob_match
    linkageType: ''
    returnType: int
    signature: "int avail_kallsyms_cb(unsigned long long sym_addr, char sym_type,\n\t\t\t
      \    const char *sym_name, void *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tracefs_available_filter_functions
      Src: /src/libbpf/src/libbpf.c:12136,1
    - Dst: fopen
      Src: /src/libbpf/src/libbpf.c:12144,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12147,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12147,1
    - Dst: fscanf
      Src: /src/libbpf/src/libbpf.c:12154,1
    - Dst: feof
      Src: /src/libbpf/src/libbpf.c:12155,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12159,1
    - Dst: glob_match
      Src: /src/libbpf/src/libbpf.c:12164,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:12167,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:12171,1
    - Dst: qsort
      Src: /src/libbpf/src/libbpf.c:12187,1
    - Dst: libbpf_kallsyms_parse
      Src: /src/libbpf/src/libbpf.c:12192,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12199,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12200,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:12202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct kprobe_multi_resolve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12204
      start: 12134
    functionDepth: 2
    functionLinenumber: 12134
    functionLinenumberEnd: 12204
    functionName: libbpf_available_kallsyms_parse
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - libbpf_ensure_mem
    - libbpf_kallsyms_parse
    - fscanf
    - strdup
    - tracefs_available_filter_functions
    - fopen
    - qsort
    - errstr
    - feof
    - free
    - glob_match
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int libbpf_available_kallsyms_parse(struct kprobe_multi_resolve *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libbpf/src/libbpf.c:12208,1
    - Dst: tracefs_available_filter_functions_addrs
      Src: /src/libbpf/src/libbpf.c:12208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12209
      start: 12206
    functionDepth: 2
    functionLinenumber: 12206
    functionLinenumberEnd: 12209
    functionName: has_available_filter_functions_addrs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - access
    - tracefs_available_filter_functions_addrs
    linkageType: ''
    returnType: bool
    signature: bool has_available_filter_functions_addrs(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tracefs_available_filter_functions_addrs
      Src: /src/libbpf/src/libbpf.c:12213,1
    - Dst: fopen
      Src: /src/libbpf/src/libbpf.c:12219,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12222,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12222,1
    - Dst: fscanf
      Src: /src/libbpf/src/libbpf.c:12227,1
    - Dst: feof
      Src: /src/libbpf/src/libbpf.c:12228,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12232,1
    - Dst: glob_match
      Src: /src/libbpf/src/libbpf.c:12238,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:12241,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf.c:12253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct kprobe_multi_resolve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12255
      start: 12211
    functionDepth: 2
    functionLinenumber: 12211
    functionLinenumberEnd: 12255
    functionName: libbpf_available_kprobes_parse
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - fclose
    - libbpf_ensure_mem
    - fscanf
    - fopen
    - tracefs_available_filter_functions_addrs
    - errstr
    - feof
    - glob_match
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int libbpf_available_kprobes_parse(struct kprobe_multi_resolve *res)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12262,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:12275,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12276,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:12278,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12280,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12282,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12285,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12286,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12287,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12288,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12289,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12292,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12294,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12296,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12298,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12300,1
    - Dst: strpbrk
      Src: /src/libbpf/src/libbpf.c:12308,1
    - Dst: has_available_filter_functions_addrs
      Src: /src/libbpf/src/libbpf.c:12312,1
    - Dst: libbpf_available_kprobes_parse
      Src: /src/libbpf/src/libbpf.c:12313,1
    - Dst: libbpf_available_kallsyms_parse
      Src: /src/libbpf/src/libbpf.c:12315,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12320,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12330,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12331,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12334,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:12344,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:12351,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12362,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12363,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12367,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12371,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12372,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12373,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 3
    argNames:
    - prog
    - pattern
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - struct bpf_kprobe_multi_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12374
      start: 12257
    functionDepth: 3
    functionLinenumber: 12257
    functionLinenumberEnd: 12374
    functionName: bpf_program__attach_kprobe_multi_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - strpbrk
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - libbpf_available_kprobes_parse
    - bpf_link_create
    - OPTS_VALID
    - has_available_filter_functions_addrs
    - calloc
    - libbpf_available_kallsyms_parse
    - errstr
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_kprobe_multi_opts(const struct
      bpf_program *prog,\n\t\t\t\t      const char *pattern,\n\t\t\t\t      const
      struct bpf_kprobe_multi_opts *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12378,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12387,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12387,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12390,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:12396,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12398,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12403,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12404,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12409,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12410,1
    - Dst: bpf_program__attach_kprobe_opts
      Src: /src/libbpf/src/libbpf.c:12415,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12416,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:12417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12418
      start: 12376
    functionDepth: 5
    functionLinenumber: 12376
    functionLinenumberEnd: 12418
    functionName: attach_kprobe
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - str_has_pfx
    - strcmp
    - bpf_program__attach_kprobe_opts
    - DECLARE_LIBBPF_OPTS
    - sscanf
    - libbpf_get_error
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_kprobe(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12422,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12428,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12428,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12431,1
    - Dst: bpf_program__attach_ksyscall
      Src: /src/libbpf/src/libbpf.c:12437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12439
      start: 12420
    functionDepth: 6
    functionLinenumber: 12420
    functionLinenumberEnd: 12439
    functionName: attach_ksyscall
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__attach_ksyscall
    - str_has_pfx
    - strcmp
    linkageType: ''
    returnType: int
    signature: int attach_ksyscall(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12443,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12451,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12452,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12455,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:12461,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12463,1
    - Dst: bpf_program__attach_kprobe_multi_opts
      Src: /src/libbpf/src/libbpf.c:12467,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12468,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:12469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12470
      start: 12441
    functionDepth: 4
    functionLinenumber: 12441
    functionLinenumberEnd: 12470
    functionName: attach_kprobe_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__attach_kprobe_multi_opts
    - str_has_pfx
    - strcmp
    - sscanf
    - libbpf_get_error
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_kprobe_multi(const struct bpf_program *prog, long cookie,
      struct bpf_link **link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12475,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:12483,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:12487,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12489,1
    - Dst: bpf_program__attach_kprobe_multi_opts
      Src: /src/libbpf/src/libbpf.c:12493,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12496
      start: 12472
    functionDepth: 4
    functionLinenumber: 12472
    functionLinenumberEnd: 12496
    functionName: attach_kprobe_session
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__attach_kprobe_multi_opts
    - strcmp
    - sscanf
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int attach_kprobe_session(const struct bpf_program *prog, long cookie,\n\t\t\t\t
      struct bpf_link **link)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12501,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:12506,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12514,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12515,1
    - Dst: bpf_program__attach_uprobe_multi
      Src: /src/libbpf/src/libbpf.c:12517,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:12518,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12521,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12525,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12526,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12529
      start: 12498
    functionDepth: 2
    functionLinenumber: 12498
    functionLinenumberEnd: 12529
    functionName: attach_uprobe_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - LIBBPF_OPTS
    - str_has_pfx
    - sscanf
    - libbpf_get_error
    - bpf_program__attach_uprobe_multi
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_uprobe_multi(const struct bpf_program *prog, long cookie,
      struct bpf_link **link)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BTF_INFO_KIND
      Src: /src/libbpf/src/libbpf.c:12535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12545
      start: 12533
    functionDepth: 1
    functionLinenumber: 12533
    functionLinenumberEnd: 12545
    functionName: btf_type_is_modifier
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - BTF_INFO_KIND
    linkageType: ''
    returnType: bool
    signature: bool btf_type_is_modifier(const struct btf_type *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:12555,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:12558,1
    - Dst: btf_type_is_modifier
      Src: /src/libbpf/src/libbpf.c:12559,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:12560,1
    - Dst: btf_is_ptr
      Src: /src/libbpf/src/libbpf.c:12564,1
    - Dst: btf__pointer_size
      Src: /src/libbpf/src/libbpf.c:12565,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/libbpf.c:12566,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/libbpf.c:12566,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:12566,1
    - Dst: btf_is_union
      Src: /src/libbpf/src/libbpf.c:12566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - btf
    - type_id
    - ret_type
    argTypes:
    - struct btf*
    - __u32
    - struct btf_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12569
      start: 12549
    functionDepth: 4
    functionLinenumber: 12549
    functionLinenumberEnd: 12569
    functionName: btf_get_type_size
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf__pointer_size
    - btf_type_is_modifier
    - btf_is_any_enum
    - btf_is_int
    - btf_is_ptr
    - btf_is_struct
    - btf_is_union
    linkageType: ''
    returnType: int
    signature: "int btf_get_type_size(const struct btf *btf, __u32 type_id,\n\t\t\t
      \    const struct btf_type **ret_type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_func
      Src: /src/libbpf/src/libbpf.c:12578,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:12580,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/libbpf.c:12581,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:12585,1
    - Dst: btf_get_type_size
      Src: /src/libbpf/src/libbpf.c:12590,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/libbpf.c:12591,1
    - Dst: btf_is_union
      Src: /src/libbpf/src/libbpf.c:12591,1
    - Dst: btf_get_type_size
      Src: /src/libbpf/src/libbpf.c:12598,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - btf
    - t
    argTypes:
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12608
      start: 12571
    functionDepth: 5
    functionLinenumber: 12571
    functionLinenumberEnd: 12608
    functionName: btf_type_is_traceable_func
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_is_func_proto
    - btf_get_type_size
    - btf_vlen
    - btf_is_func
    - btf_is_struct
    - btf_is_union
    linkageType: ''
    returnType: bool
    signature: bool btf_type_is_traceable_func(const struct btf *btf, const struct
      btf_type *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/libbpf.c:12613,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:12620,1
    - Dst: btf_kind
      Src: /src/libbpf/src/libbpf.c:12624,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:12626,1
    - Dst: glob_match
      Src: /src/libbpf/src/libbpf.c:12630,1
    - Dst: btf_type_is_traceable_func
      Src: /src/libbpf/src/libbpf.c:12632,1
    - Dst: libbpf_ensure_mem
      Src: /src/libbpf/src/libbpf.c:12635,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12637,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - btf
    - pattern
    - ids
    argTypes:
    - struct btf*
    - char*
    - __u32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12644
      start: 12610
    functionDepth: 6
    functionLinenumber: 12610
    functionLinenumberEnd: 12644
    functionName: collect_btf_func_ids_by_glob
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ensure_mem
    - btf__type_by_id
    - btf__name_by_offset
    - btf_type_is_traceable_func
    - btf_kind
    - btf__type_cnt
    - free
    - glob_match
    linkageType: ''
    returnType: int
    signature: int collect_btf_func_ids_by_glob(const struct btf *btf, const char
      *pattern, __u32 **ids)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__load_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:12654,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:12659,1
    - Dst: find_attach_module
      Src: /src/libbpf/src/libbpf.c:12661,1
    - Dst: collect_btf_func_ids_by_glob
      Src: /src/libbpf/src/libbpf.c:12677,1
    - Dst: bpf_object_cleanup_btf
      Src: /src/libbpf/src/libbpf.c:12680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - prog
    - pattern
    - ids
    argTypes:
    - struct bpf_program*
    - char*
    - __u32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12682
      start: 12646
    functionDepth: 7
    functionLinenumber: 12646
    functionLinenumberEnd: 12682
    functionName: collect_func_ids_by_glob
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - bpf_object__load_vmlinux_btf
    - find_attach_module
    - bpf_object_cleanup_btf
    - collect_btf_func_ids_by_glob
    linkageType: ''
    returnType: int
    signature: int collect_func_ids_by_glob(const struct bpf_program *prog, const
      char *pattern, __u32 **ids)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:12688,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:12695,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12696,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:12698,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12700,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12702,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12705,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12706,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:12707,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12710,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12712,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12714,1
    - Dst: collect_func_ids_by_glob
      Src: /src/libbpf/src/libbpf.c:12717,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12719,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12721,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:12729,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:12736,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12739,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12739,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12743,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12747,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12748,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:12749,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - prog
    - pattern
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - struct bpf_tracing_multi_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12750
      start: 12684
    functionDepth: 8
    functionLinenumber: 12684
    functionLinenumberEnd: 12750
    functionName: bpf_program__attach_tracing_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - collect_func_ids_by_glob
    - LIBBPF_OPTS
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_link_create
    - OPTS_VALID
    - errstr
    - calloc
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_tracing_multi(const struct
      bpf_program *prog, const char *pattern,\n\t\t\t\t  const struct bpf_tracing_multi_opts
      *opts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:12769,1
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:12772,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:12775,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12788,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:12793,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12795,1
    - Dst: bpf_program__attach_tracing_multi
      Src: /src/libbpf/src/libbpf.c:12799,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:12800,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:12801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12802
      start: 12752
    functionDepth: 9
    functionLinenumber: 12752
    functionLinenumberEnd: 12802
    functionName: attach_tracing_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - str_has_pfx
    - strlen
    - sscanf
    - libbpf_get_error
    - ARRAY_SIZE
    - free
    - pr_warn
    - bpf_program__attach_tracing_multi
    linkageType: ''
    returnType: int
    signature: int attach_tracing_multi(const struct bpf_program *prog, long cookie,
      struct bpf_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_file
      Src: /src/libbpf/src/libbpf.c:12807,1
    - Dst: tracefs_uprobe_events
      Src: /src/libbpf/src/libbpf.c:12807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - probe_name
    - retprobe
    - binary_path
    - offset
    argTypes:
    - char*
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12811
      start: 12804
    functionDepth: 2
    functionLinenumber: 12804
    functionLinenumberEnd: 12811
    functionName: add_uprobe_event_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - append_to_file
    - tracefs_uprobe_events
    linkageType: ''
    returnType: int
    signature: "int add_uprobe_event_legacy(const char *probe_name, bool retprobe,\n\t\t\t\t\t
      \ const char *binary_path, size_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_to_file
      Src: /src/libbpf/src/libbpf.c:12815,1
    - Dst: tracefs_uprobe_events
      Src: /src/libbpf/src/libbpf.c:12815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - probe_name
    - retprobe
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12817
      start: 12813
    functionDepth: 2
    functionLinenumber: 12813
    functionLinenumberEnd: 12817
    functionName: remove_uprobe_event_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - append_to_file
    - tracefs_uprobe_events
    linkageType: ''
    returnType: int
    signature: int remove_uprobe_event_legacy(const char *probe_name, bool retprobe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:12823,1
    - Dst: tracefs_path
      Src: /src/libbpf/src/libbpf.c:12824,1
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:12826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - probe_name
    - retprobe
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12827
      start: 12819
    functionDepth: 2
    functionLinenumber: 12819
    functionLinenumberEnd: 12827
    functionName: determine_uprobe_perf_type_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - parse_uint_from_file
    - tracefs_path
    - snprintf
    linkageType: ''
    returnType: int
    signature: int determine_uprobe_perf_type_legacy(const char *probe_name, bool
      retprobe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_uprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:12836,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12838,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12839,1
    - Dst: determine_uprobe_perf_type_legacy
      Src: /src/libbpf/src/libbpf.c:12842,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12845,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12846,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:12850,1
    - Dst: syscall
      Src: /src/libbpf/src/libbpf.c:12855,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12861,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:12861,1
    - Dst: remove_uprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:12868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - probe_name
    - retprobe
    - binary_path
    - offset
    - pid
    argTypes:
    - char*
    - bool
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12870
      start: 12829
    functionDepth: 3
    functionLinenumber: 12829
    functionLinenumberEnd: 12870
    functionName: perf_event_uprobe_open_legacy
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - remove_uprobe_event_legacy
    - add_uprobe_event_legacy
    - memset
    - syscall
    - errstr
    - pr_warn
    - determine_uprobe_perf_type_legacy
    linkageType: ''
    returnType: int
    signature: "int perf_event_uprobe_open_legacy(const char *probe_name, bool retprobe,\n\t\t\t\t\t
      const char *binary_path, size_t offset, int pid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: zip_archive_open
      Src: /src/libbpf/src/libbpf.c:12889,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:12890,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:12891,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12892,1
    - Dst: zip_archive_find_entry
      Src: /src/libbpf/src/libbpf.c:12896,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12898,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:12902,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12906,1
    - Dst: elf_memory
      Src: /src/libbpf/src/libbpf.c:12912,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:12914,1
    - Dst: elf_errmsg
      Src: /src/libbpf/src/libbpf.c:12915,1
    - Dst: elf_find_func_offset
      Src: /src/libbpf/src/libbpf.c:12920,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:12922,1
    - Dst: elf_end
      Src: /src/libbpf/src/libbpf.c:12927,1
    - Dst: zip_archive_close
      Src: /src/libbpf/src/libbpf.c:12930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - archive_path
    - file_name
    - func_name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12932
      start: 12881
    functionDepth: 3
    functionLinenumber: 12881
    functionLinenumberEnd: 12932
    functionName: elf_find_func_offset_from_archive
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - elf_errmsg
    - elf_memory
    - zip_archive_find_entry
    - IS_ERR
    - zip_archive_open
    - pr_debug
    - zip_archive_close
    - PTR_ERR
    - elf_find_func_offset
    - elf_end
    - pr_warn
    linkageType: ''
    returnType: long
    signature: "long elf_find_func_offset_from_archive(const char *archive_path, const
      char *file_name,\n\t\t\t\t\t      const char *func_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12967
      start: 12934
    functionDepth: 0
    functionLinenumber: 12934
    functionLinenumberEnd: 12967
    functionName: arch_specific_lib_paths
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *arch_specific_lib_paths(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_has_sfx
      Src: /src/libbpf/src/libbpf.c:12975,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf.c:12975,1
    - Dst: getenv
      Src: /src/libbpf/src/libbpf.c:12976,1
    - Dst: arch_specific_lib_paths
      Src: /src/libbpf/src/libbpf.c:12978,1
    - Dst: getenv
      Src: /src/libbpf/src/libbpf.c:12981,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:12986,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:12991,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:12997,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:12998,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:13001,1
    - Dst: faccessat
      Src: /src/libbpf/src/libbpf.c:13003,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:13005,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - file
    - result
    - result_sz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13010
      start: 12970
    functionDepth: 1
    functionLinenumber: 12970
    functionLinenumberEnd: 13010
    functionName: resolve_full_path
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - strstr
    - arch_specific_lib_paths
    - pr_debug
    - strlen
    - str_has_sfx
    - snprintf
    - getenv
    - ARRAY_SIZE
    - faccessat
    linkageType: ''
    returnType: int
    signature: int resolve_full_path(const char *file, char *result, size_t result_sz)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13020,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13031,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13032,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13034,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13036,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13038,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13041,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13042,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13043,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13044,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13045,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13046,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13047,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13064,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13066,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13070,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13073,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13077,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:13080,1
    - Dst: resolve_full_path
      Src: /src/libbpf/src/libbpf.c:13081,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13083,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13084,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13085,1
    - Dst: elf_resolve_pattern_offsets
      Src: /src/libbpf/src/libbpf.c:13090,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13093,1
    - Dst: elf_resolve_syms_offsets
      Src: /src/libbpf/src/libbpf.c:13096,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13098,1
    - Dst: getpid
      Src: /src/libbpf/src/libbpf.c:13112,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13116,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:13123,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13126,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13127,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13131,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13135,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13136,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13137,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - prog
    - pid
    - path
    - func_pattern
    - opts
    argTypes:
    - struct bpf_program*
    - pid_t
    - char*
    - char*
    - struct bpf_uprobe_multi_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13138
      start: 13012
    functionDepth: 3
    functionLinenumber: 13012
    functionLinenumberEnd: 13138
    functionName: bpf_program__attach_uprobe_multi
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - strchr
    - LIBBPF_OPTS
    - elf_resolve_pattern_offsets
    - resolve_full_path
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_link_create
    - getpid
    - OPTS_VALID
    - errstr
    - calloc
    - free
    - pr_warn
    - elf_resolve_syms_offsets
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_uprobe_multi(const struct bpf_program
      *prog,\n\t\t\t\t pid_t pid,\n\t\t\t\t const char *path,\n\t\t\t\t const char
      *func_pattern,\n\t\t\t\t const struct bpf_uprobe_multi_opts *opts)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13147,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13156,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13157,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13159,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13160,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13161,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13162,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13165,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf.c:13168,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/libbpf.c:13171,1
    - Dst: min
      Src: /src/libbpf/src/libbpf.c:13172,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:13175,1
    - Dst: resolve_full_path
      Src: /src/libbpf/src/libbpf.c:13176,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13178,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13179,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13180,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13184,1
    - Dst: elf_find_func_offset_from_archive
      Src: /src/libbpf/src/libbpf.c:13189,1
    - Dst: elf_find_func_offset_from_file
      Src: /src/libbpf/src/libbpf.c:13193,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13196,1
    - Dst: determine_uprobe_perf_type
      Src: /src/libbpf/src/libbpf.c:13200,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13208,1
    - Dst: kernel_supports
      Src: /src/libbpf/src/libbpf.c:13212,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13213,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13218,1
    - Dst: perf_event_open_probe
      Src: /src/libbpf/src/libbpf.c:13222,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13228,1
    - Dst: gen_probe_legacy_event_name
      Src: /src/libbpf/src/libbpf.c:13230,1
    - Dst: strrchr
      Src: /src/libbpf/src/libbpf.c:13231,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:13234,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13236,1
    - Dst: perf_event_uprobe_open_legacy
      Src: /src/libbpf/src/libbpf.c:13238,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13243,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13246,1
    - Dst: bpf_program__attach_perf_event_opts
      Src: /src/libbpf/src/libbpf.c:13250,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13251,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:13253,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13254,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13257,1
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:13261,1
    - Dst: remove_uprobe_event_legacy
      Src: /src/libbpf/src/libbpf.c:13271,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13273,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13274,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 96
    argCount: 5
    argNames:
    - prog
    - pid
    - binary_path
    - func_offset
    - opts
    argTypes:
    - struct bpf_program*
    - pid_t
    - char*
    - size_t
    - struct bpf_uprobe_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13275
      start: 13140
    functionDepth: 4
    functionLinenumber: 13140
    functionLinenumberEnd: 13275
    functionName: bpf_program__attach_uprobe_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - container_of
    - DECLARE_LIBBPF_OPTS
    - libbpf_get_error
    - gen_probe_legacy_event_name
    - resolve_full_path
    - OPTS_GET
    - libbpf_err_ptr
    - elf_find_func_offset_from_file
    - OPTS_VALID
    - errstr
    - strrchr
    - bpf_program__attach_perf_event_opts
    - strstr
    - perf_event_uprobe_open_legacy
    - perf_event_open_probe
    - pr_warn
    - remove_uprobe_event_legacy
    - strchr
    - determine_uprobe_perf_type
    - libbpf_strlcpy
    - strdup
    - kernel_supports
    - close
    - free
    - elf_find_func_offset_from_archive
    - min
    linkageType: ''
    returnType: LIBBPF_API
    signature: "LIBBPF_API *\nbpf_program__attach_uprobe_opts(const struct bpf_program
      *prog, pid_t pid,\n\t\t\t\tconst char *binary_path, size_t func_offset,\n\t\t\t\tconst
      struct bpf_uprobe_opts *opts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13289,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:13296,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13304,1
    - Dst: strrchr
      Src: /src/libbpf/src/libbpf.c:13311,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:13313,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:13319,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:13320,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13322,1
    - Dst: bpf_program__attach_uprobe_opts
      Src: /src/libbpf/src/libbpf.c:13327,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13328,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13331,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13335,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13336,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13340
      start: 13287
    functionDepth: 5
    functionLinenumber: 13287
    functionLinenumberEnd: 13340
    functionName: attach_uprobe
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strcmp
    - bpf_program__attach_uprobe_opts
    - DECLARE_LIBBPF_OPTS
    - sscanf
    - libbpf_get_error
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_uprobe(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13347,1
    - Dst: bpf_program__attach_uprobe_opts
      Src: /src/libbpf/src/libbpf.c:13349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - prog
    - retprobe
    - pid
    - binary_path
    - func_offset
    argTypes:
    - struct bpf_program*
    - bool
    - pid_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13350
      start: 13342
    functionDepth: 5
    functionLinenumber: 13342
    functionLinenumberEnd: 13350
    functionName: bpf_program__attach_uprobe
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - DECLARE_LIBBPF_OPTS
    - bpf_program__attach_uprobe_opts
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_uprobe(const struct bpf_program
      *prog,\n\t\t\t\t\t    bool retprobe, pid_t pid,\n\t\t\t\t\t    const char *binary_path,\n\t\t\t\t\t
      \   size_t func_offset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13363,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13364,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13366,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13367,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13369,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13373,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:13375,1
    - Dst: resolve_full_path
      Src: /src/libbpf/src/libbpf.c:13376,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13378,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13379,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13380,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:13388,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:13389,1
    - Dst: usdt_manager_new
      Src: /src/libbpf/src/libbpf.c:13391,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:13392,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:13393,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13396,1
    - Dst: usdt_manager_attach_usdt
      Src: /src/libbpf/src/libbpf.c:13397,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13399,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - prog
    - pid
    - binary_path
    - usdt_provider
    - usdt_name
    - opts
    argTypes:
    - struct bpf_program*
    - pid_t
    - char*
    - char*
    - char*
    - struct bpf_usdt_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13403
      start: 13352
    functionDepth: 4
    functionLinenumber: 13352
    functionLinenumberEnd: 13403
    functionName: bpf_program__attach_usdt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - libbpf_ptr
    - resolve_full_path
    - bpf_program__fd
    - IS_ERR
    - libbpf_err_ptr
    - OPTS_GET
    - usdt_manager_attach_usdt
    - OPTS_VALID
    - errstr
    - libbpf_get_error
    - pr_warn
    - usdt_manager_new
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_usdt(const struct bpf_program
      *prog,\n\t\t\t\t\t  pid_t pid, const char *binary_path,\n\t\t\t\t\t  const char
      *usdt_provider, const char *usdt_name,\n\t\t\t\t\t  const struct bpf_usdt_opts
      *opts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__section_name
      Src: /src/libbpf/src/libbpf.c:13411,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:13412,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:13418,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13420,1
    - Dst: bpf_program__attach_usdt
      Src: /src/libbpf/src/libbpf.c:13424,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13426,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13428,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13429,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13432
      start: 13405
    functionDepth: 5
    functionLinenumber: 13405
    functionLinenumberEnd: 13432
    functionName: attach_usdt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - strcmp
    - bpf_program__section_name
    - sscanf
    - bpf_program__attach_usdt
    - libbpf_get_error
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_usdt(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf.c:13440,1
    - Dst: tracefs_path
      Src: /src/libbpf/src/libbpf.c:13441,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:13445,1
    - Dst: parse_uint_from_file
      Src: /src/libbpf/src/libbpf.c:13449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tp_category
    - tp_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13450
      start: 13434
    functionDepth: 2
    functionLinenumber: 13434
    functionLinenumberEnd: 13450
    functionName: determine_tracepoint_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - tracefs_path
    - snprintf
    - parse_uint_from_file
    linkageType: ''
    returnType: int
    signature: "int determine_tracepoint_id(const char *tp_category,\n\t\t\t\t   const
      char *tp_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: determine_tracepoint_id
      Src: /src/libbpf/src/libbpf.c:13459,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13461,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13463,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:13467,1
    - Dst: syscall
      Src: /src/libbpf/src/libbpf.c:13472,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13476,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tp_category
    - tp_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13482
      start: 13452
    functionDepth: 3
    functionLinenumber: 13452
    functionLinenumberEnd: 13482
    functionName: perf_event_open_tracepoint
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - determine_tracepoint_id
    - memset
    - syscall
    - errstr
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int perf_event_open_tracepoint(const char *tp_category,\n\t\t\t\t
      \     const char *tp_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13489,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13493,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13494,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13496,1
    - Dst: perf_event_open_tracepoint
      Src: /src/libbpf/src/libbpf.c:13498,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13500,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13502,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13503,1
    - Dst: bpf_program__attach_perf_event_opts
      Src: /src/libbpf/src/libbpf.c:13505,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13506,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:13508,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13509,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13511,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - prog
    - tp_category
    - tp_name
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - char*
    - struct bpf_tracepoint_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13515
      start: 13484
    functionDepth: 4
    functionLinenumber: 13484
    functionLinenumberEnd: 13515
    functionName: bpf_program__attach_tracepoint_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - perf_event_open_tracepoint
    - bpf_program__attach_perf_event_opts
    - OPTS_GET
    - libbpf_err_ptr
    - close
    - DECLARE_LIBBPF_OPTS
    - OPTS_VALID
    - errstr
    - libbpf_get_error
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_tracepoint_opts(const struct
      bpf_program *prog,\n\t\t\t\t\t\t     const char *tp_category,\n\t\t\t\t\t\t
      \    const char *tp_name,\n\t\t\t\t\t\t     const struct bpf_tracepoint_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_tracepoint_opts
      Src: /src/libbpf/src/libbpf.c:13521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prog
    - tp_category
    - tp_name
    argTypes:
    - struct bpf_program*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13522
      start: 13517
    functionDepth: 5
    functionLinenumber: 13517
    functionLinenumberEnd: 13522
    functionName: bpf_program__attach_tracepoint
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_tracepoint_opts
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_tracepoint(const struct bpf_program
      *prog,\n\t\t\t\t\t\tconst char *tp_category,\n\t\t\t\t\t\tconst char *tp_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_has_pfx
      Src: /src/libbpf/src/libbpf.c:13538,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf.c:13541,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - sec_name
    - prefixes
    - n
    argTypes:
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13551
      start: 13529
    functionDepth: 1
    functionLinenumber: 13529
    functionLinenumberEnd: 13551
    functionName: sec_name_match_prefix
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strlen
    - str_has_pfx
    linkageType: ''
    returnType: char
    signature: "char *sec_name_match_prefix(const char *sec_name,\n\t\t\t\t\t const
      char *const *prefixes,\n\t\t\t\t\t size_t n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sec_name_match_prefix
      Src: /src/libbpf/src/libbpf.c:13566,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:13566,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13568,1
    - Dst: strdup
      Src: /src/libbpf/src/libbpf.c:13574,1
    - Dst: strchr
      Src: /src/libbpf/src/libbpf.c:13579,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13581,1
    - Dst: bpf_program__attach_tracepoint
      Src: /src/libbpf/src/libbpf.c:13587,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13588,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13590
      start: 13553
    functionDepth: 6
    functionLinenumber: 13553
    functionLinenumberEnd: 13590
    functionName: attach_tp
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - strchr
    - bpf_program__attach_tracepoint
    - sec_name_match_prefix
    - strdup
    - libbpf_get_error
    - ARRAY_SIZE
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_tp(const struct bpf_program *prog, long cookie, struct bpf_link
      **link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13597,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13601,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13602,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13604,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13606,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13607,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13610,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13612,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13616,1
    - Dst: bpf_raw_tracepoint_open_opts
      Src: /src/libbpf/src/libbpf.c:13617,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13620,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13621,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13622,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - prog
    - tp_name
    - opts
    argTypes:
    - struct bpf_program*
    - char*
    - struct bpf_raw_tracepoint_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13627
      start: 13592
    functionDepth: 3
    functionLinenumber: 13592
    functionLinenumberEnd: 13627
    functionName: bpf_program__attach_raw_tracepoint_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_raw_tracepoint_open_opts
    - OPTS_VALID
    - errstr
    - calloc
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_raw_tracepoint_opts(const struct
      bpf_program *prog,\n\t\t\t\t\tconst char *tp_name,\n\t\t\t\t\tstruct bpf_raw_tracepoint_opts
      *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_raw_tracepoint_opts
      Src: /src/libbpf/src/libbpf.c:13632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - tp_name
    argTypes:
    - struct bpf_program*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13633
      start: 13629
    functionDepth: 4
    functionLinenumber: 13629
    functionLinenumberEnd: 13633
    functionName: bpf_program__attach_raw_tracepoint
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_raw_tracepoint_opts
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_raw_tracepoint(const struct bpf_program
      *prog,\n\t\t\t\t\t\t    const char *tp_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sec_name_match_prefix
      Src: /src/libbpf/src/libbpf.c:13649,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf.c:13649,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13651,1
    - Dst: bpf_program__attach_raw_tracepoint
      Src: /src/libbpf/src/libbpf.c:13657,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13659
      start: 13635
    functionDepth: 5
    functionLinenumber: 13635
    functionLinenumberEnd: 13659
    functionName: attach_raw_tp
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - sec_name_match_prefix
    - bpf_program__attach_raw_tracepoint
    - libbpf_get_error
    - ARRAY_SIZE
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int attach_raw_tp(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13665,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13669,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13670,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13672,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13674,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13675,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13678,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13680,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13684,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:13685,1
    - Dst: bpf_program__expected_attach_type
      Src: /src/libbpf/src/libbpf.c:13685,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13688,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13689,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13690,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - prog
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_trace_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13695
      start: 13662
    functionDepth: 3
    functionLinenumber: 13662
    functionLinenumberEnd: 13695
    functionName: bpf_program__attach_btf_id
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_link_create
    - OPTS_VALID
    - errstr
    - calloc
    - free
    - bpf_program__expected_attach_type
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_btf_id(const struct bpf_program
      *prog,\n\t\t\t\t\t\t   const struct bpf_trace_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_btf_id
      Src: /src/libbpf/src/libbpf.c:13699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13700
      start: 13697
    functionDepth: 4
    functionLinenumber: 13697
    functionLinenumberEnd: 13700
    functionName: bpf_program__attach_trace
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_btf_id
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_program__attach_trace(const struct bpf_program
      *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_btf_id
      Src: /src/libbpf/src/libbpf.c:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_trace_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13702
    functionDepth: 4
    functionLinenumber: 13702
    functionLinenumberEnd: 13706
    functionName: bpf_program__attach_trace_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_btf_id
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_trace_opts(const struct bpf_program
      *prog,\n\t\t\t\t\t\tconst struct bpf_trace_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_btf_id
      Src: /src/libbpf/src/libbpf.c:13710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13711
      start: 13708
    functionDepth: 4
    functionLinenumber: 13708
    functionLinenumberEnd: 13711
    functionName: bpf_program__attach_lsm
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__attach_btf_id
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_program__attach_lsm(const struct bpf_program *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_trace
      Src: /src/libbpf/src/libbpf.c:13715,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13717
      start: 13713
    functionDepth: 5
    functionLinenumber: 13713
    functionLinenumberEnd: 13717
    functionName: attach_trace
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - libbpf_get_error
    - bpf_program__attach_trace
    linkageType: ''
    returnType: int
    signature: int attach_trace(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_lsm
      Src: /src/libbpf/src/libbpf.c:13721,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13723
      start: 13719
    functionDepth: 5
    functionLinenumber: 13719
    functionLinenumberEnd: 13723
    functionName: attach_lsm
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - libbpf_get_error
    - bpf_program__attach_lsm
    linkageType: ''
    returnType: int
    signature: int attach_lsm(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13734,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13736,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13737,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13740,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13742,1
    - Dst: bpf_program__expected_attach_type
      Src: /src/libbpf/src/libbpf.c:13745,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:13746,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13749,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13750,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13752,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - prog
    - target_fd
    - target_name
    - opts
    argTypes:
    - struct bpf_program*
    - int
    - char*
    - struct bpf_link_create_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13757
      start: 13725
    functionDepth: 3
    functionLinenumber: 13725
    functionLinenumberEnd: 13757
    functionName: bpf_program_attach_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__fd
    - libbpf_err_ptr
    - bpf_link_create
    - errstr
    - calloc
    - free
    - bpf_program__expected_attach_type
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program_attach_fd(const struct bpf_program
      *prog,\n\t\t      int target_fd, const char *target_name,\n\t\t      const struct
      bpf_link_create_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - cgroup_fd
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13763
      start: 13759
    functionDepth: 4
    functionLinenumber: 13759
    functionLinenumberEnd: 13763
    functionName: bpf_program__attach_cgroup
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program_attach_fd
    linkageType: ''
    returnType: struct bpf_link
    signature: 'struct bpf_link *

      bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - netns_fd
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13769
      start: 13765
    functionDepth: 4
    functionLinenumber: 13765
    functionLinenumberEnd: 13769
    functionName: bpf_program__attach_netns
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program_attach_fd
    linkageType: ''
    returnType: struct bpf_link
    signature: 'struct bpf_link *

      bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - map_fd
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13775
      start: 13771
    functionDepth: 4
    functionLinenumber: 13771
    functionLinenumberEnd: 13775
    functionName: bpf_program__attach_sockmap
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program_attach_fd
    linkageType: ''
    returnType: struct bpf_link
    signature: 'struct bpf_link *

      bpf_program__attach_sockmap(const struct bpf_program *prog, int map_fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prog
    - ifindex
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13781
      start: 13777
    functionDepth: 4
    functionLinenumber: 13777
    functionLinenumberEnd: 13781
    functionName: bpf_program__attach_xdp
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program_attach_fd
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_program__attach_xdp(const struct bpf_program *prog,
      int ifindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13787,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13791,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13792,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13794,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13795,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13798,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13800,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13803,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13806,1
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - prog
    - cgroup_fd
    - opts
    argTypes:
    - struct bpf_program*
    - int
    - struct bpf_cgroup_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13809
      start: 13783
    functionDepth: 4
    functionLinenumber: 13783
    functionLinenumberEnd: 13809
    functionName: bpf_program__attach_cgroup_opts
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_program_attach_fd
    - OPTS_VALID
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_cgroup_opts(const struct bpf_program
      *prog, int cgroup_fd,\n\t\t\t\tconst struct bpf_cgroup_opts *opts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13815,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13819,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13820,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13822,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13823,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13827,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13829,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13832,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13834,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13837,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13840,1
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - prog
    - ifindex
    - opts
    argTypes:
    - struct bpf_program*
    - int
    - struct bpf_tcx_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13844
      start: 13811
    functionDepth: 4
    functionLinenumber: 13811
    functionLinenumberEnd: 13844
    functionName: bpf_program__attach_tcx
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_program_attach_fd
    - OPTS_VALID
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_tcx(const struct bpf_program
      *prog, int ifindex,\n\t\t\tconst struct bpf_tcx_opts *opts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13850,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13854,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13855,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13857,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13858,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13862,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13864,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13867,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13869,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13872,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13875,1
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - prog
    - ifindex
    - opts
    argTypes:
    - struct bpf_program*
    - int
    - struct bpf_netkit_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13878
      start: 13846
    functionDepth: 4
    functionLinenumber: 13846
    functionLinenumberEnd: 13878
    functionName: bpf_program__attach_netkit
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_program_attach_fd
    - OPTS_VALID
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_netkit(const struct bpf_program
      *prog, int ifindex,\n\t\t\t   const struct bpf_netkit_opts *opts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13887,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13889,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13893,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13895,1
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13899,1
    - Dst: libbpf_find_prog_btf_id
      Src: /src/libbpf/src/libbpf.c:13901,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13903,1
    - Dst: bpf_program_attach_fd
      Src: /src/libbpf/src/libbpf.c:13907,1
    - Dst: bpf_program__attach_trace
      Src: /src/libbpf/src/libbpf.c:13913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - prog
    - target_fd
    - attach_func_name
    argTypes:
    - struct bpf_program*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13915
      start: 13880
    functionDepth: 5
    functionLinenumber: 13880
    functionLinenumberEnd: 13915
    functionName: bpf_program__attach_freplace
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__attach_trace
    - libbpf_err_ptr
    - bpf_program_attach_fd
    - libbpf_find_prog_btf_id
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_freplace(const struct bpf_program
      *prog,\n\t\t\t\t\t      int target_fd,\n\t\t\t\t\t      const char *attach_func_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13921,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13926,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13927,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13929,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13930,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13932,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13934,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13935,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13938,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13940,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:13943,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13947,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13948,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13949,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - prog
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_iter_attach_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13954
      start: 13917
    functionDepth: 3
    functionLinenumber: 13917
    functionLinenumberEnd: 13954
    functionName: bpf_program__attach_iter
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - OPTS_GET
    - bpf_program__fd
    - libbpf_err_ptr
    - bpf_link_create
    - DECLARE_LIBBPF_OPTS
    - OPTS_VALID
    - calloc
    - errstr
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *\nbpf_program__attach_iter(const struct bpf_program
      *prog,\n\t\t\t const struct bpf_iter_attach_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__attach_iter
      Src: /src/libbpf/src/libbpf.c:13958,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/libbpf.c:13959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prog
    - cookie
    - link
    argTypes:
    - struct bpf_program*
    - long
    - struct bpf_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13960
      start: 13956
    functionDepth: 4
    functionLinenumber: 13956
    functionLinenumberEnd: 13960
    functionName: attach_iter
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - bpf_program__attach_iter
    - libbpf_get_error
    linkageType: ''
    returnType: int
    signature: int attach_iter(const struct bpf_program *prog, long cookie, struct
      bpf_link **link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf.c:13965,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:13969,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13970,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:13972,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13974,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13975,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:13978,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13980,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13984,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13985,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13986,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:13987,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:13989,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:13992,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:13993,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:13994,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:13995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - prog
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_netfilter_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14000
      start: 13962
    functionDepth: 3
    functionLinenumber: 13962
    functionLinenumberEnd: 14000
    functionName: bpf_program__attach_netfilter
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_program__fd
    - OPTS_GET
    - libbpf_err_ptr
    - bpf_link_create
    - OPTS_VALID
    - errstr
    - calloc
    - free
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: "struct bpf_link *bpf_program__attach_netfilter(const struct bpf_program
      *prog,\n\t\t\t\t\t       const struct bpf_netfilter_opts *opts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14008,1
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:14010,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14011,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14013,1
    - Dst: struct bpf_program*::sec_def::prog_attach_fn
      Src: /src/libbpf/src/libbpf.c:14016,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14018,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - prog
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14029
      start: 14002
    functionDepth: 2
    functionLinenumber: 14002
    functionLinenumberEnd: 14029
    functionName: bpf_program__attach
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_program__fd
    - libbpf_err_ptr
    - struct bpf_program*::sec_def::prog_attach_fn
    - pr_warn
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_program__attach(const struct bpf_program *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:14041,1
    - Dst: bpf_map_delete_elem
      Src: /src/libbpf/src/libbpf.c:14045,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:14047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct bpf_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14048
      start: 14036
    functionDepth: 2
    functionLinenumber: 14036
    functionLinenumberEnd: 14048
    functionName: bpf_link__detach_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - close
    - container_of
    - bpf_map_delete_elem
    linkageType: ''
    returnType: int
    signature: int bpf_link__detach_struct_ops(struct bpf_link *link)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:14056,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14057,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14058,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14062,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14063,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:14066,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14068,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:14071,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14078,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14079,1
    - Dst: bpf_link_create
      Src: /src/libbpf/src/libbpf.c:14091,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14093,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14101
      start: 14050
    functionDepth: 3
    functionLinenumber: 14050
    functionLinenumberEnd: 14101
    functionName: bpf_map__attach_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err_ptr
    - bpf_link_create
    - bpf_map__is_struct_ops
    - calloc
    - free
    - pr_warn
    - bpf_map_update_elem
    linkageType: ''
    returnType: struct bpf_link
    signature: struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:14112,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14113,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14116,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14117,1
    - Dst: container_of
      Src: /src/libbpf/src/libbpf.c:14120,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14123,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:14125,1
    - Dst: bpf_link_update
      Src: /src/libbpf/src/libbpf.c:14134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - link
    - map
    argTypes:
    - struct bpf_link*
    - struct bpf_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14141
      start: 14106
    functionDepth: 2
    functionLinenumber: 14106
    functionLinenumberEnd: 14141
    functionName: bpf_link__update_map
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - container_of
    - bpf_map__is_struct_ops
    - bpf_link_update
    - pr_warn
    - bpf_map_update_elem
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_link__update_map(struct bpf_link *link, const struct bpf_map
      *map)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ring_buffer_read_head
      Src: /src/libbpf/src/libbpf.c:14152,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14169,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf.c:14170,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:14179,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf.c:14180,1
    - Dst: fn
      Src: /src/libbpf/src/libbpf.c:14184,1
    - Dst: ring_buffer_write_tail
      Src: /src/libbpf/src/libbpf.c:14190,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - mmap_mem
    - mmap_size
    - page_size
    - copy_mem
    - copy_size
    - fn
    - private_data
    argTypes:
    - void*
    - size_t
    - size_t
    - void**
    - size_t*
    - bpf_perf_event_print_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14192
      start: 14146
    functionDepth: 1
    functionLinenumber: 14146
    functionLinenumberEnd: 14192
    functionName: perf_event_read_simple
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - ring_buffer_write_tail
    - ring_buffer_read_head
    - free
    - malloc
    - fn
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: enum bpf_perf_event_ret
    signature: "enum bpf_perf_event_ret perf_event_read_simple(void *mmap_mem, size_t
      mmap_size, size_t page_size,\n\t\t       void **copy_mem, size_t *copy_size,\n\t\t
      \      bpf_perf_event_print_t fn, void *private_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/libbpf.c:14240,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14241,1
    - Dst: ioctl
      Src: /src/libbpf/src/libbpf.c:14243,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:14244,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14246,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pb
    - cpu_buf
    argTypes:
    - struct perf_buffer*
    - struct perf_cpu_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14248
      start: 14234
    functionDepth: 1
    functionLinenumber: 14234
    functionLinenumberEnd: 14248
    functionName: perf_buffer__free_cpu_buf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - munmap
    - close
    - ioctl
    - free
    - pr_warn
    linkageType: ''
    returnType: void
    signature: "void perf_buffer__free_cpu_buf(struct perf_buffer *pb,\n\t\t\t\t      struct
      perf_cpu_buf *cpu_buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/libbpf.c:14254,1
    - Dst: bpf_map_delete_elem
      Src: /src/libbpf/src/libbpf.c:14263,1
    - Dst: perf_buffer__free_cpu_buf
      Src: /src/libbpf/src/libbpf.c:14264,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14266,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:14269,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14270,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pb
    argTypes:
    - struct perf_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14272
      start: 14250
    functionDepth: 2
    functionLinenumber: 14250
    functionLinenumberEnd: 14272
    functionName: perf_buffer__free
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - IS_ERR_OR_NULL
    - perf_buffer__free_cpu_buf
    - close
    - free
    - bpf_map_delete_elem
    linkageType: ''
    returnType: void
    signature: void perf_buffer__free(struct perf_buffer *pb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:14281,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14283,1
    - Dst: syscall
      Src: /src/libbpf/src/libbpf.c:14289,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14293,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14294,1
    - Dst: mmap
      Src: /src/libbpf/src/libbpf.c:14298,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14304,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14305,1
    - Dst: ioctl
      Src: /src/libbpf/src/libbpf.c:14309,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14311,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14312,1
    - Dst: perf_buffer__free_cpu_buf
      Src: /src/libbpf/src/libbpf.c:14319,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - pb
    - attr
    - cpu
    - map_key
    argTypes:
    - struct perf_buffer*
    - struct perf_event_attr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14321
      start: 14274
    functionDepth: 2
    functionLinenumber: 14274
    functionLinenumberEnd: 14321
    functionName: perf_buffer__open_cpu_buf
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - mmap
    - perf_buffer__free_cpu_buf
    - syscall
    - errstr
    - calloc
    - ioctl
    - pr_warn
    - ERR_PTR
    linkageType: ''
    returnType: struct perf_cpu_buf
    signature: "struct perf_cpu_buf *\nperf_buffer__open_cpu_buf(struct perf_buffer
      *pb, struct perf_event_attr *attr,\n\t\t\t  int cpu, int map_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:14337,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14338,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:14340,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:14344,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:14356,1
    - Dst: __perf_buffer__new
      Src: /src/libbpf/src/libbpf.c:14356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - map_fd
    - page_cnt
    - sample_cb
    - lost_cb
    - ctx
    - opts
    argTypes:
    - int
    - size_t
    - perf_buffer_sample_fn
    - perf_buffer_lost_fn
    - void*
    - struct perf_buffer_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14357
      start: 14326
    functionDepth: 1
    functionLinenumber: 14326
    functionLinenumberEnd: 14357
    functionName: perf_buffer__new
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - libbpf_ptr
    - OPTS_GET
    - memset
    - libbpf_err_ptr
    - __perf_buffer__new
    - OPTS_VALID
    linkageType: ''
    returnType: struct perf_buffer
    signature: "struct perf_buffer *perf_buffer__new(int map_fd, size_t page_cnt,\n\t\t\t\t
      \    perf_buffer_sample_fn sample_cb,\n\t\t\t\t     perf_buffer_lost_fn lost_cb,\n\t\t\t\t
      \    void *ctx,\n\t\t\t\t     const struct perf_buffer_opts *opts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14367,1
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/libbpf.c:14369,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/libbpf.c:14370,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:14375,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:14376,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/libbpf.c:14377,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/libbpf.c:14379,1
    - Dst: __perf_buffer__new
      Src: /src/libbpf/src/libbpf.c:14379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - map_fd
    - page_cnt
    - attr
    - event_cb
    - ctx
    - opts
    argTypes:
    - int
    - size_t
    - struct perf_event_attr*
    - perf_buffer_event_fn
    - void*
    - struct perf_buffer_raw_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14380
      start: 14359
    functionDepth: 1
    functionLinenumber: 14359
    functionLinenumberEnd: 14380
    functionName: perf_buffer__new_raw
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - OPTS_GET
    - libbpf_err_ptr
    - __perf_buffer__new
    - OPTS_VALID
    linkageType: ''
    returnType: struct perf_buffer
    signature: "struct perf_buffer *perf_buffer__new_raw(int map_fd, size_t page_cnt,\n\t\t\t\t\t
      struct perf_event_attr *attr,\n\t\t\t\t\t perf_buffer_event_fn event_cb, void
      *ctx,\n\t\t\t\t\t const struct perf_buffer_raw_opts *opts)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14393,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14395,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:14399,1
    - Dst: bpf_map_get_info_by_fd
      Src: /src/libbpf/src/libbpf.c:14401,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14408,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14409,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14410,1
    - Dst: pr_debug
      Src: /src/libbpf/src/libbpf.c:14412,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14416,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14418,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:14422,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14424,1
    - Dst: getpagesize
      Src: /src/libbpf/src/libbpf.c:14431,1
    - Dst: epoll_create1
      Src: /src/libbpf/src/libbpf.c:14435,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14438,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14439,1
    - Dst: libbpf_num_possible_cpus
      Src: /src/libbpf/src/libbpf.c:14446,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:14455,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14458,1
    - Dst: calloc
      Src: /src/libbpf/src/libbpf.c:14461,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14464,1
    - Dst: parse_cpu_mask_file
      Src: /src/libbpf/src/libbpf.c:14468,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14470,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14470,1
    - Dst: perf_buffer__open_cpu_buf
      Src: /src/libbpf/src/libbpf.c:14487,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:14488,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:14489,1
    - Dst: bpf_map_update_elem
      Src: /src/libbpf/src/libbpf.c:14495,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14499,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14501,1
    - Dst: epoll_ctl
      Src: /src/libbpf/src/libbpf.c:14507,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14510,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14512,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14518,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14523,1
    - Dst: perf_buffer__free
      Src: /src/libbpf/src/libbpf.c:14525,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/libbpf.c:14526,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 3
    argNames:
    - map_fd
    - page_cnt
    - p
    argTypes:
    - int
    - size_t
    - struct perf_buffer_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14527
      start: 14382
    functionDepth: 3
    functionLinenumber: 14382
    functionLinenumberEnd: 14527
    functionName: __perf_buffer__new
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 2
    functionsReached:
    - getpagesize
    - memset
    - parse_cpu_mask_file
    - IS_ERR
    - pr_debug
    - perf_buffer__free
    - epoll_create1
    - PTR_ERR
    - errstr
    - calloc
    - libbpf_num_possible_cpus
    - perf_buffer__open_cpu_buf
    - bpf_map_get_info_by_fd
    - bpf_map_update_elem
    - free
    - epoll_ctl
    - pr_warn
    - ERR_PTR
    linkageType: ''
    returnType: struct perf_buffer
    signature: "struct perf_buffer *__perf_buffer__new(int map_fd, size_t page_cnt,\n\t\t\t\t\t
      \     struct perf_buffer_params *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: struct perf_buffer*::event_cb
      Src: /src/libbpf/src/libbpf.c:14551,1
    - Dst: struct perf_buffer*::sample_cb
      Src: /src/libbpf/src/libbpf.c:14558,1
    - Dst: struct perf_buffer*::lost_cb
      Src: /src/libbpf/src/libbpf.c:14565,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - e
    - ctx
    argTypes:
    - struct perf_event_header*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14573
      start: 14542
    functionDepth: 0
    functionLinenumber: 14542
    functionLinenumberEnd: 14573
    functionName: perf_buffer__process_record
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - pr_warn
    - struct perf_buffer*::lost_cb
    - struct perf_buffer*::sample_cb
    - struct perf_buffer*::event_cb
    linkageType: ''
    returnType: enum bpf_perf_event_ret
    signature: enum bpf_perf_event_ret perf_buffer__process_record(struct perf_event_header
      *e, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: perf_event_read_simple
      Src: /src/libbpf/src/libbpf.c:14580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pb
    - cpu_buf
    argTypes:
    - struct perf_buffer*
    - struct perf_cpu_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14587
      start: 14575
    functionDepth: 2
    functionLinenumber: 14575
    functionLinenumberEnd: 14587
    functionName: perf_buffer__process_records
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - perf_event_read_simple
    linkageType: ''
    returnType: int
    signature: "int perf_buffer__process_records(struct perf_buffer *pb,\n\t\t\t\t\tstruct
      perf_cpu_buf *cpu_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - struct perf_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14592
      start: 14589
    functionDepth: 0
    functionLinenumber: 14589
    functionLinenumberEnd: 14592
    functionName: perf_buffer__epoll_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int perf_buffer__epoll_fd(const struct perf_buffer *pb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epoll_wait
      Src: /src/libbpf/src/libbpf.c:14598,1
    - Dst: perf_buffer__process_records
      Src: /src/libbpf/src/libbpf.c:14605,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14607,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14607,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - timeout_ms
    argTypes:
    - struct perf_buffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14612
      start: 14594
    functionDepth: 3
    functionLinenumber: 14594
    functionLinenumberEnd: 14612
    functionName: perf_buffer__poll
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - errstr
    - perf_buffer__process_records
    - epoll_wait
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - struct perf_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14620
      start: 14617
    functionDepth: 0
    functionLinenumber: 14617
    functionLinenumberEnd: 14620
    functionName: perf_buffer__buffer_cnt
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14632,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pb
    - buf_idx
    argTypes:
    - struct perf_buffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14639
      start: 14627
    functionDepth: 1
    functionLinenumber: 14627
    functionLinenumberEnd: 14639
    functionName: perf_buffer__buffer_fd
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14646,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pb
    - buf_idx
    - buf
    - buf_size
    argTypes:
    - struct perf_buffer*
    - int
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14655
      start: 14641
    functionDepth: 1
    functionLinenumber: 14641
    functionLinenumberEnd: 14655
    functionName: perf_buffer__buffer
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int perf_buffer__buffer(struct perf_buffer *pb, int buf_idx, void **buf,
      size_t *buf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14670,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14674,1
    - Dst: perf_buffer__process_records
      Src: /src/libbpf/src/libbpf.c:14676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pb
    - buf_idx
    argTypes:
    - struct perf_buffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14677
      start: 14665
    functionDepth: 3
    functionLinenumber: 14665
    functionLinenumberEnd: 14677
    functionName: perf_buffer__consume_buffer
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - perf_buffer__process_records
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: perf_buffer__process_records
      Src: /src/libbpf/src/libbpf.c:14689,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14691,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14692,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pb
    argTypes:
    - struct perf_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14697
      start: 14679
    functionDepth: 3
    functionLinenumber: 14679
    functionLinenumberEnd: 14697
    functionName: perf_buffer__consume
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - errstr
    - perf_buffer__process_records
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int perf_buffer__consume(struct perf_buffer *pb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14706,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14709,1
    - Dst: libbpf_find_prog_btf_id
      Src: /src/libbpf/src/libbpf.c:14720,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14723,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14726,1
    - Dst: bpf_object__load_vmlinux_btf
      Src: /src/libbpf/src/libbpf.c:14729,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14731,1
    - Dst: find_kernel_btf_id
      Src: /src/libbpf/src/libbpf.c:14732,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - prog
    - attach_prog_fd
    - attach_func_name
    argTypes:
    - struct bpf_program*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14743
      start: 14699
    functionDepth: 6
    functionLinenumber: 14699
    functionLinenumberEnd: 14743
    functionName: bpf_program__set_attach_target
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__load_vmlinux_btf
    - find_kernel_btf_id
    - libbpf_find_prog_btf_id
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_program__set_attach_target(struct bpf_program *prog,\n\t\t\t\t
      \  int attach_prog_fd,\n\t\t\t\t   const char *attach_func_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_program__fd
      Src: /src/libbpf/src/libbpf.c:14750,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14752,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14754,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14758,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14759,1
    - Dst: bpf_map__fd
      Src: /src/libbpf/src/libbpf.c:14762,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14764,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14765,1
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:14768,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14769,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14770,1
    - Dst: bpf_prog_assoc_struct_ops
      Src: /src/libbpf/src/libbpf.c:14773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - prog
    - map
    - opts
    argTypes:
    - struct bpf_program*
    - struct bpf_map*
    - struct bpf_prog_assoc_struct_ops_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14774
      start: 14745
    functionDepth: 2
    functionLinenumber: 14745
    functionLinenumberEnd: 14774
    functionName: bpf_program__assoc_struct_ops
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_map__fd
    - bpf_program__fd
    - bpf_prog_assoc_struct_ops
    - bpf_map__is_struct_ops
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_program__assoc_struct_ops(struct bpf_program *prog, struct
      bpf_map *map,\n\t\t\t\t  struct bpf_prog_assoc_struct_ops_opts *opts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf.c:14790,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14792,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14799,1
    - Dst: realloc
      Src: /src/libbpf/src/libbpf.c:14804,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:14810,1
    - Dst: memset
      Src: /src/libbpf/src/libbpf.c:14811,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14816,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14821,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - s
    - mask
    - mask_sz
    argTypes:
    - char*
    - bool**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14824
      start: 14776
    functionDepth: 1
    functionLinenumber: 14776
    functionLinenumberEnd: 14824
    functionName: parse_cpu_mask_str
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - memset
    - realloc
    - sscanf
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_cpu_mask_str(const char *s, bool **mask, int *mask_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libbpf/src/libbpf.c:14831,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14834,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14834,1
    - Dst: read
      Src: /src/libbpf/src/libbpf.c:14837,1
    - Dst: close
      Src: /src/libbpf/src/libbpf.c:14838,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14841,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14841,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14845,1
    - Dst: parse_cpu_mask_str
      Src: /src/libbpf/src/libbpf.c:14850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - fcpu
    - mask
    - mask_sz
    argTypes:
    - char*
    - bool**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14851
      start: 14826
    functionDepth: 2
    functionLinenumber: 14826
    functionLinenumberEnd: 14851
    functionName: parse_cpu_mask_file
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 1
    functionsReached:
    - open
    - parse_cpu_mask_str
    - close
    - errstr
    - read
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int parse_cpu_mask_file(const char *fcpu, bool **mask, int *mask_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: READ_ONCE
      Src: /src/libbpf/src/libbpf.c:14860,1
    - Dst: parse_cpu_mask_file
      Src: /src/libbpf/src/libbpf.c:14864,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14866,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:14873,1
    - Dst: WRITE_ONCE
      Src: /src/libbpf/src/libbpf.c:14875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14877
      start: 14853
    functionDepth: 3
    functionLinenumber: 14853
    functionLinenumberEnd: 14877
    functionName: libbpf_num_possible_cpus
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 3
    functionsReached:
    - parse_cpu_mask_file
    - WRITE_ONCE
    - READ_ONCE
    - free
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_num_possible_cpus(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__find_map_by_name
      Src: /src/libbpf/src/libbpf.c:14891,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - obj
    - maps
    - map_cnt
    - map_skel_sz
    argTypes:
    - struct bpf_object*
    - struct bpf_map_skeleton*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14902
      start: 14879
    functionDepth: 2
    functionLinenumber: 14879
    functionLinenumberEnd: 14902
    functionName: populate_skeleton_maps
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__find_map_by_name
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int populate_skeleton_maps(const struct bpf_object *obj,\n\t\t\t\t
      \ struct bpf_map_skeleton *maps,\n\t\t\t\t  size_t map_cnt, size_t map_skel_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__find_program_by_name
      Src: /src/libbpf/src/libbpf.c:14915,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - obj
    - progs
    - prog_cnt
    - prog_skel_sz
    argTypes:
    - struct bpf_object*
    - struct bpf_prog_skeleton*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14922
      start: 14904
    functionDepth: 2
    functionLinenumber: 14904
    functionLinenumberEnd: 14922
    functionName: populate_skeleton_progs
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__find_program_by_name
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int populate_skeleton_progs(const struct bpf_object *obj,\n\t\t\t\t
      \  struct bpf_prog_skeleton *progs,\n\t\t\t\t   size_t prog_cnt, size_t prog_skel_sz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object_open
      Src: /src/libbpf/src/libbpf.c:14930,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf.c:14931,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf.c:14932,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14933,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14934,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14935,1
    - Dst: populate_skeleton_maps
      Src: /src/libbpf/src/libbpf.c:14939,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14941,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14941,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14942,1
    - Dst: populate_skeleton_progs
      Src: /src/libbpf/src/libbpf.c:14945,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14947,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14947,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - s
    - opts
    argTypes:
    - struct bpf_object_skeleton*
    - struct bpf_object_open_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14952
      start: 14924
    functionDepth: 10
    functionLinenumber: 14924
    functionLinenumberEnd: 14952
    functionName: bpf_object__open_skeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - populate_skeleton_progs
    - populate_skeleton_maps
    - IS_ERR
    - bpf_object_open
    - PTR_ERR
    - errstr
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_object__open_skeleton(struct bpf_object_skeleton *s,\n\t\t\t
      \     const struct bpf_object_open_opts *opts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14966,1
    - Dst: bpf_object__btf
      Src: /src/libbpf/src/libbpf.c:14968,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14970,1
    - Dst: bpf_object__name
      Src: /src/libbpf/src/libbpf.c:14971,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14972,1
    - Dst: populate_skeleton_maps
      Src: /src/libbpf/src/libbpf.c:14975,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14977,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14977,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14978,1
    - Dst: populate_skeleton_progs
      Src: /src/libbpf/src/libbpf.c:14981,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14983,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:14983,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14984,1
    - Dst: bpf_map__btf_value_type_id
      Src: /src/libbpf/src/libbpf.c:14990,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:14991,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/libbpf.c:14993,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:14994,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:14995,1
    - Dst: __btf_kind_str
      Src: /src/libbpf/src/libbpf.c:14996,1
    - Dst: btf_kind
      Src: /src/libbpf/src/libbpf.c:14996,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:14997,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf.c:15000,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/libbpf.c:15001,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/libbpf.c:15003,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/libbpf.c:15004,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf.c:15005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_subskeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15012
      start: 14954
    functionDepth: 3
    functionLinenumber: 14954
    functionLinenumberEnd: 15012
    functionName: bpf_object__open_subskeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - populate_skeleton_progs
    - populate_skeleton_maps
    - btf__type_by_id
    - btf__name_by_offset
    - strcmp
    - bpf_map__name
    - bpf_map__btf_value_type_id
    - bpf_object__name
    - errstr
    - bpf_object__btf
    - __btf_kind_str
    - btf_kind
    - btf_vlen
    - btf_var_secinfos
    - btf_is_datasec
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__open_subskeleton(struct bpf_object_subskeleton *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15018,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15019,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15020,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_subskeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15022
      start: 15014
    functionDepth: 1
    functionLinenumber: 15014
    functionLinenumberEnd: 15022
    functionName: bpf_object__destroy_subskeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_object__destroy_subskeleton(struct bpf_object_subskeleton
      *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__load
      Src: /src/libbpf/src/libbpf.c:15028,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:15030,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:15030,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:15031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_skeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15048
      start: 15024
    functionDepth: 15
    functionLinenumber: 15024
    functionLinenumberEnd: 15048
    functionName: bpf_object__load_skeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__load
    - errstr
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__load_skeleton(struct bpf_object_skeleton *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: struct bpf_program*::sec_def::prog_attach_fn
      Src: /src/libbpf/src/libbpf.c:15070,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:15072,1
    - Dst: bpf_program__name
      Src: /src/libbpf/src/libbpf.c:15073,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:15073,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:15074,1
    - Dst: bpf_map__is_struct_ops
      Src: /src/libbpf/src/libbpf.c:15099,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:15104,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:15105,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:15111,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:15112,1
    - Dst: bpf_map__attach_struct_ops
      Src: /src/libbpf/src/libbpf.c:15119,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf.c:15122,1
    - Dst: bpf_map__name
      Src: /src/libbpf/src/libbpf.c:15123,1
    - Dst: errstr
      Src: /src/libbpf/src/libbpf.c:15123,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf.c:15124,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_skeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15129
      start: 15050
    functionDepth: 4
    functionLinenumber: 15050
    functionLinenumberEnd: 15129
    functionName: bpf_object__attach_skeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - struct bpf_program*::sec_def::prog_attach_fn
    - bpf_map__attach_struct_ops
    - bpf_map__name
    - bpf_program__name
    - bpf_map__is_struct_ops
    - errstr
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_object__attach_skeleton(struct bpf_object_skeleton *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/libbpf.c:15139,1
    - Dst: bpf_link__destroy
      Src: /src/libbpf/src/libbpf.c:15151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_skeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15155
      start: 15131
    functionDepth: 2
    functionLinenumber: 15131
    functionLinenumberEnd: 15155
    functionName: bpf_object__detach_skeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_link__destroy
    linkageType: ''
    returnType: void
    signature: void bpf_object__detach_skeleton(struct bpf_object_skeleton *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__detach_skeleton
      Src: /src/libbpf/src/libbpf.c:15162,1
    - Dst: bpf_object__close
      Src: /src/libbpf/src/libbpf.c:15164,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15165,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15166,1
    - Dst: free
      Src: /src/libbpf/src/libbpf.c:15167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct bpf_object_skeleton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15168
      start: 15157
    functionDepth: 5
    functionLinenumber: 15157
    functionLinenumberEnd: 15168
    functionName: bpf_object__destroy_skeleton
    functionSourceFile: /src/libbpf/src/libbpf.c
    functionUses: 0
    functionsReached:
    - bpf_object__detach_skeleton
    - bpf_object__close
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: faccessat
      Src: /src/libbpf/src/libbpf_probes.c:38,1
    - Dst: fopen
      Src: /src/libbpf/src/libbpf_probes.c:41,1
    - Dst: fscanf
      Src: /src/libbpf/src/libbpf_probes.c:45,1
    - Dst: fclose
      Src: /src/libbpf/src/libbpf_probes.c:46,1
    - Dst: KERNEL_VERSION
      Src: /src/libbpf/src/libbpf_probes.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: get_ubuntu_kernel_version
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - fclose
    - fscanf
    - fopen
    - KERNEL_VERSION
    - faccessat
    linkageType: ''
    returnType: __u32
    signature: __u32 get_ubuntu_kernel_version(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libbpf/src/libbpf_probes.c:68,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf_probes.c:74,1
    - Dst: KERNEL_VERSION
      Src: /src/libbpf/src/libbpf_probes.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct utsname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: get_debian_kernel_version
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - sscanf
    - KERNEL_VERSION
    - strstr
    linkageType: ''
    returnType: __u32
    signature: __u32 get_debian_kernel_version(struct utsname *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ubuntu_kernel_version
      Src: /src/libbpf/src/libbpf_probes.c:86,1
    - Dst: uname
      Src: /src/libbpf/src/libbpf_probes.c:90,1
    - Dst: get_debian_kernel_version
      Src: /src/libbpf/src/libbpf_probes.c:93,1
    - Dst: sscanf
      Src: /src/libbpf/src/libbpf_probes.c:97,1
    - Dst: KERNEL_VERSION
      Src: /src/libbpf/src/libbpf_probes.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: get_kernel_version
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 2
    functionsReached:
    - uname
    - sscanf
    - KERNEL_VERSION
    - get_debian_kernel_version
    - get_ubuntu_kernel_version
    linkageType: ''
    returnType: __u32
    signature: __u32 get_kernel_version(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf_probes.c:107,1
    - Dst: get_kernel_version
      Src: /src/libbpf/src/libbpf_probes.c:127,1
    - Dst: bpf_prog_load
      Src: /src/libbpf/src/libbpf_probes.c:191,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_probes.c:194,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf_probes.c:198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 85
    argCount: 5
    argNames:
    - prog_type
    - insns
    - insns_cnt
    - log_buf
    - log_buf_sz
    argTypes:
    - enum bpf_prog_type
    - struct bpf_insn*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 203
    functionName: probe_prog_load
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_prog_load
    - strstr
    - get_kernel_version
    - close
    linkageType: ''
    returnType: int
    signature: "int probe_prog_load(enum bpf_prog_type prog_type,\n\t\t\t   const
      struct bpf_insn *insns, size_t insns_cnt,\n\t\t\t   char *log_buf, size_t log_buf_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/libbpf_probes.c:208,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/libbpf_probes.c:209,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf_probes.c:211,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:215,1
    - Dst: probe_prog_load
      Src: /src/libbpf/src/libbpf_probes.c:217,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prog_type
    - opts
    argTypes:
    - enum bpf_prog_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: libbpf_probe_bpf_prog_type
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - probe_prog_load
    - BPF_MOV64_IMM
    - ARRAY_SIZE
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const
      void *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf_probes.c:225,1
    - Dst: malloc
      Src: /src/libbpf/src/libbpf_probes.c:233,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_probes.c:237,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_probes.c:238,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_probes.c:239,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_probes.c:241,1
    - Dst: bpf_btf_load
      Src: /src/libbpf/src/libbpf_probes.c:243,1
    - Dst: free
      Src: /src/libbpf/src/libbpf_probes.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - hdr
    - raw_types
    - str_sec
    - layout_sec
    - token_fd
    argTypes:
    - struct btf_header*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: libbpf__load_raw_btf_hdr
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 1
    functionsReached:
    - LIBBPF_OPTS
    - bpf_btf_load
    - malloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int libbpf__load_raw_btf_hdr(const struct btf_header *hdr, const char
      *raw_types,\n\t\t\t     const char *str_sec, const char *layout_sec,\n\t\t\t
      \    int token_fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf__load_raw_btf_hdr
      Src: /src/libbpf/src/libbpf_probes.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - raw_types
    - types_len
    - str_sec
    - str_len
    - token_fd
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: libbpf__load_raw_btf
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 11
    functionsReached:
    - libbpf__load_raw_btf_hdr
    linkageType: ''
    returnType: int
    signature: "int libbpf__load_raw_btf(const char *raw_types, size_t types_len,\n\t\t\t
      const char *str_sec, size_t str_len,\n\t\t\t int token_fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BTF_TYPE_INT_ENC
      Src: /src/libbpf/src/libbpf_probes.c:278,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/libbpf_probes.c:280,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf_probes.c:280,1
    - Dst: BTF_MEMBER_ENC
      Src: /src/libbpf/src/libbpf_probes.c:281,1
    - Dst: BTF_TYPE_ENC
      Src: /src/libbpf/src/libbpf_probes.c:283,1
    - Dst: BTF_INFO_ENC
      Src: /src/libbpf/src/libbpf_probes.c:283,1
    - Dst: BTF_MEMBER_ENC
      Src: /src/libbpf/src/libbpf_probes.c:284,1
    - Dst: BTF_MEMBER_ENC
      Src: /src/libbpf/src/libbpf_probes.c:285,1
    - Dst: libbpf__load_raw_btf
      Src: /src/libbpf/src/libbpf_probes.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 290
    functionName: load_local_storage_btf
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - BTF_TYPE_INT_ENC
    - BTF_INFO_ENC
    - BTF_TYPE_ENC
    - libbpf__load_raw_btf
    - BTF_MEMBER_ENC
    linkageType: ''
    returnType: int
    signature: int load_local_storage_btf(void)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/libbpf_probes.c:294,1
    - Dst: load_local_storage_btf
      Src: /src/libbpf/src/libbpf_probes.c:334,1
    - Dst: sysconf
      Src: /src/libbpf/src/libbpf_probes.c:342,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/libbpf_probes.c:391,1
    - Dst: bpf_map_create
      Src: /src/libbpf/src/libbpf_probes.c:405,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_probes.c:410,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_probes.c:412,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_probes.c:414,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 114
    argCount: 1
    argNames:
    - map_type
    argTypes:
    - enum bpf_map_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 420
    functionName: probe_map_create
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - LIBBPF_OPTS
    - bpf_map_create
    - sysconf
    - close
    - load_local_storage_btf
    linkageType: ''
    returnType: int
    signature: int probe_map_create(enum bpf_map_type map_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:427,1
    - Dst: probe_map_create
      Src: /src/libbpf/src/libbpf_probes.c:429,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map_type
    - opts
    argTypes:
    - enum bpf_map_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: libbpf_probe_bpf_map_type
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - probe_map_create
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void
      *opts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/libbpf_probes.c:437,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/libbpf_probes.c:438,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf_probes.c:440,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:445,1
    - Dst: probe_prog_load
      Src: /src/libbpf/src/libbpf_probes.c:461,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_probes.c:463,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf_probes.c:478,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf_probes.c:478,1
    - Dst: strstr
      Src: /src/libbpf/src/libbpf_probes.c:479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - prog_type
    - helper_id
    - opts
    argTypes:
    - enum bpf_prog_type
    - enum bpf_func_id
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 433
    functionDepth: 5
    functionLinenumber: 433
    functionLinenumberEnd: 482
    functionName: libbpf_probe_bpf_helper
    functionSourceFile: /src/libbpf/src/libbpf_probes.c
    functionUses: 0
    functionsReached:
    - BPF_EXIT_INSN
    - probe_prog_load
    - BPF_EMIT_CALL
    - strstr
    - ARRAY_SIZE
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id
      helper_id,\n\t\t\t    const void *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pos
    - ','
    - head
    - ','
    - len
    - ','
    - rem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: libbpf_nla_for_each_attr
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: libbpf_nla_for_each_attr(pos, head, len, rem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: libbpf_nla_data
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *libbpf_nla_data(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: libbpf_nla_getattr_u8
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 1
    functionsReached:
    - libbpf_nla_data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t libbpf_nla_getattr_u8(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: libbpf_nla_getattr_u16
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 1
    functionsReached:
    - libbpf_nla_data
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t libbpf_nla_getattr_u16(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: libbpf_nla_getattr_u32
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 3
    functionsReached:
    - libbpf_nla_data
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t libbpf_nla_getattr_u32(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: libbpf_nla_getattr_u64
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 1
    functionsReached:
    - libbpf_nla_data
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t libbpf_nla_getattr_u64(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: libbpf_nla_getattr_str
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 0
    functionsReached:
    - libbpf_nla_data
    linkageType: ''
    returnType: char
    signature: char *libbpf_nla_getattr_str(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: libbpf_nla_len
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int libbpf_nla_len(const struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: nla_data
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct nlattr
    signature: struct nlattr *nla_data(struct nlattr *nla)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_ALIGN
      Src: /src/libbpf/src/nlattr.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct libbpf_nla_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: req_tail
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 0
    functionsReached:
    - NLMSG_ALIGN
    linkageType: ''
    returnType: struct nlattr
    signature: struct nlattr *req_tail(struct libbpf_nla_req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_ALIGN
      Src: /src/libbpf/src/nlattr.h:146,1
    - Dst: NLA_ALIGN
      Src: /src/libbpf/src/nlattr.h:146,1
    - Dst: req_tail
      Src: /src/libbpf/src/nlattr.h:151,1
    - Dst: memcpy
      Src: /src/libbpf/src/nlattr.h:155,1
    - Dst: nla_data
      Src: /src/libbpf/src/nlattr.h:155,1
    - Dst: NLMSG_ALIGN
      Src: /src/libbpf/src/nlattr.h:156,1
    - Dst: NLA_ALIGN
      Src: /src/libbpf/src/nlattr.h:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - req
    - type
    - data
    - len
    argTypes:
    - struct libbpf_nla_req*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: nlattr_add
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 9
    functionsReached:
    - nla_data
    - NLA_ALIGN
    - NLMSG_ALIGN
    - req_tail
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int nlattr_add(struct libbpf_nla_req *req, int type,\n\t\t\t     const
      void *data, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_tail
      Src: /src/libbpf/src/nlattr.h:164,1
    - Dst: nlattr_add
      Src: /src/libbpf/src/nlattr.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - type
    argTypes:
    - struct libbpf_nla_req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: nlattr_begin_nested
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 2
    functionsReached:
    - req_tail
    - nlattr_add
    linkageType: ''
    returnType: struct nlattr
    signature: struct nlattr *nlattr_begin_nested(struct libbpf_nla_req *req, int
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_tail
      Src: /src/libbpf/src/nlattr.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - tail
    argTypes:
    - struct libbpf_nla_req*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: nlattr_end_nested
    functionSourceFile: /src/libbpf/src/nlattr.h
    functionUses: 2
    functionsReached:
    - req_tail
    linkageType: ''
    returnType: void
    signature: "void nlattr_end_nested(struct libbpf_nla_req *req,\n\t\t\t\t     struct
      nlattr *tail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: stack_off
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stack_off(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - attr
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: attr_field
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: attr_field(attr, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gen
    - index
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: blob_fd_array_off
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int blob_fd_array_off(struct bpf_gen *gen, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libbpf/src/gen_loader.c:61,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - gen
    - size
    argTypes:
    - struct bpf_gen*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: realloc_insn_buf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: int
    signature: int realloc_insn_buf(struct bpf_gen *gen, __u32 size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libbpf/src/gen_loader.c:85,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - gen
    - size
    argTypes:
    - struct bpf_gen*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: realloc_data_buf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: int
    signature: int realloc_data_buf(struct bpf_gen *gen, __u32 size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc_insn_buf
      Src: /src/libbpf/src/gen_loader.c:100,1
    - Dst: memcpy
      Src: /src/libbpf/src/gen_loader.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - gen
    - insn
    argTypes:
    - struct bpf_gen*
    - struct bpf_insn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: emit
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - realloc_insn_buf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void emit(struct bpf_gen *gen, struct bpf_insn insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:108,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - gen
    - insn1
    - insn2
    argTypes:
    - struct bpf_gen*
    - struct bpf_insn
    - struct bpf_insn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: emit2
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    linkageType: ''
    returnType: void
    signature: void emit2(struct bpf_gen *gen, struct bpf_insn insn1, struct bpf_insn
      insn2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:120,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:123,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:123,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:126,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:126,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:127,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/gen_loader.c:127,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:128,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:128,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:129,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:129,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:130,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:130,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:135,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:135,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:147,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:147,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:148,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:148,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:149,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:149,1
    - Dst: emit_sys_close_blob
      Src: /src/libbpf/src/gen_loader.c:152,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:152,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:154,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:154,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:155,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/gen_loader.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - gen
    - log_level
    - nr_progs
    - nr_maps
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: bpf_gen__init
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - emit
    - emit_sys_close_blob
    - BPF_EXIT_INSN
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - blob_fd_array_off
    - BPF_MOV64_REG
    - BPF_JMP_IMM
    - BPF_LDX_MEM
    - BPF_ALU64_IMM
    - add_data
    linkageType: ''
    returnType: void
    signature: void bpf_gen__init(struct bpf_gen *gen, int log_level, int nr_progs,
      int nr_maps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roundup
      Src: /src/libbpf/src/gen_loader.c:168,1
    - Dst: realloc_data_buf
      Src: /src/libbpf/src/gen_loader.c:170,1
    - Dst: memcpy
      Src: /src/libbpf/src/gen_loader.c:174,1
    - Dst: memcpy
      Src: /src/libbpf/src/gen_loader.c:175,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - gen
    - data
    - size
    argTypes:
    - struct bpf_gen*
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: add_data
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - memset
    - roundup
    - memcpy
    - realloc_data_buf
    linkageType: ''
    returnType: int
    signature: int add_data(struct bpf_gen *gen, const void *data, __u32 size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/gen_loader.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: add_map_fd
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int add_map_fd(struct bpf_gen *gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: add_kfunc_btf_fd
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - add_data
    linkageType: ''
    returnType: int
    signature: int add_kfunc_btf_fd(struct bpf_gen *gen)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - sz
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: insn_bytes_to_bpf_size
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int insn_bytes_to_bpf_size(__u32 sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:221,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:221,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:223,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:223,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:225,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gen
    - 'off'
    - data
    argTypes:
    - struct bpf_gen*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: emit_rel_store
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - BPF_STX_MEM
    - BPF_LD_IMM64_RAW_FULL
    - emit2
    linkageType: ''
    returnType: void
    signature: void emit_rel_store(struct bpf_gen *gen, int off, int data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:230,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:230,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:232,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:232,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:232,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:233,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:233,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:235,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:235,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - gen
    - 'off'
    - size
    - blob_off
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: move_blob2blob
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_STX_MEM
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    - insn_bytes_to_bpf_size
    linkageType: ''
    returnType: void
    signature: void move_blob2blob(struct bpf_gen *gen, int off, int size, int blob_off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:240,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:240,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:242,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:242,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:242,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:243,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:243,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - gen
    - ctx_off
    - size
    - blob_off
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: move_blob2ctx
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_STX_MEM
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    - insn_bytes_to_bpf_size
    linkageType: ''
    returnType: void
    signature: void move_blob2ctx(struct bpf_gen *gen, int ctx_off, int size, int
      blob_off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:249,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:249,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:249,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:254,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:254,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:255,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:255,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:257,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:257,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - gen
    - 'off'
    - size
    - ctx_off
    - check_non_zero
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: move_ctx2blob
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_STX_MEM
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    - BPF_JMP_IMM
    - insn_bytes_to_bpf_size
    linkageType: ''
    returnType: void
    signature: "void move_ctx2blob(struct bpf_gen *gen, int off, int size, int ctx_off,\n\t\t\t\t
      \  bool check_non_zero)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:262,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:262,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:262,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:263,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:263,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:265,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:265,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - gen
    - 'off'
    - size
    - stack_off
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: move_stack2blob
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_STX_MEM
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    - insn_bytes_to_bpf_size
    linkageType: ''
    returnType: void
    signature: void move_stack2blob(struct bpf_gen *gen, int off, int size, int stack_off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:270,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:270,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:270,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:271,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:271,1
    - Dst: insn_bytes_to_bpf_size
      Src: /src/libbpf/src/gen_loader.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - gen
    - ctx_off
    - size
    - stack_off
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: move_stack2ctx
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - insn_bytes_to_bpf_size
    - BPF_STX_MEM
    - BPF_LDX_MEM
    linkageType: ''
    returnType: void
    signature: void move_stack2ctx(struct bpf_gen *gen, int ctx_off, int size, int
      stack_off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:276,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:276,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:277,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:277,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:279,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:279,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:280,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:280,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:282,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - gen
    - cmd
    - attr
    - attr_size
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: emit_sys_bpf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - BPF_MOV64_REG
    - BPF_LD_IMM64_RAW_FULL
    linkageType: ''
    returnType: void
    signature: void emit_sys_bpf(struct bpf_gen *gen, int cmd, int attr, int attr_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - __s64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: is_simm16
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_simm16(__s64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_simm16
      Src: /src/libbpf/src/gen_loader.c:297,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:298,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: emit_check_err
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - is_simm16
    - emit
    - BPF_JMP_IMM
    linkageType: ''
    returnType: void
    signature: void emit_check_err(struct bpf_gen *gen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libbpf/src/gen_loader.c:313,1
    - Dst: strcat
      Src: /src/libbpf/src/gen_loader.c:319,1
    - Dst: strlen
      Src: /src/libbpf/src/gen_loader.c:320,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:321,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:323,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:323,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:325,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:325,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:327,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:327,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:329,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:329,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:330,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - gen
    - reg1
    - reg2
    - fmt
    - args
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 331
    functionName: emit_debug
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - vsnprintf
    - strcat
    - BPF_MOV64_REG
    - strlen
    - BPF_LD_IMM64_RAW_FULL
    - add_data
    linkageType: ''
    returnType: void
    signature: "void emit_debug(struct bpf_gen *gen, int reg1, int reg2,\n\t\t       const
      char *fmt, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libbpf/src/gen_loader.c:337,1
    - Dst: emit_debug
      Src: /src/libbpf/src/gen_loader.c:338,1
    - Dst: va_end
      Src: /src/libbpf/src/gen_loader.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - gen
    - reg1
    - reg2
    - fmt
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: debug_regs
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit_debug
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void debug_regs(struct bpf_gen *gen, int reg1, int reg2, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libbpf/src/gen_loader.c:346,1
    - Dst: emit_debug
      Src: /src/libbpf/src/gen_loader.c:347,1
    - Dst: va_end
      Src: /src/libbpf/src/gen_loader.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gen
    - fmt
    argTypes:
    - struct bpf_gen*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: debug_ret
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit_debug
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void debug_ret(struct bpf_gen *gen, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:353,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:353,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:358,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:358,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:359,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:359,1
    - Dst: debug_regs
      Src: /src/libbpf/src/gen_loader.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: __emit_sys_close
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - BPF_EMIT_CALL
    - debug_regs
    - BPF_MOV64_REG
    - BPF_JMP_IMM
    linkageType: ''
    returnType: void
    signature: void __emit_sys_close(struct bpf_gen *gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:365,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:365,1
    - Dst: __emit_sys_close
      Src: /src/libbpf/src/gen_loader.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gen
    - stack_off
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: emit_sys_close_stack
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - BPF_LDX_MEM
    - __emit_sys_close
    linkageType: ''
    returnType: void
    signature: void emit_sys_close_stack(struct bpf_gen *gen, int stack_off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:371,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:371,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:373,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:373,1
    - Dst: __emit_sys_close
      Src: /src/libbpf/src/gen_loader.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gen
    - blob_off
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: emit_sys_close_blob
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - emit
    - emit2
    - __emit_sys_close
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    linkageType: ''
    returnType: void
    signature: void emit_sys_close_blob(struct bpf_gen *gen, int blob_off)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/gen_loader.c:382,1
    - Dst: emit_sys_close_stack
      Src: /src/libbpf/src/gen_loader.c:387,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:387,1
    - Dst: move_stack2ctx
      Src: /src/libbpf/src/gen_loader.c:389,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:394,1
    - Dst: move_blob2ctx
      Src: /src/libbpf/src/gen_loader.c:396,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:400,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:401,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:401,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:402,1
    - Dst: BPF_EXIT_INSN
      Src: /src/libbpf/src/gen_loader.c:402,1
    - Dst: bpf_insn_bswap
      Src: /src/libbpf/src/gen_loader.c:417,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:420,1
    - Dst: errstr
      Src: /src/libbpf/src/gen_loader.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - gen
    - nr_progs
    - nr_maps
    argTypes:
    - struct bpf_gen*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 377
    functionDepth: 8
    functionLinenumber: 377
    functionLinenumberEnd: 422
    functionName: bpf_gen__finish
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - emit
    - BPF_EXIT_INSN
    - move_blob2ctx
    - BPF_MOV64_IMM
    - blob_fd_array_off
    - pr_debug
    - emit_sys_close_stack
    - pr_warn
    - errstr
    - stack_off
    - bpf_insn_bswap
    - move_stack2ctx
    linkageType: ''
    returnType: int
    signature: int bpf_gen__finish(struct bpf_gen *gen, int nr_progs, int nr_maps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:428,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:429,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: bpf_gen__free
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bpf_gen__free(struct bpf_gen *gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: tgt_endian
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tgt_endian(rval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:458,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:462,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:463,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:465,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:466,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:467,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:471,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:471,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:473,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:473,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:475,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:475,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:478,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:478,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:480,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:481,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:482,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:484,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:484,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - gen
    - btf_raw_data
    - btf_raw_size
    argTypes:
    - struct bpf_gen*
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 455
    functionDepth: 6
    functionLinenumber: 455
    functionLinenumberEnd: 485
    functionName: bpf_gen__load_btf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - attr_field
    - emit
    - emit_check_err
    - memset
    - BPF_STX_MEM
    - emit_sys_bpf
    - pr_debug
    - emit_rel_store
    - debug_ret
    - move_ctx2blob
    - tgt_endian
    - stack_off
    - add_data
    - offsetofend
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__load_btf(struct bpf_gen *gen, const void *btf_raw_data,\n\t\t
      \      __u32 btf_raw_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:493,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:498,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:499,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:500,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:501,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:502,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:503,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/gen_loader.c:505,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:506,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:507,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:508,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:509,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:510,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:512,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:513,1
    - Dst: move_stack2blob
      Src: /src/libbpf/src/gen_loader.c:519,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:519,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:520,1
    - Dst: move_stack2blob
      Src: /src/libbpf/src/gen_loader.c:524,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:524,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:525,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/gen_loader.c:541,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:542,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:542,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:549,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:550,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:553,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:560,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:560,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:561,1
    - Dst: add_map_fd
      Src: /src/libbpf/src/gen_loader.c:567,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:568,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:568,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:569,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:570,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:570,1
    - Dst: emit_sys_close_stack
      Src: /src/libbpf/src/gen_loader.c:573,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 8
    argNames:
    - gen
    - map_type
    - map_name
    - key_size
    - value_size
    - max_entries
    - map_attr
    - map_idx
    argTypes:
    - struct bpf_gen*
    - enum bpf_map_type
    - char*
    - __u32
    - __u32
    - __u32
    - struct bpf_map_create_opts*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 487
    functionDepth: 8
    functionLinenumber: 487
    functionLinenumberEnd: 574
    functionName: bpf_gen__map_create
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - emit2
    - blob_fd_array_off
    - pr_debug
    - debug_ret
    - tgt_endian
    - OPTS_GET
    - move_stack2blob
    - move_ctx2blob
    - stack_off
    - offsetofend
    - attr_field
    - memset
    - BPF_STX_MEM
    - emit_sys_bpf
    - BPF_LD_IMM64_RAW_FULL
    - add_data
    - emit
    - libbpf_strlcpy
    - emit_check_err
    - emit_sys_close_stack
    - add_map_fd
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__map_create(struct bpf_gen *gen,\n\t\t\t enum bpf_map_type
      map_type,\n\t\t\t const char *map_name,\n\t\t\t __u32 key_size, __u32 value_size,
      __u32 max_entries,\n\t\t\t struct bpf_map_create_opts *map_attr, int map_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_get_kernel_prefix_kind
      Src: /src/libbpf/src/gen_loader.c:582,1
    - Dst: snprintf
      Src: /src/libbpf/src/gen_loader.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gen
    - attach_name
    - type
    argTypes:
    - struct bpf_gen*
    - char*
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: bpf_gen__record_attach_target
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - btf_get_kernel_prefix_kind
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__record_attach_target(struct bpf_gen *gen, const char
      *attach_name,\n\t\t\t\t   enum bpf_attach_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/gen_loader.c:592,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:594,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:595,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:597,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:597,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:599,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:599,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:600,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:600,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:601,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:601,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:602,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:602,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:603,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:603,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:604,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 610
    functionName: emit_find_attach_target
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - emit_check_err
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - pr_debug
    - BPF_MOV64_REG
    - strlen
    - debug_ret
    - BPF_LD_IMM64_RAW_FULL
    - add_data
    linkageType: ''
    returnType: void
    signature: void emit_find_attach_target(struct bpf_gen *gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/gen_loader.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 7
    argNames:
    - gen
    - name
    - is_weak
    - is_typeless
    - is_ld64
    - kind
    - insn_idx
    argTypes:
    - struct bpf_gen*
    - char*
    - bool
    - bool
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 631
    functionName: bpf_gen__record_extern
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - libbpf_reallocarray
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__record_extern(struct bpf_gen *gen, const char *name,
      bool is_weak,\n\t\t\t    bool is_typeless, bool is_ld64, int kind, int insn_idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/gen_loader.c:642,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/gen_loader.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - gen
    - relo
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 661
    functionName: get_ksym_desc
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - strcmp
    linkageType: ''
    returnType: struct ksym_desc
    signature: struct ksym_desc *get_ksym_desc(struct bpf_gen *gen, struct ksym_relo_desc
      *relo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/gen_loader.c:668,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:670,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:671,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:671,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:673,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:673,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:674,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:674,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:675,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:675,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:676,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:676,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:677,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:677,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - gen
    - relo
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 6
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: emit_bpf_find_by_name_kind
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - BPF_MOV64_REG
    - strlen
    - debug_ret
    - BPF_LD_IMM64_RAW_FULL
    - add_data
    linkageType: ''
    returnType: void
    signature: void emit_bpf_find_by_name_kind(struct bpf_gen *gen, struct ksym_relo_desc
      *relo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/gen_loader.c:687,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:689,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:690,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:691,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:691,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:693,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:693,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:694,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:694,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:695,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:695,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:697,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:697,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:698,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:698,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:699,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:699,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:700,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:700,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - gen
    - relo
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 685
    functionDepth: 6
    functionLinenumber: 685
    functionLinenumberEnd: 702
    functionName: emit_bpf_kallsyms_lookup_name
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - emit2
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - BPF_MOV64_REG
    - strlen
    - debug_ret
    - BPF_LD_IMM64_RAW_FULL
    - BPF_LDX_MEM
    - add_data
    linkageType: ''
    returnType: void
    signature: void emit_bpf_kallsyms_lookup_name(struct bpf_gen *gen, struct ksym_relo_desc
      *relo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ksym_desc
      Src: /src/libbpf/src/gen_loader.c:719,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:724,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:726,1
    - Dst: emit_bpf_find_by_name_kind
      Src: /src/libbpf/src/gen_loader.c:732,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:734,1
    - Dst: add_kfunc_btf_fd
      Src: /src/libbpf/src/gen_loader.c:736,1
    - Dst: pr_warn
      Src: /src/libbpf/src/gen_loader.c:738,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:745,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:745,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:747,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:747,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:748,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:748,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:750,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:750,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:752,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:752,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:754,1
    - Dst: BPF_MOV64_REG
      Src: /src/libbpf/src/gen_loader.c:754,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:755,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/gen_loader.c:755,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:757,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:757,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:758,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:760,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:760,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:762,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:762,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:764,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:764,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:766,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:766,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:768,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:768,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:772,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:772,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:774,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:774,1
    - Dst: debug_regs
      Src: /src/libbpf/src/gen_loader.c:776,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:778,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:778,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:779,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:780,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:780,1
    - Dst: debug_regs
      Src: /src/libbpf/src/gen_loader.c:781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - gen
    - relo
    - insn
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 714
    functionDepth: 7
    functionLinenumber: 714
    functionLinenumberEnd: 783
    functionName: emit_relo_kfunc_btf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - move_blob2blob
    - emit_check_err
    - emit2
    - BPF_STX_MEM
    - blob_fd_array_off
    - get_ksym_desc
    - debug_regs
    - BPF_MOV64_REG
    - add_kfunc_btf_fd
    - BPF_LD_IMM64_RAW_FULL
    - BPF_JMP_IMM
    - emit_bpf_find_by_name_kind
    - BPF_LDX_MEM
    - BPF_ALU64_IMM
    - BPF_ST_MEM
    - pr_warn
    linkageType: ''
    returnType: void
    signature: void emit_relo_kfunc_btf(struct bpf_gen *gen, struct ksym_relo_desc
      *relo, int insn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:790,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:790,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:792,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:792,1
    - Dst: debug_regs
      Src: /src/libbpf/src/gen_loader.c:794,1
    - Dst: debug_regs
      Src: /src/libbpf/src/gen_loader.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gen
    - relo
    - ref
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 785
    functionDepth: 6
    functionLinenumber: 785
    functionLinenumberEnd: 799
    functionName: emit_ksym_relo_log
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - debug_regs
    - BPF_LDX_MEM
    linkageType: ''
    returnType: void
    signature: "void emit_ksym_relo_log(struct bpf_gen *gen, struct ksym_relo_desc
      *relo,\n\t\t\t       int ref)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ksym_desc
      Src: /src/libbpf/src/gen_loader.c:809,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:814,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:816,1
    - Dst: emit_bpf_kallsyms_lookup_name
      Src: /src/libbpf/src/gen_loader.c:824,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:825,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:825,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:826,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:828,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:828,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:830,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/gen_loader.c:830,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:831,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:831,1
    - Dst: emit_ksym_relo_log
      Src: /src/libbpf/src/gen_loader.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - gen
    - relo
    - insn
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 804
    functionDepth: 7
    functionLinenumber: 804
    functionLinenumberEnd: 835
    functionName: emit_relo_ksym_typeless
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - move_blob2blob
    - emit_check_err
    - BPF_STX_MEM
    - get_ksym_desc
    - emit_ksym_relo_log
    - BPF_JMP_IMM
    - BPF_ALU64_IMM
    - emit_bpf_kallsyms_lookup_name
    linkageType: ''
    returnType: void
    signature: "void emit_relo_ksym_typeless(struct bpf_gen *gen,\n\t\t\t\t    struct
      ksym_relo_desc *relo, int insn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: src_reg_mask
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 src_reg_mask(struct bpf_gen *gen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ksym_desc
      Src: /src/libbpf/src/gen_loader.c:856,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:861,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:863,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:868,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:868,1
    - Dst: emit_bpf_find_by_name_kind
      Src: /src/libbpf/src/gen_loader.c:873,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:875,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:877,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:877,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:879,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:879,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:880,1
    - Dst: BPF_ST_MEM
      Src: /src/libbpf/src/gen_loader.c:880,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:882,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:882,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:884,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:884,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:886,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/gen_loader.c:886,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:887,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:887,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:890,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:890,1
    - Dst: src_reg_mask
      Src: /src/libbpf/src/gen_loader.c:893,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:895,1
    - Dst: BPF_ALU32_IMM
      Src: /src/libbpf/src/gen_loader.c:895,1
    - Dst: emit_ksym_relo_log
      Src: /src/libbpf/src/gen_loader.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - gen
    - relo
    - insn
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 851
    functionDepth: 7
    functionLinenumber: 851
    functionLinenumberEnd: 899
    functionName: emit_relo_ksym_btf
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit
    - move_blob2blob
    - emit_check_err
    - BPF_STX_MEM
    - get_ksym_desc
    - emit_ksym_relo_log
    - BPF_JMP_IMM
    - emit_bpf_find_by_name_kind
    - src_reg_mask
    - BPF_ALU64_IMM
    - BPF_ST_MEM
    - BPF_ALU32_IMM
    linkageType: ''
    returnType: void
    signature: void emit_relo_ksym_btf(struct bpf_gen *gen, struct ksym_relo_desc
      *relo, int insn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/gen_loader.c:906,1
    - Dst: memcpy
      Src: /src/libbpf/src/gen_loader.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - gen
    - core_relo
    argTypes:
    - struct bpf_gen*
    - struct bpf_core_relo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 915
    functionName: bpf_gen__record_relo_core
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - libbpf_reallocarray
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__record_relo_core(struct bpf_gen *gen,\n\t\t\t       const
      struct bpf_core_relo *core_relo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:921,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:924,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:924,1
    - Dst: emit_relo_ksym_typeless
      Src: /src/libbpf/src/gen_loader.c:927,1
    - Dst: emit_relo_ksym_btf
      Src: /src/libbpf/src/gen_loader.c:929,1
    - Dst: emit_relo_kfunc_btf
      Src: /src/libbpf/src/gen_loader.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - gen
    - relo
    - insns
    argTypes:
    - struct bpf_gen*
    - struct ksym_relo_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 917
    functionDepth: 8
    functionLinenumber: 917
    functionLinenumberEnd: 933
    functionName: emit_relo
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit2
    - emit_relo_ksym_typeless
    - emit_relo_ksym_btf
    - pr_debug
    - BPF_LD_IMM64_RAW_FULL
    - emit_relo_kfunc_btf
    linkageType: ''
    returnType: void
    signature: void emit_relo(struct bpf_gen *gen, struct ksym_relo_desc *relo, int
      insns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emit_relo
      Src: /src/libbpf/src/gen_loader.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - gen
    - insns
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 9
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: emit_relos
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit_relo
    linkageType: ''
    returnType: void
    signature: void emit_relos(struct bpf_gen *gen, int insns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gen
    argTypes:
    - struct bpf_gen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 950
    functionName: cleanup_core_relo
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cleanup_core_relo(struct bpf_gen *gen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emit_sys_close_blob
      Src: /src/libbpf/src/gen_loader.c:964,1
    - Dst: emit_sys_close_blob
      Src: /src/libbpf/src/gen_loader.c:966,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:966,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:972,1
    - Dst: free
      Src: /src/libbpf/src/gen_loader.c:977,1
    - Dst: cleanup_core_relo
      Src: /src/libbpf/src/gen_loader.c:981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - gen
    - insns
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 952
    functionDepth: 8
    functionLinenumber: 952
    functionLinenumberEnd: 982
    functionName: cleanup_relos
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - emit_sys_close_blob
    - blob_fd_array_off
    - cleanup_core_relo
    - free
    linkageType: ''
    returnType: void
    signature: void cleanup_relos(struct bpf_gen *gen, int insns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_func_info_bswap
      Src: /src/libbpf/src/gen_loader.c:994,1
    - Dst: bpf_line_info_bswap
      Src: /src/libbpf/src/gen_loader.c:997,1
    - Dst: bpf_core_relo_bswap
      Src: /src/libbpf/src/gen_loader.c:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - gen
    - func_info
    - line_info
    - core_relos
    - load_attr
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    - struct bpf_prog_load_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1001
    functionName: info_blob_bswap
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 0
    functionsReached:
    - bpf_core_relo_bswap
    - bpf_line_info_bswap
    - bpf_func_info_bswap
    linkageType: ''
    returnType: void
    signature: "void info_blob_bswap(struct bpf_gen *gen, int func_info, int line_info,\n\t\t\t
      \   int core_relos, struct bpf_prog_load_opts *load_attr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:1015,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:1018,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1020,1
    - Dst: strlen
      Src: /src/libbpf/src/gen_loader.c:1020,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1022,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1023,1
    - Dst: bpf_insn_bswap
      Src: /src/libbpf/src/gen_loader.c:1032,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1035,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1036,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1037,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1038,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1040,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1041,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1043,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1044,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1045,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1046,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1050,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1051,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1052,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1053,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1057,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1058,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1059,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1060,1
    - Dst: info_blob_bswap
      Src: /src/libbpf/src/gen_loader.c:1066,1
    - Dst: libbpf_strlcpy
      Src: /src/libbpf/src/gen_loader.c:1068,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1069,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1070,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1074,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1074,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1077,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1077,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1080,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1080,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1083,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1083,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1086,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1086,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1089,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1089,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:1092,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1092,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:1094,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1094,1
    - Dst: move_ctx2blob
      Src: /src/libbpf/src/gen_loader.c:1096,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1096,1
    - Dst: move_stack2blob
      Src: /src/libbpf/src/gen_loader.c:1099,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1099,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:1100,1
    - Dst: emit_find_attach_target
      Src: /src/libbpf/src/gen_loader.c:1102,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:1104,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:1104,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1106,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:1106,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1108,1
    - Dst: BPF_ALU64_IMM
      Src: /src/libbpf/src/gen_loader.c:1108,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1109,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:1109,1
    - Dst: emit_relos
      Src: /src/libbpf/src/gen_loader.c:1112,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:1114,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:1115,1
    - Dst: cleanup_relos
      Src: /src/libbpf/src/gen_loader.c:1117,1
    - Dst: emit_sys_close_blob
      Src: /src/libbpf/src/gen_loader.c:1119,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1120,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:1123,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1125,1
    - Dst: BPF_STX_MEM
      Src: /src/libbpf/src/gen_loader.c:1125,1
    - Dst: stack_off
      Src: /src/libbpf/src/gen_loader.c:1126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 8
    argNames:
    - gen
    - prog_type
    - prog_name
    - license
    - insns
    - insn_cnt
    - load_attr
    - prog_idx
    argTypes:
    - struct bpf_gen*
    - enum bpf_prog_type
    - char*
    - char*
    - struct bpf_insn*
    - size_t
    - struct bpf_prog_load_opts*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1003
    functionDepth: 10
    functionLinenumber: 1003
    functionLinenumberEnd: 1128
    functionName: bpf_gen__prog_load
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - cleanup_relos
    - emit2
    - pr_debug
    - debug_ret
    - tgt_endian
    - info_blob_bswap
    - move_stack2blob
    - emit_rel_store
    - strlen
    - move_ctx2blob
    - stack_off
    - BPF_ALU64_IMM
    - offsetofend
    - attr_field
    - emit_sys_close_blob
    - memset
    - BPF_STX_MEM
    - emit_sys_bpf
    - BPF_LD_IMM64_RAW_FULL
    - bpf_insn_bswap
    - emit_find_attach_target
    - add_data
    - emit_relos
    - emit
    - libbpf_strlcpy
    - emit_check_err
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__prog_load(struct bpf_gen *gen,\n\t\t\tenum bpf_prog_type
      prog_type, const char *prog_name,\n\t\t\tconst char *license, struct bpf_insn
      *insns, size_t insn_cnt,\n\t\t\tstruct bpf_prog_load_opts *load_attr, int prog_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:1133,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:1138,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1140,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1141,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/gen_loader.c:1157,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1158,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:1158,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1162,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:1162,1
    - Dst: emit2
      Src: /src/libbpf/src/gen_loader.c:1163,1
    - Dst: BPF_LD_IMM64_RAW_FULL
      Src: /src/libbpf/src/gen_loader.c:1163,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1165,1
    - Dst: BPF_MOV64_IMM
      Src: /src/libbpf/src/gen_loader.c:1165,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1166,1
    - Dst: BPF_LDX_MEM
      Src: /src/libbpf/src/gen_loader.c:1166,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1168,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:1168,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1169,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:1169,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1170,1
    - Dst: BPF_JMP_IMM
      Src: /src/libbpf/src/gen_loader.c:1170,1
    - Dst: emit
      Src: /src/libbpf/src/gen_loader.c:1171,1
    - Dst: BPF_EMIT_CALL
      Src: /src/libbpf/src/gen_loader.c:1171,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1174,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1175,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:1177,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1177,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:1178,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1179,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1179,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1180,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1180,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:1182,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:1183,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - gen
    - map_idx
    - pvalue
    - value_size
    argTypes:
    - struct bpf_gen*
    - int
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1130
    functionDepth: 6
    functionLinenumber: 1130
    functionLinenumberEnd: 1185
    functionName: bpf_gen__map_update_elem
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - emit2
    - blob_fd_array_off
    - pr_debug
    - debug_ret
    - BPF_LDX_MEM
    - OPTS_GET
    - emit_rel_store
    - offsetofend
    - attr_field
    - memset
    - emit_sys_bpf
    - BPF_LD_IMM64_RAW_FULL
    - add_data
    - emit
    - move_blob2blob
    - emit_check_err
    - BPF_EMIT_CALL
    - BPF_MOV64_IMM
    - BPF_JMP_IMM
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__map_update_elem(struct bpf_gen *gen, int map_idx, void
      *pvalue,\n\t\t\t      __u32 value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:1190,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:1195,1
    - Dst: tgt_endian
      Src: /src/libbpf/src/gen_loader.c:1197,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1198,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1200,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1201,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:1203,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1203,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:1204,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1205,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1205,1
    - Dst: emit_rel_store
      Src: /src/libbpf/src/gen_loader.c:1206,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1206,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:1207,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:1210,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:1211,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - gen
    - outer_map_idx
    - slot
    - inner_map_idx
    argTypes:
    - struct bpf_gen*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1187
    functionDepth: 6
    functionLinenumber: 1187
    functionLinenumberEnd: 1214
    functionName: bpf_gen__populate_outer_map
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - attr_field
    - move_blob2blob
    - emit_check_err
    - memset
    - blob_fd_array_off
    - emit_sys_bpf
    - pr_debug
    - emit_rel_store
    - debug_ret
    - tgt_endian
    - add_data
    - offsetofend
    linkageType: ''
    returnType: void
    signature: "void bpf_gen__populate_outer_map(struct bpf_gen *gen, int outer_map_idx,
      int slot,\n\t\t\t\t int inner_map_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/gen_loader.c:1218,1
    - Dst: memset
      Src: /src/libbpf/src/gen_loader.c:1222,1
    - Dst: add_data
      Src: /src/libbpf/src/gen_loader.c:1223,1
    - Dst: pr_debug
      Src: /src/libbpf/src/gen_loader.c:1224,1
    - Dst: move_blob2blob
      Src: /src/libbpf/src/gen_loader.c:1226,1
    - Dst: attr_field
      Src: /src/libbpf/src/gen_loader.c:1226,1
    - Dst: blob_fd_array_off
      Src: /src/libbpf/src/gen_loader.c:1227,1
    - Dst: emit_sys_bpf
      Src: /src/libbpf/src/gen_loader.c:1229,1
    - Dst: debug_ret
      Src: /src/libbpf/src/gen_loader.c:1230,1
    - Dst: emit_check_err
      Src: /src/libbpf/src/gen_loader.c:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - gen
    - map_idx
    argTypes:
    - struct bpf_gen*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1216
    functionDepth: 6
    functionLinenumber: 1216
    functionLinenumberEnd: 1232
    functionName: bpf_gen__map_freeze
    functionSourceFile: /src/libbpf/src/gen_loader.c
    functionUses: 1
    functionsReached:
    - attr_field
    - move_blob2blob
    - emit_check_err
    - memset
    - blob_fd_array_off
    - emit_sys_bpf
    - pr_debug
    - debug_ret
    - add_data
    - offsetofend
    linkageType: ''
    returnType: void
    signature: void bpf_gen__map_freeze(struct bpf_gen *gen, int map_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ERRNO_OFFSET
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRNO_OFFSET(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ERRCODE_OFFSET
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRCODE_OFFSET(c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_utils.c:52,1
    - Dst: strerror_r
      Src: /src/libbpf/src/libbpf_utils.c:57,1
    - Dst: libbpf_err_errno
      Src: /src/libbpf/src/libbpf_utils.c:59,1
    - Dst: ERRNO_OFFSET
      Src: /src/libbpf/src/libbpf_utils.c:65,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf_utils.c:66,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_utils.c:73,1
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf_utils.c:77,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_utils.c:80,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/libbpf_utils.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - err
    - buf
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 82
    functionName: libbpf_strerror
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached:
    - strerror_r
    - libbpf_err_errno
    - ERRNO_OFFSET
    - snprintf
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int libbpf_strerror(int err, char *buf, size_t size)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/libbpf_utils.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 114
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 149
    functionName: libbpf_errstr
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *libbpf_errstr(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_utils.c:155,1
    - Dst: be32_to_cpu
      Src: /src/libbpf/src/libbpf_utils.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: get_unaligned_be32
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - be32_to_cpu
    linkageType: ''
    returnType: __u32
    signature: __u32 get_unaligned_be32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be32
      Src: /src/libbpf/src/libbpf_utils.c:161,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_utils.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - p
    argTypes:
    - __u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: put_unaligned_be32
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached:
    - cpu_to_be32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_unaligned_be32(__u32 val, void *p)
  - 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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: Ch
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: Maj
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x, y, z)
  - 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: Sigma_0
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma_0(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: Sigma_1
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma_1(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: sigma_0
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma_0(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: sigma_1
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma_1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    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: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: SHA256_ROUND
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA256_ROUND(i, a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_be32
      Src: /src/libbpf/src/libbpf_utils.c:210,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf_utils.c:211,1
    - Dst: sigma_1
      Src: /src/libbpf/src/libbpf_utils.c:212,1
    - Dst: sigma_0
      Src: /src/libbpf/src/libbpf_utils.c:213,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf_utils.c:214,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:215,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:216,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:217,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:218,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:219,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:220,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:221,1
    - Dst: SHA256_ROUND
      Src: /src/libbpf/src/libbpf_utils.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - state
    - data
    - nblocks
    argTypes:
    - __u32[]
    - __u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 234
    functionName: sha256_blocks
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 0
    functionsReached:
    - get_unaligned_be32
    - SHA256_ROUND
    - sigma_1
    - ARRAY_SIZE
    - sigma_0
    linkageType: ''
    returnType: void
    signature: void sha256_blocks(__u32 state[8], const __u8 *data, size_t nblocks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_to_be64
      Src: /src/libbpf/src/libbpf_utils.c:240,1
    - Dst: sha256_blocks
      Src: /src/libbpf/src/libbpf_utils.c:245,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_utils.c:247,1
    - Dst: roundup
      Src: /src/libbpf/src/libbpf_utils.c:249,1
    - Dst: memcpy
      Src: /src/libbpf/src/libbpf_utils.c:250,1
    - Dst: sha256_blocks
      Src: /src/libbpf/src/libbpf_utils.c:252,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/libbpf_utils.c:254,1
    - Dst: put_unaligned_be32
      Src: /src/libbpf/src/libbpf_utils.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - len
    - out
    argTypes:
    - void*
    - size_t
    - __u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: libbpf_sha256
    functionSourceFile: /src/libbpf/src/libbpf_utils.c
    functionUses: 1
    functionsReached:
    - roundup
    - sha256_blocks
    - cpu_to_be64
    - put_unaligned_be32
    - ARRAY_SIZE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void libbpf_sha256(const void *data, size_t len, __u8 out[SHA256_DIGEST_LENGTH])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: __uint
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __uint(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: __type
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __type(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: __array
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __array(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: __ulong
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ulong(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: likely
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: unlikely
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: SEC
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: SEC
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC(name)
  - 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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: KERNEL_VERSION
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERNEL_VERSION(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: offsetof
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: container_of
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: barrier
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: barrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: barrier_var
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: barrier_var(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: __bpf_unreachable
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_unreachable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_constant_p
      Src: /src/libbpf/src/bpf_helpers.h:153,1
    - Dst: __bpf_unreachable
      Src: /src/libbpf/src/bpf_helpers.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - map
    - slot
    argTypes:
    - void*
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: bpf_tail_call_static
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached:
    - __builtin_constant_p
    - __bpf_unreachable
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline bpf_tail_call_static(void *ctx, const void *map, const
      __u32 slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: bpf_ksym_exists
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_ksym_exists(sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: bpf_ksym_exists
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_ksym_exists(sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: bpf_ksym_exists
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_ksym_exists(sym)
  - 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: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: ___bpf_concat
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_concat(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: ___bpf_apply
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_apply(fn, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - _
    - ','
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _a
    - ','
    - _b
    - ','
    - _c
    - ','
    - N
    - ','
    - '...'
    - )
    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: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: ___bpf_nth
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _a, _b, _c, N, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: ___bpf_narg
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_narg(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: ___bpf_fill0
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill0(arr, p, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: ___bpf_fill1
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill1(arr, p, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: ___bpf_fill2
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill2(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: ___bpf_fill3
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill3(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: ___bpf_fill4
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill4(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: ___bpf_fill5
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill5(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: ___bpf_fill6
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill6(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: ___bpf_fill7
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill7(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: ___bpf_fill8
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill8(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: ___bpf_fill9
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill9(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: ___bpf_fill10
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill10(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: ___bpf_fill11
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill11(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - arr
    - ','
    - p
    - ','
    - x
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: ___bpf_fill12
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill12(arr, p, x, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - arr
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: ___bpf_fill
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_fill(arr, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - seq
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: BPF_SEQ_PRINTF
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SEQ_PRINTF(seq, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - out
    - ','
    - out_size
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: BPF_SNPRINTF
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SNPRINTF(out, out_size, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: __bpf_printk
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_printk(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: __bpf_vprintk
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_vprintk(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - stream_id
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: bpf_stream_printk
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_stream_printk(stream_id, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: bpf_printk
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_printk(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bpf_iter_num_destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: cleanup
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup(bpf_iter_num_destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bpf_iter_num_destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: cleanup
    functionSourceFile: /src/libbpf/src/bpf_helpers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup(bpf_iter_num_destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NLA_ALIGN
      Src: /src/libbpf/src/nlattr.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nla
    - remaining
    argTypes:
    - struct nlattr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: nla_next
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached:
    - NLA_ALIGN
    linkageType: ''
    returnType: struct nlattr
    signature: struct nlattr *nla_next(const struct nlattr *nla, int *remaining)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - nla
    - remaining
    argTypes:
    - struct nlattr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: nla_ok
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nla_ok(const struct nlattr *nla, int remaining)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nla
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: nla_type
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nla_type(const struct nlattr *nla)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/libbpf/src/nlattr.c:50,1
    - Dst: libbpf_nla_len
      Src: /src/libbpf/src/nlattr.c:65,1
    - Dst: libbpf_nla_len
      Src: /src/libbpf/src/nlattr.c:68,1
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.c:72,1
    - Dst: libbpf_nla_len
      Src: /src/libbpf/src/nlattr.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - nla
    - maxtype
    - policy
    argTypes:
    - struct nlattr*
    - int
    - struct libbpf_nla_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: validate_nla
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached:
    - nla_type
    - libbpf_nla_data
    - libbpf_nla_len
    linkageType: ''
    returnType: int
    signature: "int validate_nla(struct nlattr *nla, int maxtype,\n\t\t\tstruct libbpf_nla_policy
      *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nlh
    argTypes:
    - struct nlmsghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: nlmsg_len
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nlmsg_len(const struct nlmsghdr *nlh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libbpf/src/nlattr.c:110,1
    - Dst: nla_type
      Src: /src/libbpf/src/nlattr.c:113,1
    - Dst: validate_nla
      Src: /src/libbpf/src/nlattr.c:119,1
    - Dst: pr_warn
      Src: /src/libbpf/src/nlattr.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - tb
    - maxtype
    - head
    - len
    - policy
    argTypes:
    - struct nlattr*[]
    - int
    - struct nlattr*
    - int
    - struct libbpf_nla_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: libbpf_nla_parse
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 4
    functionsReached:
    - memset
    - nla_type
    - validate_nla
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int libbpf_nla_parse(struct nlattr *tb[], int maxtype, struct nlattr
      *head,\n\t\t     int len, struct libbpf_nla_policy *policy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/libbpf/src/nlattr.c:113,1
    - Dst: validate_nla
      Src: /src/libbpf/src/nlattr.c:119,1
    - Dst: pr_warn
      Src: /src/libbpf/src/nlattr.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: libbpf_nla_for_each_attr
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 0
    functionsReached:
    - nla_type
    - validate_nla
    - pr_warn
    linkageType: ''
    returnType: void
    signature: void libbpf_nla_for_each_attr(nla, head, len, rem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/nlattr.c:152,1
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.c:152,1
    - Dst: libbpf_nla_len
      Src: /src/libbpf/src/nlattr.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tb
    - maxtype
    - nla
    - policy
    argTypes:
    - struct nlattr*[]
    - int
    - struct nlattr*
    - struct libbpf_nla_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: libbpf_nla_parse_nested
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 2
    functionsReached:
    - libbpf_nla_data
    - libbpf_nla_parse
    - libbpf_nla_len
    linkageType: ''
    returnType: int
    signature: "int libbpf_nla_parse_nested(struct nlattr *tb[], int maxtype,\n\t\t\t
      \   struct nlattr *nla,\n\t\t\t    struct libbpf_nla_policy *policy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/libbpf/src/nlattr.c:172,1
    - Dst: nlmsg_len
      Src: /src/libbpf/src/nlattr.c:177,1
    - Dst: libbpf_nla_parse
      Src: /src/libbpf/src/nlattr.c:182,1
    - Dst: pr_warn
      Src: /src/libbpf/src/nlattr.c:184,1
    - Dst: libbpf_nla_data
      Src: /src/libbpf/src/nlattr.c:189,1
    - Dst: pr_warn
      Src: /src/libbpf/src/nlattr.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - nlh
    argTypes:
    - struct nlmsghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 194
    functionName: libbpf_nla_dump_errormsg
    functionSourceFile: /src/libbpf/src/nlattr.c
    functionUses: 1
    functionsReached:
    - pr_warn
    - nlmsg_len
    - libbpf_nla_data
    - NLMSG_DATA
    - libbpf_nla_parse
    linkageType: ''
    returnType: int
    signature: int libbpf_nla_dump_errormsg(struct nlmsghdr *nlh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: ptr_to_u64
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: __u64
    signature: __u64 ptr_to_u64(const void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/btf.c:224,1
    - Dst: memset
      Src: /src/libbpf/src/btf.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - data
    - cap_cnt
    - elem_sz
    - cur_cnt
    - max_cnt
    - add_cnt
    argTypes:
    - void**
    - size_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: libbpf_add_mem
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    linkageType: ''
    returnType: void
    signature: "void *libbpf_add_mem(void **data, size_t *cap_cnt, size_t elem_sz,\n\t\t
      \    size_t cur_cnt, size_t max_cnt, size_t add_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_add_mem
      Src: /src/libbpf/src/btf.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - cap_cnt
    - elem_sz
    - need_cnt
    argTypes:
    - void**
    - size_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: libbpf_ensure_mem
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 9
    functionsReached:
    - libbpf_add_mem
    linkageType: ''
    returnType: int
    signature: int libbpf_ensure_mem(void **data, size_t *cap_cnt, size_t elem_sz,
      size_t need_cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_add_mem
      Src: /src/libbpf/src/btf.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - add_cnt
    argTypes:
    - struct btf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: btf_add_type_offs_mem
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_add_mem
    linkageType: ''
    returnType: void
    signature: void *btf_add_type_offs_mem(struct btf *btf, size_t add_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_type_offs_mem
      Src: /src/libbpf/src/btf.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - btf
    - type_off
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: btf_add_type_idx_entry
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_type_offs_mem
    linkageType: ''
    returnType: int
    signature: int btf_add_type_idx_entry(struct btf *btf, __u32 type_off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:273,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:274,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:275,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:276,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:277,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:278,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:281,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - h
    - hdr_len
    argTypes:
    - struct btf_header*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: btf_bswap_hdr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - bswap_16
    linkageType: ''
    returnType: void
    signature: void btf_bswap_hdr(struct btf_header *h, __u32 hdr_len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:292,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:298,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:300,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:302,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:307,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:312,1
    - Dst: btf_bswap_hdr
      Src: /src/libbpf/src/btf.c:318,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:320,1
    - Dst: min
      Src: /src/libbpf/src/btf.c:320,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:333,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:341,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:346,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:353,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:362,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:366,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:373,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 378
    functionName: btf_parse_hdr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - pr_debug
    - btf_bswap_hdr
    - bswap_16
    - min
    - pr_warn
    - memcpy
    linkageType: ''
    returnType: int
    signature: int btf_parse_hdr(struct btf *btf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:388,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: btf_parse_str_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    linkageType: ''
    returnType: int
    signature: int btf_parse_str_sec(struct btf *btf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:404,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: btf_parse_layout_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - pr_debug
    - bswap_16
    linkageType: ''
    returnType: int
    signature: int btf_parse_layout_sec(struct btf *btf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:424,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:425,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:437,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:437,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:441,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - btf
    - t
    argTypes:
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 452
    functionName: btf_type_size_unknown
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - pr_debug
    - btf_kind
    linkageType: ''
    returnType: int
    signature: int btf_type_size_unknown(const struct btf *btf, const struct btf_type
      *t)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:457,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:459,1
    - Dst: btf_type_size_unknown
      Src: /src/libbpf/src/btf.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - btf
    - t
    argTypes:
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 492
    functionName: btf_type_size
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_kind
    - btf_type_size_unknown
    linkageType: ''
    returnType: int
    signature: int btf_type_size(const struct btf *btf, const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:496,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:497,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: btf_bswap_type_base
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void btf_bswap_type_base(struct btf_type *t)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:509,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:512,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:524,1
    - Dst: btf_enum
      Src: /src/libbpf/src/btf.c:527,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:528,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:529,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf.c:533,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:534,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:535,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:536,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:540,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:541,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:542,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:543,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:547,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:548,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:549,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:550,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:554,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:555,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:556,1
    - Dst: btf_var
      Src: /src/libbpf/src/btf.c:560,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:560,1
    - Dst: btf_var
      Src: /src/libbpf/src/btf.c:560,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/btf.c:563,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:564,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:565,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:566,1
    - Dst: btf_decl_tag
      Src: /src/libbpf/src/btf.c:570,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:570,1
    - Dst: btf_decl_tag
      Src: /src/libbpf/src/btf.c:570,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:573,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 576
    functionName: btf_bswap_type_rest
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_decl_tag
    - btf_enum64
    - btf_params
    - btf_enum
    - bswap_32
    - btf_var
    - pr_debug
    - btf_vlen
    - btf_kind
    - btf_var_secinfos
    - btf_members
    - btf_array
    linkageType: ''
    returnType: int
    signature: int btf_bswap_type_rest(struct btf_type *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: btf_bswap_type_base
      Src: /src/libbpf/src/btf.c:586,1
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:588,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:592,1
    - Dst: btf_bswap_type_rest
      Src: /src/libbpf/src/btf.c:596,1
    - Dst: btf_add_type_idx_entry
      Src: /src/libbpf/src/btf.c:599,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 613
    functionName: btf_parse_type_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_size
    - btf_bswap_type_rest
    - btf_bswap_type_base
    - btf_add_type_idx_entry
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_parse_type_sec(struct btf *btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:619,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - btf
    - str_off
    - what
    - type_id
    argTypes:
    - struct btf*
    - __u32
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: btf_validate_str
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__str_by_offset
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_validate_str(const struct btf *btf, __u32 str_off, const char
      *what, __u32 type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:632,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - btf
    - id
    - ctx_id
    argTypes:
    - struct btf*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 639
    functionName: btf_validate_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_validate_id(const struct btf *btf, __u32 id, __u32 ctx_id)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:643,1
    - Dst: btf_validate_str
      Src: /src/libbpf/src/btf.c:646,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:664,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:669,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:671,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:672,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:679,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:681,1
    - Dst: btf_validate_str
      Src: /src/libbpf/src/btf.c:683,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:684,1
    - Dst: btf_enum
      Src: /src/libbpf/src/btf.c:691,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:693,1
    - Dst: btf_validate_str
      Src: /src/libbpf/src/btf.c:695,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf.c:702,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:704,1
    - Dst: btf_validate_str
      Src: /src/libbpf/src/btf.c:706,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:715,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:718,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:719,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:720,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:726,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:728,1
    - Dst: btf_validate_str
      Src: /src/libbpf/src/btf.c:730,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:731,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/btf.c:738,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:740,1
    - Dst: btf_validate_id
      Src: /src/libbpf/src/btf.c:742,1
    - Dst: btf_type_size_unknown
      Src: /src/libbpf/src/btf.c:750,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:751,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 3
    argNames:
    - btf
    - t
    - id
    argTypes:
    - struct btf*
    - struct btf_type*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 757
    functionName: btf_validate_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_enum64
    - btf__type_by_id
    - btf_params
    - btf_enum
    - pr_warn
    - btf_validate_str
    - btf_vlen
    - btf_kind
    - btf_var_secinfos
    - btf_type_size_unknown
    - btf_validate_id
    - btf_members
    - btf_array
    linkageType: ''
    returnType: int
    signature: int btf_validate_type(const struct btf *btf, const struct btf_type
      *t, __u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:766,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:770,1
    - Dst: btf_validate_type
      Src: /src/libbpf/src/btf.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 776
    functionName: btf_sanity_check
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    - btf_type_by_id
    - btf_validate_type
    linkageType: ''
    returnType: int
    signature: int btf_sanity_check(const struct btf *btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: btf__type_cnt
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 btf__type_cnt(const struct btf *btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: btf__base_btf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__base_btf(const struct btf *btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - btf
    - type_id
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: btf_type_by_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 22
    functionsReached:
    - btf_type_by_id
    linkageType: ''
    returnType: struct btf_type
    signature: struct btf_type *btf_type_by_id(const struct btf *btf, __u32 type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - btf
    - type_id
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: btf__type_by_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 51
    functionsReached:
    - btf_type_by_id
    linkageType: ''
    returnType: struct btf_type
    signature: struct btf_type *btf__type_by_id(const struct btf *btf, __u32 type_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:827,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:829,1
    - Dst: btf_is_int
      Src: /src/libbpf/src/btf.c:830,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:836,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/btf.c:840,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:841,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 847
    functionName: determine_ptr_size
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf__name_by_offset
    - strcmp
    - btf_is_int
    - btf__type_cnt
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int determine_ptr_size(const struct btf *btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: determine_ptr_size
      Src: /src/libbpf/src/btf.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 849
    functionDepth: 4
    functionLinenumber: 849
    functionLinenumberEnd: 854
    functionName: btf_ptr_sz
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - determine_ptr_size
    linkageType: ''
    returnType: size_t
    signature: size_t btf_ptr_sz(const struct btf *btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: determine_ptr_size
      Src: /src/libbpf/src/btf.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 874
    functionName: btf__pointer_size
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - determine_ptr_size
    linkageType: ''
    returnType: size_t
    signature: size_t btf__pointer_size(const struct btf *btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - btf
    - ptr_sz
    argTypes:
    - struct btf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 885
    functionName: btf__set_pointer_size
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__set_pointer_size(struct btf *btf, size_t ptr_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: is_host_big_endian
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_host_big_endian(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_host_big_endian
      Src: /src/libbpf/src/btf.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 904
    functionName: btf__endianness
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - is_host_big_endian
    linkageType: ''
    returnType: enum btf_endianness
    signature: enum btf_endianness btf__endianness(const struct btf *btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:909,1
    - Dst: is_host_big_endian
      Src: /src/libbpf/src/btf.c:911,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - btf
    - endian
    argTypes:
    - struct btf*
    - enum btf_endianness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 917
    functionName: btf__set_endianness
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - free
    - is_host_big_endian
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__set_endianness(struct btf *btf, enum btf_endianness endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/btf.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: btf_type_is_void
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_is_fwd
    linkageType: ''
    returnType: bool
    signature: bool btf_type_is_void(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_is_void
      Src: /src/libbpf/src/btf.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 4
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: btf_type_is_void_or_null
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_is_void
    linkageType: ''
    returnType: bool
    signature: bool btf_type_is_void_or_null(const struct btf_type *t)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:939,1
    - Dst: btf_type_is_void_or_null
      Src: /src/libbpf/src/btf.c:940,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:941,1
    - Dst: btf_ptr_sz
      Src: /src/libbpf/src/btf.c:952,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:964,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:966,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:971,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:974,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:979,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - btf
    - type_id
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 931
    functionDepth: 5
    functionLinenumber: 931
    functionLinenumberEnd: 984
    functionName: btf__resolve_size
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 12
    functionsReached:
    - btf_ptr_sz
    - btf__type_by_id
    - btf_type_is_void_or_null
    - btf_kind
    - btf_array
    - libbpf_err
    linkageType: ''
    returnType: __s64
    signature: __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:988,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:989,1
    - Dst: min
      Src: /src/libbpf/src/btf.c:996,1
    - Dst: btf_ptr_sz
      Src: /src/libbpf/src/btf.c:996,1
    - Dst: btf_ptr_sz
      Src: /src/libbpf/src/btf.c:998,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf.c:1004,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf.c:1006,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:1006,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:1009,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:1010,1
    - Dst: btf__align_of
      Src: /src/libbpf/src/btf.c:1014,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1016,1
    - Dst: max
      Src: /src/libbpf/src/btf.c:1017,1
    - Dst: btf_member_bitfield_size
      Src: /src/libbpf/src/btf.c:1022,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1036,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - btf
    - id
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 986
    functionDepth: 5
    functionLinenumber: 986
    functionLinenumberEnd: 1039
    functionName: btf__align_of
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 5
    functionsReached:
    - btf_ptr_sz
    - btf__type_by_id
    - btf__align_of
    - pr_warn
    - btf_vlen
    - btf_member_bitfield_size
    - btf_kind
    - max
    - min
    - btf_members
    - btf_array
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__align_of(const struct btf *btf, __u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:1046,1
    - Dst: btf_type_is_void_or_null
      Src: /src/libbpf/src/btf.c:1048,1
    - Dst: btf_is_mod
      Src: /src/libbpf/src/btf.c:1049,1
    - Dst: btf_is_typedef
      Src: /src/libbpf/src/btf.c:1049,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/btf.c:1049,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:1051,1
    - Dst: btf_type_is_void_or_null
      Src: /src/libbpf/src/btf.c:1055,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - btf
    - type_id
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1041
    functionDepth: 5
    functionLinenumber: 1041
    functionLinenumberEnd: 1059
    functionName: btf__resolve_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf__type_by_id
    - btf_is_mod
    - btf_type_is_void_or_null
    - btf_is_var
    - btf_is_typedef
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__resolve_type(const struct btf *btf, __u32 type_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1065,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:1067,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:1068,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1069,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1070,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1072,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1083
    functionName: btf_check_sorted
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__str_by_offset
    - btf__type_cnt
    - strcmp
    - btf_type_by_id
    linkageType: ''
    returnType: void
    signature: void btf_check_sorted(struct btf *btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1093,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:1096,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1097,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1098,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - btf
    - name
    - start_id
    argTypes:
    - struct btf*
    - char*
    - __s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1108
    functionName: btf_find_type_by_name_bsearch
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__str_by_offset
    - btf__type_cnt
    - strcmp
    - btf_type_by_id
    linkageType: ''
    returnType: __s32
    signature: "__s32 btf_find_type_by_name_bsearch(const struct btf *btf, const char
      *name,\n\t\t\t\t\t   __s32 start_id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1113,1
    - Dst: btf_find_by_name_kind
      Src: /src/libbpf/src/btf.c:1119,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1126,1
    - Dst: max
      Src: /src/libbpf/src/btf.c:1130,1
    - Dst: btf_find_type_by_name_bsearch
      Src: /src/libbpf/src/btf.c:1131,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:1133,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1134,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1135,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1136,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:1137,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:1142,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:1143,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1145,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1146,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - btf
    - start_id
    - type_name
    - kind
    argTypes:
    - struct btf*
    - int
    - char*
    - __s32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1110
    functionDepth: 3
    functionLinenumber: 1110
    functionLinenumberEnd: 1152
    functionName: btf_find_by_name_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - max
    - btf_type_by_id
    - btf__type_by_id
    - strcmp
    - btf_find_type_by_name_bsearch
    - btf__str_by_offset
    - btf_kind
    - btf_find_by_name_kind
    - btf__type_cnt
    - libbpf_err
    linkageType: ''
    returnType: __s32
    signature: "__s32 btf_find_by_name_kind(const struct btf *btf, int start_id,\n\t\t\t\t
      \  const char *type_name, __s32 kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_find_by_name_kind
      Src: /src/libbpf/src/btf.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - type_name
    argTypes:
    - struct btf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1155
    functionDepth: 4
    functionLinenumber: 1155
    functionLinenumberEnd: 1158
    functionName: btf__find_by_name
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_find_by_name_kind
    linkageType: ''
    returnType: __s32
    signature: __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_find_by_name_kind
      Src: /src/libbpf/src/btf.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - type_name
    - kind
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: btf__find_by_name_kind_own
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_find_by_name_kind
    linkageType: ''
    returnType: __s32
    signature: "__s32 btf__find_by_name_kind_own(const struct btf *btf, const char
      *type_name,\n\t\t\t\t __u32 kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_find_by_name_kind
      Src: /src/libbpf/src/btf.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - type_name
    - kind
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 4
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: btf__find_by_name_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 6
    functionsReached:
    - btf_find_by_name_kind
    linkageType: ''
    returnType: __s32
    signature: "__s32 btf__find_by_name_kind(const struct btf *btf, const char *type_name,\n\t\t\t
      \    __u32 kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: btf_is_modifiable
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool btf_is_modifiable(const struct btf *btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/btf.c:1181,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: btf_free_raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - munmap
    - free
    linkageType: ''
    returnType: void
    signature: void btf_free_raw_data(struct btf *btf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/btf.c:1191,1
    - Dst: close
      Src: /src/libbpf/src/btf.c:1195,1
    - Dst: btf_is_modifiable
      Src: /src/libbpf/src/btf.c:1197,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1204,1
    - Dst: strset__free
      Src: /src/libbpf/src/btf.c:1205,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1206,1
    - Dst: btf_free_raw_data
      Src: /src/libbpf/src/btf.c:1208,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1209,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1210,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:1212,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1214
    functionName: btf__free
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 9
    functionsReached:
    - IS_ERR_OR_NULL
    - btf__free
    - close
    - btf_is_modifiable
    - strset__free
    - free
    - btf_free_raw_data
    linkageType: ''
    returnType: void
    signature: void btf__free(struct btf *btf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf.c:1218,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf.c:1219,1
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:1223,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1225,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1237,1
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:1246,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1248,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1249,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1268,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - opts
    argTypes:
    - struct btf_new_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1276
    functionName: btf_new_empty
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPTS_GET
    - calloc
    - btf__type_cnt
    - free
    - ERR_PTR
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_new_empty(struct btf_new_opts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1280,1
    - Dst: btf_new_empty
      Src: /src/libbpf/src/btf.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: btf__new_empty
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_new_empty
    - libbpf_ptr
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__new_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/btf.c:1285,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1289,1
    - Dst: btf_new_empty
      Src: /src/libbpf/src/btf.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base_btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: btf__new_empty_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_new_empty
    - libbpf_ptr
    - LIBBPF_OPTS
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__new_empty_split(struct btf *base_btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf.c:1294,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:1295,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1297,1
    - Dst: btf_new_empty
      Src: /src/libbpf/src/btf.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opts
    argTypes:
    - struct btf_new_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1298
    functionName: btf__new_empty_opts
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_new_empty
    - OPTS_VALID
    - libbpf_err_ptr
    - libbpf_ptr
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__new_empty_opts(struct btf_new_opts *opts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:1305,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1307,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:1317,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:1325,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1330,1
    - Dst: btf_parse_hdr
      Src: /src/libbpf/src/btf.c:1335,1
    - Dst: btf_parse_str_sec
      Src: /src/libbpf/src/btf.c:1342,1
    - Dst: btf_parse_layout_sec
      Src: /src/libbpf/src/btf.c:1343,1
    - Dst: btf_parse_type_sec
      Src: /src/libbpf/src/btf.c:1344,1
    - Dst: btf_sanity_check
      Src: /src/libbpf/src/btf.c:1345,1
    - Dst: btf_check_sorted
      Src: /src/libbpf/src/btf.c:1348,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:1352,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - data
    - size
    - base_btf
    - is_mmap
    argTypes:
    - void*
    - __u32
    - struct btf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1300
    functionDepth: 5
    functionLinenumber: 1300
    functionLinenumberEnd: 1357
    functionName: btf_new
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_parse_layout_sec
    - btf_check_sorted
    - btf__free
    - malloc
    - ERR_PTR
    - calloc
    - btf_sanity_check
    - btf_parse_type_sec
    - btf__type_cnt
    - btf_parse_str_sec
    - btf_parse_hdr
    - memcpy
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_new(const void *data, __u32 size, struct btf *base_btf,
      bool is_mmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1361,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 6
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: btf__new
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - libbpf_ptr
    - btf_new
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__new(const void *data, __u32 size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1366,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - base_btf
    argTypes:
    - void*
    - __u32
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 6
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: btf__new_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_new
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__new_split(const void *data, __u32 size, struct btf
      *base_btf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gelf_getehdr
      Src: /src/libbpf/src/btf.c:1383,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1384,1
    - Dst: elf_getshdrstrndx
      Src: /src/libbpf/src/btf.c:1388,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1389,1
    - Dst: elf_rawdata
      Src: /src/libbpf/src/btf.c:1394,1
    - Dst: elf_getscn
      Src: /src/libbpf/src/btf.c:1394,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1395,1
    - Dst: elf_nextscn
      Src: /src/libbpf/src/btf.c:1399,1
    - Dst: gelf_getshdr
      Src: /src/libbpf/src/btf.c:1405,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1406,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/btf.c:1410,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1412,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1417,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1419,1
    - Dst: strcmp
      Src: /src/libbpf/src/btf.c:1421,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1427,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/btf.c:1432,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1434,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - elf
    - path
    - secs
    argTypes:
    - Elf*
    - char*
    - struct btf_elf_secs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1445
    functionName: btf_find_elf_sections
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - elf_getscn
    - elf_getdata
    - elf_getshdrstrndx
    - gelf_getshdr
    - strcmp
    - elf_nextscn
    - elf_strptr
    - elf_rawdata
    - pr_warn
    - gelf_getehdr
    linkageType: ''
    returnType: int
    signature: int btf_find_elf_sections(Elf *elf, const char *path, struct btf_elf_secs
      *secs)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: elf_version
      Src: /src/libbpf/src/btf.c:1456,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1457,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1458,1
    - Dst: open
      Src: /src/libbpf/src/btf.c:1461,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1464,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:1464,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1465,1
    - Dst: elf_begin
      Src: /src/libbpf/src/btf.c:1468,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1471,1
    - Dst: btf_find_elf_sections
      Src: /src/libbpf/src/btf.c:1475,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1480,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1486,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:1488,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:1489,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1495,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:1497,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:1498,1
    - Dst: btf__relocate
      Src: /src/libbpf/src/btf.c:1502,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:1505,1
    - Dst: gelf_getclass
      Src: /src/libbpf/src/btf.c:1509,1
    - Dst: btf__set_pointer_size
      Src: /src/libbpf/src/btf.c:1511,1
    - Dst: btf__set_pointer_size
      Src: /src/libbpf/src/btf.c:1514,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1517,1
    - Dst: btf_ext__new
      Src: /src/libbpf/src/btf.c:1522,1
    - Dst: elf_end
      Src: /src/libbpf/src/btf.c:1535,1
    - Dst: close
      Src: /src/libbpf/src/btf.c:1536,1
    - Dst: btf_ext__free
      Src: /src/libbpf/src/btf.c:1542,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:1543,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:1544,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1546,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 3
    argNames:
    - path
    - base_btf
    - btf_ext
    argTypes:
    - char*
    - struct btf*
    - struct btf_ext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1547
    functionName: btf_parse_elf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_ext__new
    - open
    - IS_ERR
    - btf__free
    - elf_begin
    - btf_find_elf_sections
    - PTR_ERR
    - errstr
    - btf__relocate
    - gelf_getclass
    - close
    - elf_end
    - elf_version
    - btf_new
    - btf__set_pointer_size
    - pr_warn
    - ERR_PTR
    - btf_ext__free
    linkageType: ''
    returnType: struct btf
    signature: "struct btf *btf_parse_elf(const char *path, struct btf *base_btf,\n\t\t\t\t
      struct btf_ext **btf_ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1551,1
    - Dst: btf_parse_elf
      Src: /src/libbpf/src/btf.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - btf_ext
    argTypes:
    - char*
    - struct btf_ext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1549
    functionDepth: 7
    functionLinenumber: 1549
    functionLinenumberEnd: 1552
    functionName: btf__parse_elf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_parse_elf
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1556,1
    - Dst: btf_parse_elf
      Src: /src/libbpf/src/btf.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - base_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1554
    functionDepth: 7
    functionLinenumber: 1554
    functionLinenumberEnd: 1557
    functionName: btf__parse_elf_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_parse_elf
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libbpf/src/btf.c:1568,1
    - Dst: fread
      Src: /src/libbpf/src/btf.c:1575,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:1579,1
    - Dst: fseek
      Src: /src/libbpf/src/btf.c:1586,1
    - Dst: ftell
      Src: /src/libbpf/src/btf.c:1590,1
    - Dst: fseek
      Src: /src/libbpf/src/btf.c:1596,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:1602,1
    - Dst: fread
      Src: /src/libbpf/src/btf.c:1607,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1613,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1616,1
    - Dst: fclose
      Src: /src/libbpf/src/btf.c:1618,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1619,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - path
    - base_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1559
    functionDepth: 6
    functionLinenumber: 1559
    functionLinenumberEnd: 1620
    functionName: btf_parse_raw
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - fclose
    - fseek
    - malloc
    - fopen
    - ftell
    - bswap_16
    - fread
    - free
    - btf_new
    - ERR_PTR
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_parse_raw(const char *path, struct btf *base_btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1624,1
    - Dst: btf_parse_raw
      Src: /src/libbpf/src/btf.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 7
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: btf__parse_raw
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_parse_raw
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse_raw(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1629,1
    - Dst: btf_parse_raw
      Src: /src/libbpf/src/btf.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - base_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1627
    functionDepth: 7
    functionLinenumber: 1627
    functionLinenumberEnd: 1630
    functionName: btf__parse_raw_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_parse_raw
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libbpf/src/btf.c:1639,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1641,1
    - Dst: fstat
      Src: /src/libbpf/src/btf.c:1643,1
    - Dst: close
      Src: /src/libbpf/src/btf.c:1645,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1646,1
    - Dst: mmap
      Src: /src/libbpf/src/btf.c:1649,1
    - Dst: close
      Src: /src/libbpf/src/btf.c:1651,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1654,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1656,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:1657,1
    - Dst: munmap
      Src: /src/libbpf/src/btf.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - path
    - base_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1632
    functionDepth: 6
    functionLinenumber: 1632
    functionLinenumberEnd: 1661
    functionName: btf_parse_raw_mmap
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - mmap
    - open
    - IS_ERR
    - close
    - munmap
    - btf_new
    - fstat
    - ERR_PTR
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_parse_raw_mmap(const char *path, struct btf *base_btf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_parse_raw
      Src: /src/libbpf/src/btf.c:1671,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/btf.c:1672,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1676,1
    - Dst: btf_parse_elf
      Src: /src/libbpf/src/btf.c:1677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - path
    - base_btf
    - btf_ext
    argTypes:
    - char*
    - struct btf*
    - struct btf_ext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1663
    functionDepth: 7
    functionLinenumber: 1663
    functionLinenumberEnd: 1678
    functionName: btf_parse
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_parse_elf
    - btf_parse_raw
    - libbpf_get_error
    - ERR_PTR
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_parse(const char *path, struct btf *base_btf, struct
      btf_ext **btf_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1682,1
    - Dst: btf_parse
      Src: /src/libbpf/src/btf.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - btf_ext
    argTypes:
    - char*
    - struct btf_ext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 8
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: btf__parse
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - libbpf_ptr
    - btf_parse
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1687,1
    - Dst: btf_parse
      Src: /src/libbpf/src/btf.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - base_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1685
    functionDepth: 8
    functionLinenumber: 1685
    functionLinenumberEnd: 1688
    functionName: btf__parse_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_ptr
    - btf_parse
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__parse_split(const char *path, struct btf *base_btf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/btf.c:1696,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1703,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1705,1
    - Dst: btf_get_raw_data
      Src: /src/libbpf/src/btf.c:1708,1
    - Dst: max
      Src: /src/libbpf/src/btf.c:1729,1
    - Dst: realloc
      Src: /src/libbpf/src/btf.c:1730,1
    - Dst: bpf_btf_load
      Src: /src/libbpf/src/btf.c:1748,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1762,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:1762,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:1765,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1769,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:1770,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - btf
    - log_buf
    - log_sz
    - log_level
    - token_fd
    argTypes:
    - struct btf*
    - char*
    - size_t
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1692
    functionDepth: 3
    functionLinenumber: 1692
    functionLinenumberEnd: 1771
    functionName: btf_load_into_kernel
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - LIBBPF_OPTS
    - realloc
    - btf_get_raw_data
    - errstr
    - bpf_btf_load
    - max
    - free
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf_load_into_kernel(struct btf *btf,\n\t\t\t char *log_buf, size_t
      log_sz, __u32 log_level,\n\t\t\t int token_fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_load_into_kernel
      Src: /src/libbpf/src/btf.c:1775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1773
    functionDepth: 4
    functionLinenumber: 1773
    functionLinenumberEnd: 1776
    functionName: btf__load_into_kernel
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_load_into_kernel
    linkageType: ''
    returnType: int
    signature: int btf__load_into_kernel(struct btf *btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1781
    functionName: btf__fd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int btf__fd(const struct btf *btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - fd
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1786
    functionName: btf__set_fd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void btf__set_fd(struct btf *btf, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strset__data
      Src: /src/libbpf/src/btf.c:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1791
    functionName: btf_strs_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - strset__data
    linkageType: ''
    returnType: void
    signature: void *btf_strs_data(const struct btf *btf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:1811,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1816,1
    - Dst: min
      Src: /src/libbpf/src/btf.c:1816,1
    - Dst: btf_bswap_hdr
      Src: /src/libbpf/src/btf.c:1818,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1821,1
    - Dst: btf_bswap_type_rest
      Src: /src/libbpf/src/btf.c:1829,1
    - Dst: btf_bswap_type_base
      Src: /src/libbpf/src/btf.c:1831,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1837,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:1842,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:1847,1
    - Dst: btf_strs_data
      Src: /src/libbpf/src/btf.c:1847,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - btf
    - size
    - swap_endian
    argTypes:
    - struct btf*
    - __u32*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 1854
    functionName: btf_get_raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_strs_data
    - btf_bswap_type_rest
    - calloc
    - btf_bswap_hdr
    - btf_bswap_type_base
    - bswap_16
    - free
    - min
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *btf_get_raw_data(const struct btf *btf, __u32 *size, bool swap_endian)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_get_raw_data
      Src: /src/libbpf/src/btf.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - btf_ro
    - size
    argTypes:
    - struct btf*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1856
    functionDepth: 4
    functionLinenumber: 1856
    functionLinenumberEnd: 1873
    functionName: btf__raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - btf_get_raw_data
    linkageType: ''
    returnType: void
    signature: void *btf__raw_data(const struct btf *btf_ro, __u32 *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1881,1
    - Dst: btf_strs_data
      Src: /src/libbpf/src/btf.c:1883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - btf
    - offset
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1878
    functionDepth: 2
    functionLinenumber: 1878
    functionLinenumberEnd: 1886
    functionName: btf__str_by_offset
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 11
    functionsReached:
    - btf__str_by_offset
    - btf_strs_data
    linkageType: ''
    returnType: char
    signature: char *btf__str_by_offset(const struct btf *btf, __u32 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - offset
    argTypes:
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1888
    functionDepth: 3
    functionLinenumber: 1888
    functionLinenumberEnd: 1891
    functionName: btf__name_by_offset
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 35
    functionsReached:
    - btf__str_by_offset
    linkageType: ''
    returnType: char
    signature: char *btf__name_by_offset(const struct btf *btf, __u32 offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:1907,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1909,1
    - Dst: memset
      Src: /src/libbpf/src/btf.c:1911,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/btf.c:1912,1
    - Dst: bpf_btf_get_info_by_fd
      Src: /src/libbpf/src/btf.c:1914,1
    - Dst: realloc
      Src: /src/libbpf/src/btf.c:1920,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1922,1
    - Dst: memset
      Src: /src/libbpf/src/btf.c:1928,1
    - Dst: ptr_to_u64
      Src: /src/libbpf/src/btf.c:1929,1
    - Dst: bpf_btf_get_info_by_fd
      Src: /src/libbpf/src/btf.c:1932,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1936,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:1936,1
    - Dst: btf_new
      Src: /src/libbpf/src/btf.c:1940,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - btf_fd
    - base_btf
    argTypes:
    - int
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1893
    functionDepth: 6
    functionLinenumber: 1893
    functionLinenumberEnd: 1945
    functionName: btf_get_from_fd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - memset
    - realloc
    - btf_new
    - free
    - malloc
    - ptr_to_u64
    - bpf_btf_get_info_by_fd
    - ERR_PTR
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/btf.c:1951,1
    - Dst: bpf_btf_get_fd_by_id_opts
      Src: /src/libbpf/src/btf.c:1958,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:1960,1
    - Dst: btf_get_from_fd
      Src: /src/libbpf/src/btf.c:1962,1
    - Dst: close
      Src: /src/libbpf/src/btf.c:1963,1
    - Dst: libbpf_ptr
      Src: /src/libbpf/src/btf.c:1965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - id
    - base_btf
    - token_fd
    argTypes:
    - __u32
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1947
    functionDepth: 7
    functionLinenumber: 1947
    functionLinenumberEnd: 1966
    functionName: btf_load_from_kernel
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - libbpf_ptr
    - LIBBPF_OPTS
    - libbpf_err_ptr
    - close
    - bpf_btf_get_fd_by_id_opts
    - btf_get_from_fd
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf_load_from_kernel(__u32 id, struct btf *base_btf, int
      token_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_load_from_kernel
      Src: /src/libbpf/src/btf.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - base_btf
    argTypes:
    - __u32
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 8
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: btf__load_from_kernel_by_id_split
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_load_from_kernel
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf
      *base_btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf__load_from_kernel_by_id_split
      Src: /src/libbpf/src/btf.c:1975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1973
    functionDepth: 9
    functionLinenumber: 1973
    functionLinenumberEnd: 1976
    functionName: btf__load_from_kernel_by_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__load_from_kernel_by_id_split
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__load_from_kernel_by_id(__u32 id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_free_raw_data
      Src: /src/libbpf/src/btf.c:1981,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:1983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1978
    functionDepth: 2
    functionLinenumber: 1978
    functionLinenumberEnd: 1987
    functionName: btf_invalidate_raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - free
    - btf_free_raw_data
    linkageType: ''
    returnType: void
    signature: void btf_invalidate_raw_data(struct btf *btf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_modifiable
      Src: /src/libbpf/src/btf.c:1999,1
    - Dst: btf_invalidate_raw_data
      Src: /src/libbpf/src/btf.c:2001,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:2011,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:2014,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:2017,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:2020,1
    - Dst: strset__new
      Src: /src/libbpf/src/btf.c:2025,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:2026,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:2027,1
    - Dst: btf_invalidate_raw_data
      Src: /src/libbpf/src/btf.c:2047,1
    - Dst: strset__free
      Src: /src/libbpf/src/btf.c:2054,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:2055,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:2056,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1993
    functionDepth: 3
    functionLinenumber: 1993
    functionLinenumberEnd: 2058
    functionName: btf_ensure_modifiable
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_ERR
    - btf_is_modifiable
    - btf_invalidate_raw_data
    - PTR_ERR
    - strset__free
    - malloc
    - free
    - strset__new
    linkageType: ''
    returnType: int
    signature: int btf_ensure_modifiable(struct btf *btf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__find_str
      Src: /src/libbpf/src/btf.c:2072,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2078,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2080,1
    - Dst: strset__find_str
      Src: /src/libbpf/src/btf.c:2082,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - btf
    - s
    argTypes:
    - struct btf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2066
    functionDepth: 4
    functionLinenumber: 2066
    functionLinenumberEnd: 2087
    functionName: btf__find_str
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf__find_str
    - libbpf_err
    - strset__find_str
    - btf_ensure_modifiable
    linkageType: ''
    returnType: int
    signature: int btf__find_str(struct btf *btf, const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__find_str
      Src: /src/libbpf/src/btf.c:2100,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2105,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2107,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/btf.c:2109,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2111,1
    - Dst: strset__data_size
      Src: /src/libbpf/src/btf.c:2113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - btf
    - s
    argTypes:
    - struct btf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2094
    functionDepth: 5
    functionLinenumber: 2094
    functionLinenumberEnd: 2116
    functionName: btf__add_str
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__find_str
    - strset__add_str
    - strset__data_size
    - btf_ensure_modifiable
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_str(struct btf *btf, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_add_mem
      Src: /src/libbpf/src/btf.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - add_sz
    argTypes:
    - struct btf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2122
    functionName: btf_add_type_mem
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - libbpf_add_mem
    linkageType: ''
    returnType: void
    signature: void *btf_add_type_mem(struct btf *btf, size_t add_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:2126,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2128,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:2128,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:2128,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.c:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2130
    functionName: btf_type_inc_vlen
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_kflag
    - btf_vlen
    - btf_kind
    - btf_type_info
    linkageType: ''
    returnType: int
    signature: int btf_type_inc_vlen(struct btf_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - btf
    - new_len
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2141
    functionName: btf_hdr_update_type_len
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void btf_hdr_update_type_len(struct btf *btf, int new_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - new_len
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: btf_hdr_update_str_len
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void btf_hdr_update_str_len(struct btf *btf, int new_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_type_idx_entry
      Src: /src/libbpf/src/btf.c:2152,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2154,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:2156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - btf
    - data_sz
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2148
    functionDepth: 4
    functionLinenumber: 2148
    functionLinenumberEnd: 2159
    functionName: btf_commit_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_type_idx_entry
    - btf_hdr_update_type_len
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_commit_type(struct btf *btf, int data_sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__find
      Src: /src/libbpf/src/btf.c:2176,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2181,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:2181,1
    - Dst: hashmap__append
      Src: /src/libbpf/src/btf.c:2189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p
    - str_off
    argTypes:
    - struct btf_pipe*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2167
    functionDepth: 6
    functionLinenumber: 2167
    functionLinenumberEnd: 2196
    functionName: btf_rewrite_str
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__add_str
    - hashmap__append
    - btf__str_by_offset
    - hashmap__find
    linkageType: ''
    returnType: int
    signature: int btf_rewrite_str(struct btf_pipe *p, __u32 *str_off)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:2205,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2207,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2210,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2212,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2214,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2216,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:2218,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:2220,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2222,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:2224,1
    - Dst: btf_rewrite_str
      Src: /src/libbpf/src/btf.c:2225,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2227,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - src_type
    argTypes:
    - struct btf_pipe*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2198
    functionDepth: 7
    functionLinenumber: 2198
    functionLinenumberEnd: 2231
    functionName: btf_add_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_size
    - btf_rewrite_str
    - btf_field_iter_next
    - btf_field_iter_init
    - btf_commit_type
    - btf_ensure_modifiable
    - btf_add_type_mem
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_add_type(struct btf_pipe *p, const struct btf_type *src_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:2237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - src_btf
    - src_type
    argTypes:
    - struct btf*
    - struct btf*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2233
    functionDepth: 8
    functionLinenumber: 2233
    functionLinenumberEnd: 2238
    functionName: btf__add_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_type
    linkageType: ''
    returnType: int
    signature: int btf__add_type(struct btf *btf, const struct btf *src_btf, const
      struct btf_type *src_type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2256,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:2258,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2261,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2263,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2274,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2276,1
    - Dst: btf_add_type_offs_mem
      Src: /src/libbpf/src/btf.c:2279,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2281,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf.c:2284,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:2285,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2286,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:2289,1
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:2295,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:2306,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:2309,1
    - Dst: btf_rewrite_str
      Src: /src/libbpf/src/btf.c:2313,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:2319,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:2323,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:2347,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:2350,1
    - Dst: memset
      Src: /src/libbpf/src/btf.c:2358,1
    - Dst: memset
      Src: /src/libbpf/src/btf.c:2360,1
    - Dst: btf_hdr_update_str_len
      Src: /src/libbpf/src/btf.c:2365,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:2367,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2369,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - btf
    - src_btf
    argTypes:
    - struct btf*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2243
    functionDepth: 7
    functionLinenumber: 2243
    functionLinenumberEnd: 2370
    functionName: btf__add_btf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_size
    - btf_rewrite_str
    - btf_field_iter_next
    - IS_ERR
    - memset
    - btf_field_iter_init
    - btf_hdr_update_str_len
    - hashmap__free
    - hashmap__new
    - btf_hdr_update_type_len
    - btf_ensure_modifiable
    - btf__type_cnt
    - btf_add_type_mem
    - btf_add_type_offs_mem
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_btf(struct btf *btf, const struct btf *src_btf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2388,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2389,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2392,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2394,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2397,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2399,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2402,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2404,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2410,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2415,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - btf
    - name
    - byte_sz
    - encoding
    argTypes:
    - struct btf*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2381
    functionDepth: 6
    functionLinenumber: 2381
    functionLinenumberEnd: 2421
    functionName: btf__add_int
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_int(struct btf *btf, const char *name, size_t byte_sz,
      int encoding)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2438,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2439,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2444,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2446,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2448,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2451,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2453,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2455,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2460,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - btf
    - name
    - byte_sz
    argTypes:
    - struct btf*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2431
    functionDepth: 6
    functionLinenumber: 2431
    functionLinenumberEnd: 2464
    functionName: btf__add_float
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_float(struct btf *btf, const char *name, size_t byte_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2475
    functionName: validate_type_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int validate_type_id(int id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:2484,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2485,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2487,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2489,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2492,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2494,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2496,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2497,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2503,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - btf
    - kind
    - name
    - ref_type_id
    - kflag
    argTypes:
    - struct btf*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2478
    functionDepth: 6
    functionLinenumber: 2478
    functionLinenumberEnd: 2507
    functionName: btf_add_ref_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - validate_type_id
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_add_ref_kind(struct btf *btf, int kind, const char *name, int
      ref_type_id, int kflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - ref_type_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2516
    functionDepth: 7
    functionLinenumber: 2516
    functionLinenumberEnd: 2519
    functionName: btf__add_ptr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_add_ref_kind
    linkageType: ''
    returnType: int
    signature: int btf__add_ptr(struct btf *btf, int ref_type_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:2537,1
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:2537,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2538,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2540,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2542,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2545,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2547,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2550,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:2553,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - btf
    - index_type_id
    - elem_type_id
    - nr_elems
    argTypes:
    - struct btf*
    - int
    - int
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2530
    functionDepth: 5
    functionLinenumber: 2530
    functionLinenumberEnd: 2559
    functionName: btf__add_array
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - validate_type_id
    - btf_ensure_modifiable
    - btf_add_type_mem
    - btf_array
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_array(struct btf *btf, int index_type_id, int elem_type_id,
      __u32 nr_elems)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2568,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2570,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2573,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2575,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2577,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2578,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2587,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - btf
    - kind
    - name
    - bytes_sz
    argTypes:
    - struct btf*
    - int
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2562
    functionDepth: 6
    functionLinenumber: 2562
    functionLinenumberEnd: 2591
    functionName: btf_add_composite
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_add_composite(struct btf *btf, int kind, const char *name,
      __u32 bytes_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_composite
      Src: /src/libbpf/src/btf.c:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - name
    - byte_sz
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2605
    functionDepth: 7
    functionLinenumber: 2605
    functionLinenumberEnd: 2608
    functionName: btf__add_struct
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_add_composite
    linkageType: ''
    returnType: int
    signature: int btf__add_struct(struct btf *btf, const char *name, __u32 byte_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_composite
      Src: /src/libbpf/src/btf.c:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - name
    - byte_sz
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2623
    functionDepth: 7
    functionLinenumber: 2623
    functionLinenumberEnd: 2626
    functionName: btf__add_union
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_composite
    linkageType: ''
    returnType: int
    signature: int btf__add_union(struct btf *btf, const char *name, __u32 byte_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:2630,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2628
    functionDepth: 2
    functionLinenumber: 2628
    functionLinenumberEnd: 2631
    functionName: btf_last_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    - btf_type_by_id
    linkageType: ''
    returnType: struct btf_type
    signature: struct btf_type *btf_last_type(struct btf *btf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2654,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2655,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/btf.c:2656,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2657,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:2658,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2659,1
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:2661,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2662,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2666,1
    - Dst: btf_is_union
      Src: /src/libbpf/src/btf.c:2669,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2670,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2673,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2675,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2678,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2680,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2682,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2683,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2693,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2696,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:2696,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:2696,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.c:2696,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:2698,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 5
    argNames:
    - btf
    - name
    - type_id
    - bit_offset
    - bit_size
    argTypes:
    - struct btf*
    - char*
    - int
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2643
    functionDepth: 6
    functionLinenumber: 2643
    functionLinenumberEnd: 2700
    functionName: btf__add_field
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_is_composite
    - btf_type_info
    - btf_last_type
    - btf_add_type_mem
    - btf_vlen
    - btf_is_union
    - btf_hdr_update_type_len
    - btf_kind
    - btf_ensure_modifiable
    - btf__add_str
    - btf_kflag
    - validate_type_id
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf__add_field(struct btf *btf, const char *name, int type_id,\n\t\t
      \  __u32 bit_offset, __u32 bit_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2711,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2713,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2715,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2718,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2720,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2722,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2723,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2730,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:2733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - btf
    - name
    - byte_sz
    - is_signed
    - kind
    argTypes:
    - struct btf*
    - char*
    - __u32
    - bool
    - __u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2702
    functionDepth: 6
    functionLinenumber: 2702
    functionLinenumberEnd: 2734
    functionName: btf_add_enum_common
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf_add_enum_common(struct btf *btf, const char *name, __u32 byte_sz,\n\t\t\t
      \      bool is_signed, __u8 kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_enum_common
      Src: /src/libbpf/src/btf.c:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btf
    - name
    - byte_sz
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2749
    functionDepth: 7
    functionLinenumber: 2749
    functionLinenumberEnd: 2756
    functionName: btf__add_enum
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_enum_common
    linkageType: ''
    returnType: int
    signature: int btf__add_enum(struct btf *btf, const char *name, __u32 byte_sz)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2775,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2776,1
    - Dst: btf_is_enum
      Src: /src/libbpf/src/btf.c:2777,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2778,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2781,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2782,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2784,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2787,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2789,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2792,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2794,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2796,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2804,1
    - Dst: btf_type_inc_vlen
      Src: /src/libbpf/src/btf.c:2805,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2807,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2811,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:2811,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:2811,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:2813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - btf
    - name
    - value
    argTypes:
    - struct btf*
    - char*
    - __s64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2766
    functionDepth: 6
    functionLinenumber: 2766
    functionLinenumberEnd: 2815
    functionName: btf__add_enum_value
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_last_type
    - btf_type_inc_vlen
    - btf_vlen
    - btf_ensure_modifiable
    - btf_kind
    - btf_hdr_update_type_len
    - btf_is_enum
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_enum_value(struct btf *btf, const char *name, __s64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_enum_common
      Src: /src/libbpf/src/btf.c:2834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - btf
    - name
    - byte_sz
    - is_signed
    argTypes:
    - struct btf*
    - char*
    - __u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2831
    functionDepth: 7
    functionLinenumber: 2831
    functionLinenumberEnd: 2836
    functionName: btf__add_enum64
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_enum_common
    linkageType: ''
    returnType: int
    signature: "int btf__add_enum64(struct btf *btf, const char *name, __u32 byte_sz,\n\t\t
      \   bool is_signed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2855,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2856,1
    - Dst: btf_is_enum64
      Src: /src/libbpf/src/btf.c:2857,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2858,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2861,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2862,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:2865,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2867,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:2870,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2872,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:2874,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:2883,1
    - Dst: btf_type_inc_vlen
      Src: /src/libbpf/src/btf.c:2884,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2886,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:2888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - btf
    - name
    - value
    argTypes:
    - struct btf*
    - char*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2846
    functionDepth: 6
    functionLinenumber: 2846
    functionLinenumberEnd: 2890
    functionName: btf__add_enum64_value
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_last_type
    - btf_type_inc_vlen
    - btf_hdr_update_type_len
    - btf_is_enum64
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_enum64_value(struct btf *btf, const char *name, __u64
      value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2903,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2904,1
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2912,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:2915,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:2916,1
    - Dst: btf__add_enum
      Src: /src/libbpf/src/btf.c:2923,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - btf
    - name
    - fwd_kind
    argTypes:
    - struct btf*
    - char*
    - enum btf_fwd_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2901
    functionDepth: 8
    functionLinenumber: 2901
    functionLinenumberEnd: 2927
    functionName: btf__add_fwd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_type_by_id
    - btf__add_enum
    - btf_add_ref_kind
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind
      fwd_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2939,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2940,1
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - btf
    - name
    - ref_type_id
    argTypes:
    - struct btf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2937
    functionDepth: 7
    functionLinenumber: 2937
    functionLinenumberEnd: 2943
    functionName: btf__add_typedef
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - ref_type_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2952
    functionDepth: 7
    functionLinenumber: 2952
    functionLinenumberEnd: 2955
    functionName: btf__add_volatile
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    linkageType: ''
    returnType: int
    signature: int btf__add_volatile(struct btf *btf, int ref_type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - ref_type_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2964
    functionDepth: 7
    functionLinenumber: 2964
    functionLinenumberEnd: 2967
    functionName: btf__add_const
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    linkageType: ''
    returnType: int
    signature: int btf__add_const(struct btf *btf, int ref_type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btf
    - ref_type_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2976
    functionDepth: 7
    functionLinenumber: 2976
    functionLinenumberEnd: 2979
    functionName: btf__add_restrict
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    linkageType: ''
    returnType: int
    signature: int btf__add_restrict(struct btf *btf, int ref_type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:2991,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:2992,1
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:2994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - btf
    - value
    - ref_type_id
    argTypes:
    - struct btf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2989
    functionDepth: 7
    functionLinenumber: 2989
    functionLinenumberEnd: 2995
    functionName: btf__add_type_tag
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3008,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3009,1
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:3011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - btf
    - value
    - ref_type_id
    argTypes:
    - struct btf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 3006
    functionDepth: 7
    functionLinenumber: 3006
    functionLinenumberEnd: 3012
    functionName: btf__add_type_attr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_ref_kind
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_type_attr(struct btf *btf, const char *value, int ref_type_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3027,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3028,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3031,1
    - Dst: btf_add_ref_kind
      Src: /src/libbpf/src/btf.c:3033,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:3035,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:3037,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - btf
    - name
    - linkage
    - proto_type_id
    argTypes:
    - struct btf*
    - char*
    - enum btf_func_linkage
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3022
    functionDepth: 7
    functionLinenumber: 3022
    functionLinenumberEnd: 3040
    functionName: btf__add_func
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_info
    - btf_type_by_id
    - btf_add_ref_kind
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf__add_func(struct btf *btf, const char *name,\n\t\t  enum btf_func_linkage
      linkage, int proto_type_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:3060,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3061,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3063,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3065,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3068,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3070,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:3076,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:3079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - btf
    - ret_type_id
    argTypes:
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3054
    functionDepth: 5
    functionLinenumber: 3054
    functionLinenumberEnd: 3080
    functionName: btf__add_func_proto
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - validate_type_id
    - btf_ensure_modifiable
    - btf_add_type_mem
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_func_proto(struct btf *btf, int ret_type_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:3097,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3098,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3102,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:3103,1
    - Dst: btf_is_func_proto
      Src: /src/libbpf/src/btf.c:3104,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3105,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3108,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3110,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3113,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3115,1
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3117,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:3118,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:3127,1
    - Dst: btf_type_inc_vlen
      Src: /src/libbpf/src/btf.c:3128,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3130,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:3132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - btf
    - name
    - type_id
    argTypes:
    - struct btf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3090
    functionDepth: 6
    functionLinenumber: 3090
    functionLinenumberEnd: 3134
    functionName: btf__add_func_param
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_is_func_proto
    - btf_last_type
    - btf_type_inc_vlen
    - btf_add_type_mem
    - btf_hdr_update_type_len
    - btf_ensure_modifiable
    - btf__add_str
    - validate_type_id
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_func_param(struct btf *btf, const char *name, int type_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3154,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3155,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3158,1
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:3159,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3160,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3163,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3165,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3168,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3170,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:3172,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:3177,1
    - Dst: btf_var
      Src: /src/libbpf/src/btf.c:3180,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:3183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - btf
    - name
    - linkage
    - type_id
    argTypes:
    - struct btf*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3146
    functionDepth: 6
    functionLinenumber: 3146
    functionLinenumberEnd: 3184
    functionName: btf__add_var
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_info
    - btf_var
    - btf_commit_type
    - validate_type_id
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_var(struct btf *btf, const char *name, int linkage, int
      type_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3205,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3206,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3208,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3210,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3213,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3215,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:3217,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:3223,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:3226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - btf
    - name
    - byte_sz
    argTypes:
    - struct btf*
    - char*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3198
    functionDepth: 6
    functionLinenumber: 3198
    functionLinenumberEnd: 3227
    functionName: btf__add_datasec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_commit_type
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3248,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:3249,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/btf.c:3250,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3251,1
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:3253,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3254,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3257,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3259,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3262,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3264,1
    - Dst: btf_last_type
      Src: /src/libbpf/src/btf.c:3271,1
    - Dst: btf_type_inc_vlen
      Src: /src/libbpf/src/btf.c:3272,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3274,1
    - Dst: btf_hdr_update_type_len
      Src: /src/libbpf/src/btf.c:3276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - btf
    - var_type_id
    - offset
    - byte_sz
    argTypes:
    - struct btf*
    - int
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3239
    functionDepth: 4
    functionLinenumber: 3239
    functionLinenumberEnd: 3278
    functionName: btf__add_datasec_var_info
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_last_type
    - btf_type_inc_vlen
    - btf_add_type_mem
    - btf_hdr_update_type_len
    - btf_ensure_modifiable
    - validate_type_id
    - btf_is_datasec
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__add_datasec_var_info(struct btf *btf, int var_type_id, __u32
      offset, __u32 byte_sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_is_empty
      Src: /src/libbpf/src/btf.c:3287,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3288,1
    - Dst: validate_type_id
      Src: /src/libbpf/src/btf.c:3290,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3291,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3293,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3295,1
    - Dst: btf_add_type_mem
      Src: /src/libbpf/src/btf.c:3298,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3300,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/btf.c:3302,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/btf.c:3307,1
    - Dst: btf_decl_tag
      Src: /src/libbpf/src/btf.c:3309,1
    - Dst: btf_commit_type
      Src: /src/libbpf/src/btf.c:3311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - btf
    - value
    - ref_type_id
    - component_idx
    - kflag
    argTypes:
    - struct btf*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3280
    functionDepth: 6
    functionLinenumber: 3280
    functionLinenumberEnd: 3312
    functionName: btf_add_decl_tag
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_decl_tag
    - btf_type_info
    - btf_commit_type
    - validate_type_id
    - btf_ensure_modifiable
    - btf__add_str
    - btf_add_type_mem
    - str_is_empty
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf_add_decl_tag(struct btf *btf, const char *value, int ref_type_id,\n\t\t\t
      \   int component_idx, int kflag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_decl_tag
      Src: /src/libbpf/src/btf.c:3327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - btf
    - value
    - ref_type_id
    - component_idx
    argTypes:
    - struct btf*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3324
    functionDepth: 7
    functionLinenumber: 3324
    functionLinenumberEnd: 3328
    functionName: btf__add_decl_tag
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_add_decl_tag
    linkageType: ''
    returnType: int
    signature: "int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id,\n\t\t
      \     int component_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_add_decl_tag
      Src: /src/libbpf/src/btf.c:3344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - btf
    - value
    - ref_type_id
    - component_idx
    argTypes:
    - struct btf*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3341
    functionDepth: 7
    functionLinenumber: 3341
    functionLinenumberEnd: 3345
    functionName: btf__add_decl_attr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_decl_tag
    linkageType: ''
    returnType: int
    signature: "int btf__add_decl_attr(struct btf *btf, const char *value, int ref_type_id,\n\t\t
      \      int component_idx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3375,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3385,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3392,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3400,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3404,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3414,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3424,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3429,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3431,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - btf_ext
    - ext_sec
    - is_native
    argTypes:
    - struct btf_ext*
    - struct btf_ext_sec_info_param*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3455
    functionName: btf_ext_parse_sec_info
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - pr_debug
    linkageType: ''
    returnType: int
    signature: "int btf_ext_parse_sec_info(struct btf_ext *btf_ext,\n\t\t\t\t  struct
      btf_ext_sec_info_param *ext_sec,\n\t\t\t\t  bool is_native)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_ext_parse_sec_info
      Src: /src/libbpf/src/btf.c:3481,1
    - Dst: btf_ext_parse_sec_info
      Src: /src/libbpf/src/btf.c:3485,1
    - Dst: btf_ext_parse_sec_info
      Src: /src/libbpf/src/btf.c:3494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - btf_ext
    - is_native
    argTypes:
    - struct btf_ext*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3499
    functionName: btf_ext_parse_info
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_ext_parse_sec_info
    linkageType: ''
    returnType: int
    signature: int btf_ext_parse_info(struct btf_ext *btf_ext, bool is_native)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3507,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:3509,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3510,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3511,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3512,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3513,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3514,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3519,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct btf_ext_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3521
    functionName: btf_ext_bswap_hdr
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - bswap_16
    linkageType: ''
    returnType: void
    signature: void btf_ext_bswap_hdr(struct btf_ext_header *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3534,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3535,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3544,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3545,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3546,1
    - Dst: bswap_fn
      Src: /src/libbpf/src/btf.c:3549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - info
    - len
    - is_native
    - bswap_fn
    argTypes:
    - void*
    - __u32
    - bool
    - info_rec_bswap_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3553
    functionName: btf_ext_bswap_info_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - bswap_fn
    linkageType: ''
    returnType: void
    signature: "void btf_ext_bswap_info_sec(void *info, __u32 len, bool is_native,\n\t\t\t\t
      \  info_rec_bswap_fn bswap_fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_ext_bswap_info_sec
      Src: /src/libbpf/src/btf.c:3567,1
    - Dst: btf_ext_bswap_info_sec
      Src: /src/libbpf/src/btf.c:3572,1
    - Dst: btf_ext_bswap_info_sec
      Src: /src/libbpf/src/btf.c:3580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - btf_ext
    - data
    argTypes:
    - struct btf_ext*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3559
    functionDepth: 1
    functionLinenumber: 3559
    functionLinenumberEnd: 3582
    functionName: btf_ext_bswap_info
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_ext_bswap_info_sec
    linkageType: ''
    returnType: void
    signature: void btf_ext_bswap_info(struct btf_ext *btf_ext, void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3593,1
    - Dst: bswap_16
      Src: /src/libbpf/src/btf.c:3598,1
    - Dst: bswap_32
      Src: /src/libbpf/src/btf.c:3600,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3602,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3608,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3613,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3618,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3621,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:3627,1
    - Dst: btf_ext_bswap_hdr
      Src: /src/libbpf/src/btf.c:3633,1
    - Dst: btf_ext_parse_info
      Src: /src/libbpf/src/btf.c:3636,1
    - Dst: btf_ext_bswap_info
      Src: /src/libbpf/src/btf.c:3642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - btf_ext
    argTypes:
    - struct btf_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3651
    functionName: btf_ext_parse
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - bswap_32
    - pr_debug
    - btf_ext_parse_info
    - bswap_16
    - btf_ext_bswap_hdr
    - pr_warn
    - btf_ext_bswap_info
    linkageType: ''
    returnType: int
    signature: int btf_ext_parse(struct btf_ext *btf_ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/btf.c:3655,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3657,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3658,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3659,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3660,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3661,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - btf_ext
    argTypes:
    - struct btf_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3653
    functionDepth: 1
    functionLinenumber: 3653
    functionLinenumberEnd: 3663
    functionName: btf_ext__free
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - free
    - IS_ERR_OR_NULL
    linkageType: ''
    returnType: void
    signature: void btf_ext__free(struct btf_ext *btf_ext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:3670,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:3672,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:3675,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:3680,1
    - Dst: btf_ext_parse
      Src: /src/libbpf/src/btf.c:3682,1
    - Dst: btf_ext__free
      Src: /src/libbpf/src/btf.c:3686,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:3687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __u8*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3691
      start: 3665
    functionDepth: 3
    functionLinenumber: 3665
    functionLinenumberEnd: 3691
    functionName: btf_ext__new
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - libbpf_err_ptr
    - calloc
    - btf_ext_parse
    - malloc
    - memcpy
    - btf_ext__free
    linkageType: ''
    returnType: struct btf_ext
    signature: struct btf_ext *btf_ext__new(const __u8 *data, __u32 size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:3706,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:3709,1
    - Dst: btf_ext_bswap_info
      Src: /src/libbpf/src/btf.c:3711,1
    - Dst: btf_ext_bswap_hdr
      Src: /src/libbpf/src/btf.c:3712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - btf_ext_ro
    - swap_endian
    argTypes:
    - struct btf_ext*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3693
    functionDepth: 2
    functionLinenumber: 3693
    functionLinenumberEnd: 3715
    functionName: btf_ext_raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - calloc
    - btf_ext_bswap_info
    - memcpy
    - btf_ext_bswap_hdr
    linkageType: ''
    returnType: void
    signature: void *btf_ext_raw_data(const struct btf_ext *btf_ext_ro, bool swap_endian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_ext_raw_data
      Src: /src/libbpf/src/btf.c:3721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - btf_ext
    - size
    argTypes:
    - struct btf_ext*
    - __u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3717
    functionDepth: 3
    functionLinenumber: 3717
    functionLinenumberEnd: 3727
    functionName: btf_ext__raw_data
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_ext_raw_data
    linkageType: ''
    returnType: void
    signature: void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_host_big_endian
      Src: /src/libbpf/src/btf.c:3734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - btf_ext
    argTypes:
    - struct btf_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3738
      start: 3732
    functionDepth: 1
    functionLinenumber: 3732
    functionLinenumberEnd: 3738
    functionName: btf_ext__endianness
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - is_host_big_endian
    linkageType: ''
    returnType: enum btf_endianness
    signature: enum btf_endianness btf_ext__endianness(const struct btf_ext *btf_ext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3743,1
    - Dst: is_host_big_endian
      Src: /src/libbpf/src/btf.c:3745,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:3748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - btf_ext
    - endian
    argTypes:
    - struct btf_ext*
    - enum btf_endianness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3740
    functionDepth: 1
    functionLinenumber: 3740
    functionLinenumberEnd: 3752
    functionName: btf_ext__set_endianness
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - free
    - is_host_big_endian
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf_ext__set_endianness(struct btf_ext *btf_ext, enum btf_endianness
      endian)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf.c:3910,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3911,1
    - Dst: btf_dedup_new
      Src: /src/libbpf/src/btf.c:3913,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:3914,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3915,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:3915,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3916,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:3919,1
    - Dst: btf_dedup_prep
      Src: /src/libbpf/src/btf.c:3923,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3925,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3925,1
    - Dst: btf_dedup_strings
      Src: /src/libbpf/src/btf.c:3928,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3930,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3930,1
    - Dst: btf_dedup_prim_types
      Src: /src/libbpf/src/btf.c:3933,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3935,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3935,1
    - Dst: btf_dedup_struct_types
      Src: /src/libbpf/src/btf.c:3938,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3940,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3940,1
    - Dst: btf_dedup_resolve_fwds
      Src: /src/libbpf/src/btf.c:3943,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3945,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3945,1
    - Dst: btf_dedup_ref_types
      Src: /src/libbpf/src/btf.c:3948,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3950,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3950,1
    - Dst: btf_dedup_compact_types
      Src: /src/libbpf/src/btf.c:3953,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3955,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3955,1
    - Dst: btf_dedup_remap_types
      Src: /src/libbpf/src/btf.c:3958,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:3960,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:3960,1
    - Dst: btf_dedup_free
      Src: /src/libbpf/src/btf.c:3965,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:3966,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - btf
    - opts
    argTypes:
    - struct btf*
    - struct btf_dedup_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3905
    functionDepth: 4
    functionLinenumber: 3905
    functionLinenumberEnd: 3967
    functionName: btf__dedup
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_dedup_strings
    - btf_dedup_remap_types
    - btf_dedup_ref_types
    - IS_ERR
    - btf_dedup_prep
    - btf_dedup_compact_types
    - pr_debug
    - btf_dedup_prim_types
    - OPTS_VALID
    - PTR_ERR
    - errstr
    - btf_dedup_resolve_fwds
    - btf_dedup_new
    - btf_ensure_modifiable
    - btf_dedup_free
    - btf_dedup_struct_types
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - value
    argTypes:
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4011
    functionName: hash_combine
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long hash_combine(unsigned long h, unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - node
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 4013
    functionDepth: 0
    functionLinenumber: 4013
    functionLinenumberEnd: 4015
    functionName: for_each_dedup_cand
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_dedup_cand(d, node, hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__append
      Src: /src/libbpf/src/btf.c:4018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - hash
    - type_id
    argTypes:
    - struct btf_dedup*
    - long
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 4016
    functionDepth: 1
    functionLinenumber: 4016
    functionLinenumberEnd: 4019
    functionName: btf_dedup_table_add
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - hashmap__append
    linkageType: ''
    returnType: int
    signature: int btf_dedup_table_add(struct btf_dedup *d, long hash, __u32 type_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libbpf/src/btf.c:4027,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/btf.c:4028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - d
    - from_id
    - to_id
    argTypes:
    - struct btf_dedup*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4021
    functionDepth: 1
    functionLinenumber: 4021
    functionLinenumberEnd: 4036
    functionName: btf_dedup_hypot_map_add
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - max
    - libbpf_reallocarray
    linkageType: ''
    returnType: int
    signature: "int btf_dedup_hypot_map_add(struct btf_dedup *d,\n\t\t\t\t   __u32
      from_id, __u32 to_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 4038
    functionDepth: 0
    functionLinenumber: 4038
    functionLinenumberEnd: 4046
    functionName: btf_dedup_clear_hypot_map
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void btf_dedup_clear_hypot_map(struct btf_dedup *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:4050,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:4053,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:4056,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:4059,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:4062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4063
      start: 4048
    functionDepth: 3
    functionLinenumber: 4048
    functionLinenumberEnd: 4063
    functionName: btf_dedup_free
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - hashmap__free
    - free
    linkageType: ''
    returnType: void
    signature: void btf_dedup_free(struct btf_dedup *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4065
    functionDepth: 0
    functionLinenumber: 4065
    functionLinenumberEnd: 4068
    functionName: btf_dedup_identity_hash_fn
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t btf_dedup_identity_hash_fn(long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4073
    functionName: btf_dedup_collision_hash_fn
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t btf_dedup_collision_hash_fn(long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - k1
    - k2
    - ctx
    argTypes:
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4078
      start: 4075
    functionDepth: 0
    functionLinenumber: 4075
    functionLinenumberEnd: 4078
    functionName: btf_dedup_equal_fn
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool btf_dedup_equal_fn(long k1, long k2, void *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:4082,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:4087,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf.c:4089,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf.c:4093,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf.c:4095,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:4096,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:4097,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:4102,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:4103,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4111,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/btf.c:4114,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/btf.c:4114,1
    - Dst: malloc
      Src: /src/libbpf/src/btf.c:4120,1
    - Dst: btf_dedup_free
      Src: /src/libbpf/src/btf.c:4130,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/btf.c:4131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - btf
    - opts
    argTypes:
    - struct btf*
    - struct btf_dedup_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4080
    functionDepth: 4
    functionLinenumber: 4080
    functionLinenumberEnd: 4135
    functionName: btf_dedup_new
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_by_id
    - IS_ERR
    - OPTS_GET
    - malloc
    - PTR_ERR
    - calloc
    - hashmap__new
    - btf_is_var
    - btf__type_cnt
    - btf_is_datasec
    - ERR_PTR
    - btf_dedup_free
    linkageType: ''
    returnType: struct btf_dedup
    signature: struct btf_dedup *btf_dedup_new(struct btf *btf, const struct btf_dedup_opts
      *opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4147,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:4150,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:4154,1
    - Dst: fn
      Src: /src/libbpf/src/btf.c:4155,1
    - Dst: btf_ext_visit_str_offs
      Src: /src/libbpf/src/btf.c:4164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - d
    - fn
    - ctx
    argTypes:
    - struct btf_dedup*
    - str_off_visit_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4141
    functionDepth: 2
    functionLinenumber: 4141
    functionLinenumberEnd: 4169
    functionName: btf_for_each_str_off
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf_field_iter_next
    - btf_ext_visit_str_offs
    - btf_field_iter_init
    - fn
    linkageType: ''
    returnType: int
    signature: int btf_for_each_str_off(struct btf_dedup *d, str_off_visit_fn fn,
      void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/btf.c:4182,1
    - Dst: btf__find_str
      Src: /src/libbpf/src/btf.c:4184,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/btf.c:4193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - str_off_ptr
    - ctx
    argTypes:
    - __u32*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4171
    functionDepth: 5
    functionLinenumber: 4171
    functionLinenumberEnd: 4199
    functionName: strs_dedup_remap_str_off
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__str_by_offset
    - strset__add_str
    - btf__find_str
    linkageType: ''
    returnType: int
    signature: int strs_dedup_remap_str_off(__u32 *str_off_ptr, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strset__new
      Src: /src/libbpf/src/btf.c:4219,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:4220,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:4221,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/btf.c:4229,1
    - Dst: btf_for_each_str_off
      Src: /src/libbpf/src/btf.c:4235,1
    - Dst: strset__free
      Src: /src/libbpf/src/btf.c:4240,1
    - Dst: btf_hdr_update_str_len
      Src: /src/libbpf/src/btf.c:4241,1
    - Dst: strset__data_size
      Src: /src/libbpf/src/btf.c:4241,1
    - Dst: strset__free
      Src: /src/libbpf/src/btf.c:4248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4252
      start: 4212
    functionDepth: 3
    functionLinenumber: 4212
    functionLinenumberEnd: 4252
    functionName: btf_dedup_strings
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - strset__add_str
    - btf_for_each_str_off
    - IS_ERR
    - btf_hdr_update_str_len
    - PTR_ERR
    - strset__free
    - strset__data_size
    - strset__new
    linkageType: ''
    returnType: int
    signature: int btf_dedup_strings(struct btf_dedup *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4263,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4266
      start: 4259
    functionDepth: 1
    functionLinenumber: 4259
    functionLinenumberEnd: 4266
    functionName: btf_hash_typedef
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_typedef(struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4272,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4273,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4276
      start: 4268
    functionDepth: 1
    functionLinenumber: 4268
    functionLinenumberEnd: 4276
    functionName: btf_hash_common
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_common(struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4278
    functionDepth: 0
    functionLinenumber: 4278
    functionLinenumberEnd: 4283
    functionName: btf_equal_common
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_common(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4286
    functionDepth: 0
    functionLinenumber: 4286
    functionLinenumberEnd: 4290
    functionName: btf_equal_typedef
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_typedef(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4298,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4293
    functionDepth: 2
    functionLinenumber: 4293
    functionLinenumberEnd: 4301
    functionName: btf_hash_int_decl_tag
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_hash_common
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_int_decl_tag(struct btf_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4304
    functionDepth: 1
    functionLinenumber: 4304
    functionLinenumberEnd: 4313
    functionName: btf_equal_int_tag
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_equal_common
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_int_tag(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4316
    functionDepth: 1
    functionLinenumber: 4316
    functionLinenumberEnd: 4323
    functionName: btf_hash_enum
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_enum(struct btf_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4331,1
    - Dst: btf_enum
      Src: /src/libbpf/src/btf.c:4332,1
    - Dst: btf_enum
      Src: /src/libbpf/src/btf.c:4333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4325
    functionDepth: 2
    functionLinenumber: 4325
    functionLinenumberEnd: 4341
    functionName: btf_equal_enum_members
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_enum
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_enum_members(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4349,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf.c:4350,1
    - Dst: btf_enum64
      Src: /src/libbpf/src/btf.c:4351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4343
    functionDepth: 2
    functionLinenumber: 4343
    functionLinenumberEnd: 4360
    functionName: btf_equal_enum64_members
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_enum64
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_enum64_members(struct btf_type *t1, struct btf_type
      *t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4365,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4369,1
    - Dst: btf_equal_enum_members
      Src: /src/libbpf/src/btf.c:4370,1
    - Dst: btf_equal_enum64_members
      Src: /src/libbpf/src/btf.c:4372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4373
      start: 4363
    functionDepth: 3
    functionLinenumber: 4363
    functionLinenumberEnd: 4373
    functionName: btf_equal_enum
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_equal_enum64_members
    - btf_equal_common
    - btf_kind
    - btf_equal_enum_members
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_enum(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/btf.c:4377,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4375
    functionDepth: 4
    functionLinenumber: 4375
    functionLinenumberEnd: 4378
    functionName: btf_is_enum_fwd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_is_any_enum
    linkageType: ''
    returnType: bool
    signature: bool btf_is_enum_fwd(struct btf_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_enum_fwd
      Src: /src/libbpf/src/btf.c:4382,1
    - Dst: btf_is_enum_fwd
      Src: /src/libbpf/src/btf.c:4382,1
    - Dst: btf_equal_enum
      Src: /src/libbpf/src/btf.c:4383,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/btf.c:4391,1
    - Dst: btf_is_any_enum
      Src: /src/libbpf/src/btf.c:4391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4380
    functionDepth: 5
    functionLinenumber: 4380
    functionLinenumberEnd: 4392
    functionName: btf_compat_enum
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_is_enum_fwd
    - btf_is_any_enum
    - btf_equal_enum
    linkageType: ''
    returnType: bool
    signature: bool btf_compat_enum(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:4401,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4402,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4403,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4407,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4399
    functionDepth: 2
    functionLinenumber: 4399
    functionLinenumberEnd: 4413
    functionName: btf_hash_struct
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_hash_common
    - btf_vlen
    - btf_members
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_struct(struct btf_type *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4426,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4429,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:4430,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:4431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4420
    functionDepth: 2
    functionLinenumber: 4420
    functionLinenumberEnd: 4439
    functionName: btf_shallow_equal_struct
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_members
    - btf_vlen
    - btf_equal_common
    linkageType: ''
    returnType: bool
    signature: bool btf_shallow_equal_struct(struct btf_type *t1, struct btf_type
      *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4448,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4449,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4451,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4452,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4446
    functionDepth: 2
    functionLinenumber: 4446
    functionLinenumberEnd: 4455
    functionName: btf_hash_array
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_hash_common
    - btf_array
    - hash_combine
    linkageType: ''
    returnType: long
    signature: long btf_hash_array(struct btf_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4468,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4471,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4476
      start: 4464
    functionDepth: 1
    functionLinenumber: 4464
    functionLinenumberEnd: 4476
    functionName: btf_equal_array
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_equal_common
    - btf_array
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_array(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4485,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4488,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4483
    functionDepth: 1
    functionLinenumber: 4483
    functionLinenumberEnd: 4489
    functionName: btf_compat_array
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_equal_common
    - btf_array
    linkageType: ''
    returnType: bool
    signature: bool btf_compat_array(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4498,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4499,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4500,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4504,1
    - Dst: hash_combine
      Src: /src/libbpf/src/btf.c:4505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4496
    functionDepth: 2
    functionLinenumber: 4496
    functionLinenumberEnd: 4509
    functionName: btf_hash_fnproto
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_hash_common
    - hash_combine
    - btf_params
    linkageType: ''
    returnType: long
    signature: long btf_hash_fnproto(struct btf_type *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4524,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4527,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4528,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4518
    functionDepth: 2
    functionLinenumber: 4518
    functionLinenumberEnd: 4537
    functionName: btf_equal_fnproto
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_equal_common
    - btf_params
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_fnproto(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4554,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4555,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct btf_type*
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4564
      start: 4544
    functionDepth: 2
    functionLinenumber: 4544
    functionLinenumberEnd: 4564
    functionName: btf_compat_fnproto
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_vlen
    - btf_params
    linkageType: ''
    returnType: bool
    signature: bool btf_compat_fnproto(struct btf_type *t1, struct btf_type *t2)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4580,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4585,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4598,1
    - Dst: btf_hash_typedef
      Src: /src/libbpf/src/btf.c:4601,1
    - Dst: btf_hash_int_decl_tag
      Src: /src/libbpf/src/btf.c:4605,1
    - Dst: btf_hash_enum
      Src: /src/libbpf/src/btf.c:4609,1
    - Dst: btf_hash_struct
      Src: /src/libbpf/src/btf.c:4613,1
    - Dst: btf_hash_array
      Src: /src/libbpf/src/btf.c:4616,1
    - Dst: btf_hash_fnproto
      Src: /src/libbpf/src/btf.c:4619,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:4622,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4622,1
    - Dst: btf_dedup_table_add
      Src: /src/libbpf/src/btf.c:4625,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4570
    functionDepth: 3
    functionLinenumber: 4570
    functionLinenumberEnd: 4630
    functionName: btf_dedup_prep
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_hash_fnproto
    - btf_type_by_id
    - btf_hash_struct
    - btf_dedup_table_add
    - pr_debug
    - btf_hash_array
    - btf_hash_int_decl_tag
    - btf_hash_common
    - btf_hash_typedef
    - btf_kind
    - btf_hash_enum
    linkageType: ''
    returnType: int
    signature: int btf_dedup_prep(struct btf_dedup *d)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4640,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4648,1
    - Dst: btf_hash_int_decl_tag
      Src: /src/libbpf/src/btf.c:4666,1
    - Dst: for_each_dedup_cand
      Src: /src/libbpf/src/btf.c:4667,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4669,1
    - Dst: btf_equal_int_tag
      Src: /src/libbpf/src/btf.c:4670,1
    - Dst: btf_hash_enum
      Src: /src/libbpf/src/btf.c:4679,1
    - Dst: for_each_dedup_cand
      Src: /src/libbpf/src/btf.c:4680,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4682,1
    - Dst: btf_equal_enum
      Src: /src/libbpf/src/btf.c:4683,1
    - Dst: btf_compat_enum
      Src: /src/libbpf/src/btf.c:4687,1
    - Dst: btf_is_enum_fwd
      Src: /src/libbpf/src/btf.c:4688,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:4701,1
    - Dst: for_each_dedup_cand
      Src: /src/libbpf/src/btf.c:4702,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4704,1
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4705,1
    - Dst: btf_dedup_table_add
      Src: /src/libbpf/src/btf.c:4717,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4721
      start: 4638
    functionDepth: 6
    functionLinenumber: 4638
    functionLinenumberEnd: 4721
    functionName: btf_dedup_prim_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - for_each_dedup_cand
    - btf_equal_enum
    - btf_dedup_table_add
    - btf_is_enum_fwd
    - btf_equal_common
    - btf_hash_int_decl_tag
    - btf_hash_common
    - btf_kind
    - btf_equal_int_tag
    - btf_hash_enum
    - btf_compat_enum
    linkageType: ''
    returnType: int
    signature: int btf_dedup_prim_type(struct btf_dedup *d, __u32 type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dedup_prim_type
      Src: /src/libbpf/src/btf.c:4728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4733
      start: 4723
    functionDepth: 7
    functionLinenumber: 4723
    functionLinenumberEnd: 4733
    functionName: btf_dedup_prim_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_dedup_prim_type
    linkageType: ''
    returnType: int
    signature: int btf_dedup_prim_types(struct btf_dedup *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4741
      start: 4738
    functionDepth: 0
    functionLinenumber: 4738
    functionLinenumberEnd: 4741
    functionName: is_type_mapped
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_type_mapped(struct btf_dedup *d, uint32_t type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_type_mapped
      Src: /src/libbpf/src/btf.c:4750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4753
      start: 4748
    functionDepth: 1
    functionLinenumber: 4748
    functionLinenumberEnd: 4753
    functionName: resolve_type_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - is_type_mapped
    linkageType: ''
    returnType: __u32
    signature: __u32 resolve_type_id(struct btf_dedup *d, __u32 type_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/btf.c:4763,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:4763,1
    - Dst: is_type_mapped
      Src: /src/libbpf/src/btf.c:4766,1
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/btf.c:4769,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:4769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4759
    functionDepth: 3
    functionLinenumber: 4759
    functionLinenumberEnd: 4773
    functionName: resolve_fwd_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_is_fwd
    - btf__type_by_id
    - is_type_mapped
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t resolve_fwd_id(struct btf_dedup *d, uint32_t type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.c:4778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4776
    functionDepth: 2
    functionLinenumber: 4776
    functionLinenumberEnd: 4779
    functionName: btf_fwd_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_kflag
    linkageType: ''
    returnType: __u16
    signature: __u16 btf_fwd_kind(struct btf_type *t)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4786,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:4787,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:4789,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:4790,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:4791,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4795,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:4796,1
    - Dst: btf_equal_int_tag
      Src: /src/libbpf/src/btf.c:4804,1
    - Dst: btf_compat_enum
      Src: /src/libbpf/src/btf.c:4807,1
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:4810,1
    - Dst: btf_compat_array
      Src: /src/libbpf/src/btf.c:4826,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4829,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:4830,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:4833,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:4837,1
    - Dst: btf_shallow_equal_struct
      Src: /src/libbpf/src/btf.c:4847,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:4850,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:4851,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4852,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:4855,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:4857,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:4859,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4860,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:4861,1
    - Dst: btf_compat_fnproto
      Src: /src/libbpf/src/btf.c:4872,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:4876,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4879,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:4880,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:4881,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:4884,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 4
    argNames:
    - d
    - id1
    - id2
    - depth
    argTypes:
    - struct btf_dedup*
    - __u32
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4892
      start: 4781
    functionDepth: 6
    functionLinenumber: 4781
    functionLinenumberEnd: 4892
    functionName: btf_dedup_identical_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_shallow_equal_struct
    - btf_type_by_id
    - btf__name_by_offset
    - btf_params
    - btf_equal_common
    - pr_debug
    - btf_array
    - btf_vlen
    - btf_dedup_identical_types
    - btf_kind
    - btf_compat_array
    - btf_equal_int_tag
    - btf_compat_fnproto
    - btf_members
    - btf_compat_enum
    linkageType: ''
    returnType: bool
    signature: bool btf_dedup_identical_types(struct btf_dedup *d, __u32 id1, __u32
      id2, int depth)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:4999,1
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:4999,1
    - Dst: resolve_fwd_id
      Src: /src/libbpf/src/btf.c:5002,1
    - Dst: btf_dedup_identical_types
      Src: /src/libbpf/src/btf.c:5019,1
    - Dst: btf_dedup_hypot_map_add
      Src: /src/libbpf/src/btf.c:5024,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5027,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5028,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5029,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5030,1
    - Dst: btf_fwd_kind
      Src: /src/libbpf/src/btf.c:5043,1
    - Dst: btf_fwd_kind
      Src: /src/libbpf/src/btf.c:5046,1
    - Dst: btf_equal_int_tag
      Src: /src/libbpf/src/btf.c:5059,1
    - Dst: btf_compat_enum
      Src: /src/libbpf/src/btf.c:5063,1
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:5067,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5078,1
    - Dst: btf_compat_array
      Src: /src/libbpf/src/btf.c:5083,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:5085,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:5086,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5087,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5090,1
    - Dst: btf_shallow_equal_struct
      Src: /src/libbpf/src/btf.c:5098,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:5100,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:5101,1
    - Dst: btf_members
      Src: /src/libbpf/src/btf.c:5102,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5104,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:5107,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:5109,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:5111,1
    - Dst: btf_compat_fnproto
      Src: /src/libbpf/src/btf.c:5126,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5128,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:5131,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:5132,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:5133,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5135,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 105
    argCount: 3
    argNames:
    - d
    - cand_id
    - canon_id
    argTypes:
    - struct btf_dedup*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5148
      start: 4988
    functionDepth: 7
    functionLinenumber: 4988
    functionLinenumberEnd: 5148
    functionName: btf_dedup_is_equiv
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_shallow_equal_struct
    - btf_dedup_is_equiv
    - pr_debug
    - btf_vlen
    - btf_dedup_hypot_map_add
    - btf_members
    - btf_array
    - btf__name_by_offset
    - btf_equal_common
    - btf_fwd_kind
    - resolve_type_id
    - btf_compat_array
    - btf_compat_enum
    - btf_type_by_id
    - btf_dedup_identical_types
    - btf_kind
    - btf_equal_int_tag
    - btf_params
    - resolve_fwd_id
    - btf_compat_fnproto
    linkageType: ''
    returnType: int
    signature: "int btf_dedup_is_equiv(struct btf_dedup *d, __u32 cand_id,\n\t\t\t
      \     __u32 canon_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:5186,1
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:5187,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5188,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:5188,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5189,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:5189,1
    - Dst: is_type_mapped
      Src: /src/libbpf/src/btf.c:5226,1
    - Dst: is_type_mapped
      Src: /src/libbpf/src/btf.c:5227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5237
      start: 5176
    functionDepth: 3
    functionLinenumber: 5176
    functionLinenumberEnd: 5237
    functionName: btf_dedup_merge_hypot_map
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - resolve_type_id
    - btf__type_by_id
    - btf_kind
    - is_type_mapped
    linkageType: ''
    returnType: void
    signature: void btf_dedup_merge_hypot_map(struct btf_dedup *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_hash_typedef
      Src: /src/libbpf/src/btf.c:5242,1
    - Dst: btf_hash_struct
      Src: /src/libbpf/src/btf.c:5244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - kind
    argTypes:
    - struct btf_type*
    - __u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5239
    functionDepth: 3
    functionLinenumber: 5239
    functionLinenumberEnd: 5245
    functionName: btf_hash_by_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_hash_typedef
    - btf_hash_struct
    linkageType: ''
    returnType: long
    signature: long btf_hash_by_kind(struct btf_type *t, __u16 kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_equal_typedef
      Src: /src/libbpf/src/btf.c:5250,1
    - Dst: btf_shallow_equal_struct
      Src: /src/libbpf/src/btf.c:5252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t1
    - t2
    - kind
    argTypes:
    - struct btf_type*
    - struct btf_type*
    - __u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5247
    functionDepth: 3
    functionLinenumber: 5247
    functionLinenumberEnd: 5253
    functionName: btf_equal_by_kind
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_equal_typedef
    - btf_shallow_equal_struct
    linkageType: ''
    returnType: bool
    signature: bool btf_equal_by_kind(struct btf_type *t1, struct btf_type *t2, __u16
      kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5291,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5292,1
    - Dst: btf_hash_by_kind
      Src: /src/libbpf/src/btf.c:5299,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5314,1
    - Dst: btf_equal_by_kind
      Src: /src/libbpf/src/btf.c:5315,1
    - Dst: btf_dedup_clear_hypot_map
      Src: /src/libbpf/src/btf.c:5318,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5319,1
    - Dst: btf_dedup_merge_hypot_map
      Src: /src/libbpf/src/btf.c:5324,1
    - Dst: btf_dedup_table_add
      Src: /src/libbpf/src/btf.c:5332,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5336
      start: 5278
    functionDepth: 8
    functionLinenumber: 5278
    functionLinenumberEnd: 5336
    functionName: btf_dedup_struct_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf_equal_by_kind
    - btf_dedup_table_add
    - btf_dedup_clear_hypot_map
    - btf_dedup_is_equiv
    - btf_dedup_merge_hypot_map
    - btf_kind
    - btf_hash_by_kind
    linkageType: ''
    returnType: int
    signature: int btf_dedup_struct_type(struct btf_dedup *d, __u32 type_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5314,1
    - Dst: btf_equal_by_kind
      Src: /src/libbpf/src/btf.c:5315,1
    - Dst: btf_dedup_clear_hypot_map
      Src: /src/libbpf/src/btf.c:5318,1
    - Dst: btf_dedup_is_equiv
      Src: /src/libbpf/src/btf.c:5319,1
    - Dst: btf_dedup_merge_hypot_map
      Src: /src/libbpf/src/btf.c:5324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5329
      start: 5300
    functionDepth: 8
    functionLinenumber: 5300
    functionLinenumberEnd: 5329
    functionName: for_each_dedup_cand
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_by_id
    - btf_equal_by_kind
    - btf_dedup_is_equiv
    - btf_dedup_clear_hypot_map
    - btf_dedup_merge_hypot_map
    linkageType: ''
    returnType: void
    signature: void for_each_dedup_cand(d, hash_entry, h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dedup_struct_type
      Src: /src/libbpf/src/btf.c:5343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5338
    functionDepth: 9
    functionLinenumber: 5338
    functionLinenumberEnd: 5348
    functionName: btf_dedup_struct_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_dedup_struct_type
    linkageType: ''
    returnType: int
    signature: int btf_dedup_struct_types(struct btf_dedup *d)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:5386,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5388,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5391,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5398,1
    - Dst: btf_hash_common
      Src: /src/libbpf/src/btf.c:5403,1
    - Dst: for_each_dedup_cand
      Src: /src/libbpf/src/btf.c:5404,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5406,1
    - Dst: btf_equal_common
      Src: /src/libbpf/src/btf.c:5407,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5415,1
    - Dst: btf_hash_int_decl_tag
      Src: /src/libbpf/src/btf.c:5420,1
    - Dst: for_each_dedup_cand
      Src: /src/libbpf/src/btf.c:5421,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5423,1
    - Dst: btf_equal_int_tag
      Src: /src/libbpf/src/btf.c:5424,1
    - Dst: btf_array
      Src: /src/libbpf/src/btf.c:5432,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5434,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5439,1
    - Dst: btf_hash_array
      Src: /src/libbpf/src/btf.c:5444,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5447,1
    - Dst: btf_equal_array
      Src: /src/libbpf/src/btf.c:5448,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5461,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf.c:5466,1
    - Dst: btf_params
      Src: /src/libbpf/src/btf.c:5467,1
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5469,1
    - Dst: btf_hash_fnproto
      Src: /src/libbpf/src/btf.c:5476,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5479,1
    - Dst: btf_equal_fnproto
      Src: /src/libbpf/src/btf.c:5480,1
    - Dst: btf_dedup_table_add
      Src: /src/libbpf/src/btf.c:5493,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 2
    argNames:
    - d
    - type_id
    argTypes:
    - struct btf_dedup*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5374
    functionDepth: 3
    functionLinenumber: 5374
    functionLinenumberEnd: 5497
    functionName: btf_dedup_ref_type
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_hash_fnproto
    - btf_type_by_id
    - for_each_dedup_cand
    - btf_params
    - btf_dedup_table_add
    - btf_equal_common
    - btf_equal_array
    - btf_equal_fnproto
    - btf_hash_array
    - resolve_type_id
    - btf_hash_common
    - btf_hash_int_decl_tag
    - btf_kind
    - btf_vlen
    - btf_equal_int_tag
    - btf_dedup_ref_type
    - btf_array
    linkageType: ''
    returnType: int
    signature: int btf_dedup_ref_type(struct btf_dedup *d, __u32 type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5447,1
    - Dst: btf_equal_array
      Src: /src/libbpf/src/btf.c:5448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5452
      start: 5445
    functionDepth: 2
    functionLinenumber: 5445
    functionLinenumberEnd: 5452
    functionName: for_each_dedup_cand
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - btf_equal_array
    - btf_type_by_id
    linkageType: ''
    returnType: void
    signature: void for_each_dedup_cand(d, hash_entry, h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5479,1
    - Dst: btf_equal_fnproto
      Src: /src/libbpf/src/btf.c:5480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5484
      start: 5477
    functionDepth: 3
    functionLinenumber: 5477
    functionLinenumberEnd: 5484
    functionName: for_each_dedup_cand
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - btf_type_by_id
    - btf_equal_fnproto
    linkageType: ''
    returnType: void
    signature: void for_each_dedup_cand(d, hash_entry, h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_dedup_ref_type
      Src: /src/libbpf/src/btf.c:5504,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:5509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5499
    functionDepth: 4
    functionLinenumber: 5499
    functionLinenumberEnd: 5512
    functionName: btf_dedup_ref_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - hashmap__free
    - btf_dedup_ref_type
    linkageType: ''
    returnType: int
    signature: int btf_dedup_ref_types(struct btf_dedup *d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:5521,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5532,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5533,1
    - Dst: hashmap__add
      Src: /src/libbpf/src/btf.c:5542,1
    - Dst: hashmap__set
      Src: /src/libbpf/src/btf.c:5544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - d
    - names_map
    argTypes:
    - struct btf_dedup*
    - struct hashmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5551
      start: 5519
    functionDepth: 2
    functionLinenumber: 5519
    functionLinenumberEnd: 5551
    functionName: btf_dedup_fill_unique_names_map
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - hashmap__set
    - hashmap__add
    - btf_kind
    - btf__type_cnt
    linkageType: ''
    returnType: int
    signature: int btf_dedup_fill_unique_names_map(struct btf_dedup *d, struct hashmap
      *names_map)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5555,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/btf.c:5556,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5557,1
    - Dst: hashmap__find
      Src: /src/libbpf/src/btf.c:5568,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5575,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5576,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - d
    - names_map
    - type_id
    argTypes:
    - struct btf_dedup*
    - struct hashmap*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5584
      start: 5553
    functionDepth: 2
    functionLinenumber: 5553
    functionLinenumberEnd: 5584
    functionName: btf_dedup_resolve_fwd
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_kflag
    - btf_type_by_id
    - btf_kind
    - hashmap__find
    linkageType: ''
    returnType: int
    signature: int btf_dedup_resolve_fwd(struct btf_dedup *d, struct hashmap *names_map,
      __u32 type_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf.c:5623,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:5624,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/btf.c:5625,1
    - Dst: btf_dedup_fill_unique_names_map
      Src: /src/libbpf/src/btf.c:5627,1
    - Dst: btf_dedup_resolve_fwd
      Src: /src/libbpf/src/btf.c:5632,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:5638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5618
    functionDepth: 3
    functionLinenumber: 5618
    functionLinenumberEnd: 5640
    functionName: btf_dedup_resolve_fwds
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_dedup_fill_unique_names_map
    - IS_ERR
    - hashmap__free
    - PTR_ERR
    - hashmap__new
    - btf_dedup_resolve_fwd
    linkageType: ''
    returnType: int
    signature: int btf_dedup_resolve_fwds(struct btf_dedup *d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:5675,1
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:5676,1
    - Dst: memmove
      Src: /src/libbpf/src/btf.c:5680,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/btf.c:5691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5702
      start: 5653
    functionDepth: 4
    functionLinenumber: 5653
    functionLinenumberEnd: 5702
    functionName: btf_dedup_compact_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_size
    - libbpf_reallocarray
    - btf__type_by_id
    - memmove
    linkageType: ''
    returnType: int
    signature: int btf_dedup_compact_types(struct btf_dedup *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:5715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - type_id
    - ctx
    argTypes:
    - __u32*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5722
      start: 5710
    functionDepth: 2
    functionLinenumber: 5710
    functionLinenumberEnd: 5722
    functionName: btf_dedup_remap_type_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - resolve_type_id
    linkageType: ''
    returnType: int
    signature: int btf_dedup_remap_type_id(__u32 *type_id, void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5739,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:5743,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:5747,1
    - Dst: resolve_type_id
      Src: /src/libbpf/src/btf.c:5750,1
    - Dst: btf_ext_visit_type_ids
      Src: /src/libbpf/src/btf.c:5762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct btf_dedup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5767
      start: 5734
    functionDepth: 2
    functionLinenumber: 5734
    functionLinenumberEnd: 5767
    functionName: btf_dedup_remap_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_type_by_id
    - btf_field_iter_next
    - btf_field_iter_init
    - resolve_type_id
    - btf_ext_visit_type_ids
    linkageType: ''
    returnType: int
    signature: int btf_dedup_remap_types(struct btf_dedup *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: faccessat
      Src: /src/libbpf/src/btf.c:5792,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:5793,1
    - Dst: btf_parse_raw_mmap
      Src: /src/libbpf/src/btf.c:5796,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:5797,1
    - Dst: btf__parse
      Src: /src/libbpf/src/btf.c:5798,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:5802,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:5803,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:5804,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:5806,1
    - Dst: uname
      Src: /src/libbpf/src/btf.c:5811,1
    - Dst: ARRAY_SIZE
      Src: /src/libbpf/src/btf.c:5812,1
    - Dst: snprintf
      Src: /src/libbpf/src/btf.c:5813,1
    - Dst: faccessat
      Src: /src/libbpf/src/btf.c:5815,1
    - Dst: btf__parse
      Src: /src/libbpf/src/btf.c:5818,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/btf.c:5819,1
    - Dst: pr_debug
      Src: /src/libbpf/src/btf.c:5820,1
    - Dst: errstr
      Src: /src/libbpf/src/btf.c:5820,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:5827,1
    - Dst: libbpf_err_ptr
      Src: /src/libbpf/src/btf.c:5828,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5829
      start: 5773
    functionDepth: 9
    functionLinenumber: 5773
    functionLinenumberEnd: 5829
    functionName: btf__load_vmlinux_btf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached:
    - IS_ERR
    - uname
    - libbpf_err_ptr
    - pr_debug
    - pr_warn
    - errstr
    - libbpf_get_error
    - snprintf
    - ARRAY_SIZE
    - btf__parse
    - btf_parse_raw_mmap
    - faccessat
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__load_vmlinux_btf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libbpf/src/btf.c:5837,1
    - Dst: btf__parse_split
      Src: /src/libbpf/src/btf.c:5838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module_name
    - vmlinux_btf
    argTypes:
    - char*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5839
      start: 5833
    functionDepth: 9
    functionLinenumber: 5833
    functionLinenumberEnd: 5839
    functionName: btf__load_module_btf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__parse_split
    - snprintf
    linkageType: ''
    returnType: struct btf
    signature: struct btf *btf__load_module_btf(const char *module_name, struct btf
      *vmlinux_btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5852,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - btf_ext
    - visit
    - ctx
    argTypes:
    - struct btf_ext*
    - type_id_visit_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5841
    functionDepth: 0
    functionLinenumber: 5841
    functionLinenumberEnd: 5870
    functionName: btf_ext_visit_type_ids
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - visit
    linkageType: ''
    returnType: int
    signature: int btf_ext_visit_type_ids(struct btf_ext *btf_ext, type_id_visit_fn
      visit, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5848
    functionDepth: 0
    functionLinenumber: 5848
    functionLinenumberEnd: 5856
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5851
    functionDepth: 0
    functionLinenumber: 5851
    functionLinenumberEnd: 5855
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5867
      start: 5859
    functionDepth: 0
    functionLinenumber: 5859
    functionLinenumberEnd: 5867
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5862
    functionDepth: 0
    functionLinenumber: 5862
    functionLinenumberEnd: 5866
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5880,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5889,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5894,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5897,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5907,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - btf_ext
    - visit
    - ctx
    argTypes:
    - struct btf_ext*
    - str_off_visit_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5872
    functionDepth: 0
    functionLinenumber: 5872
    functionLinenumberEnd: 5919
    functionName: btf_ext_visit_str_offs
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - visit
    linkageType: ''
    returnType: int
    signature: int btf_ext_visit_str_offs(struct btf_ext *btf_ext, str_off_visit_fn
      visit, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5883
      start: 5879
    functionDepth: 0
    functionLinenumber: 5879
    functionLinenumberEnd: 5883
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5889,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5894,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5901
      start: 5886
    functionDepth: 0
    functionLinenumber: 5886
    functionLinenumberEnd: 5901
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5894,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5900
      start: 5893
    functionDepth: 0
    functionLinenumber: 5893
    functionLinenumberEnd: 5900
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5907,1
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5916
      start: 5904
    functionDepth: 0
    functionLinenumber: 5904
    functionLinenumberEnd: 5916
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_sec(seg, sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visit
      Src: /src/libbpf/src/btf.c:5912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5915
      start: 5911
    functionDepth: 0
    functionLinenumber: 5911
    functionLinenumberEnd: 5915
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - visit
    linkageType: ''
    returnType: void
    signature: void for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5931,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:5936,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:5939,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:5954,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5955,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:5974,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:5975,1
    - Dst: btf_is_composite
      Src: /src/libbpf/src/btf.c:5985,1
    - Dst: btf_add_distilled_type_ids
      Src: /src/libbpf/src/btf.c:5987,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - dist
    - i
    argTypes:
    - struct btf_distill*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5929
    functionDepth: 3
    functionLinenumber: 5929
    functionLinenumberEnd: 5992
    functionName: btf_add_distilled_type_ids
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_is_composite
    - btf_type_by_id
    - btf_field_iter_next
    - btf_field_iter_init
    - btf_add_distilled_type_ids
    - btf_kind
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_add_distilled_type_ids(struct btf_distill *dist, __u32 i)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:5997,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:6011,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf.c:6012,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/btf.c:6013,1
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:6022,1
    - Dst: btf_add_composite
      Src: /src/libbpf/src/btf.c:6033,1
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:6037,1
    - Dst: btf__add_enum
      Src: /src/libbpf/src/btf.c:6051,1
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:6055,1
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:6069,1
    - Dst: pr_warn
      Src: /src/libbpf/src/btf.c:6072,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - dist
    argTypes:
    - struct btf_distill*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6082
      start: 5994
    functionDepth: 8
    functionLinenumber: 5994
    functionLinenumberEnd: 6082
    functionName: btf_add_distilled_types
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_by_id
    - btf__name_by_offset
    - btf__add_enum
    - btf_add_type
    - btf_add_composite
    - btf_kind
    - btf__type_cnt
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int btf_add_distilled_types(struct btf_distill *dist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:6091,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:6096,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:6099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dist
    - i
    argTypes:
    - struct btf_distill*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6106
      start: 6089
    functionDepth: 2
    functionLinenumber: 6089
    functionLinenumberEnd: 6106
    functionName: btf_update_distilled_type_ids
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_field_iter_init
    - btf_type_by_id
    - btf_field_iter_next
    linkageType: ''
    returnType: int
    signature: int btf_update_distilled_type_ids(struct btf_distill *dist, __u32 i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6129,1
    - Dst: btf__base_btf
      Src: /src/libbpf/src/btf.c:6135,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6137,1
    - Dst: btf__new_empty
      Src: /src/libbpf/src/btf.c:6139,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6141,1
    - Dst: btf__set_endianness
      Src: /src/libbpf/src/btf.c:6143,1
    - Dst: btf__endianness
      Src: /src/libbpf/src/btf.c:6143,1
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:6145,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/btf.c:6152,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/btf.c:6153,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6157,1
    - Dst: btf_add_distilled_type_ids
      Src: /src/libbpf/src/btf.c:6165,1
    - Dst: btf_add_distilled_types
      Src: /src/libbpf/src/btf.c:6172,1
    - Dst: btf__new_empty_split
      Src: /src/libbpf/src/btf.c:6181,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/btf.c:6189,1
    - Dst: btf_add_type
      Src: /src/libbpf/src/btf.c:6190,1
    - Dst: btf_add_distilled_types
      Src: /src/libbpf/src/btf.c:6195,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6202,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6204,1
    - Dst: btf_update_distilled_type_ids
      Src: /src/libbpf/src/btf.c:6207,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:6212,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/btf.c:6213,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:6215,1
    - Dst: btf__free
      Src: /src/libbpf/src/btf.c:6216,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6217,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - src_btf
    - new_base_btf
    - new_split_btf
    argTypes:
    - struct btf*
    - struct btf**
    - struct btf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6223
      start: 6124
    functionDepth: 9
    functionLinenumber: 6124
    functionLinenumberEnd: 6223
    functionName: btf__distill_base
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_add_distilled_types
    - btf__base_btf
    - btf_type_by_id
    - IS_ERR
    - btf__free
    - btf__new_empty
    - hashmap__free
    - btf_add_type
    - calloc
    - hashmap__new
    - btf_add_distilled_type_ids
    - btf__set_endianness
    - btf__new_empty_split
    - btf__endianness
    - btf__type_cnt
    - free
    - btf_update_distilled_type_ids
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf__distill_base(const struct btf *src_btf, struct btf **new_base_btf,\n\t\t
      \     struct btf **new_split_btf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - btf
    argTypes:
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6228
      start: 6225
    functionDepth: 0
    functionLinenumber: 6225
    functionLinenumberEnd: 6228
    functionName: btf_header
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct btf_header
    signature: struct btf_header *btf_header(const struct btf *btf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - btf
    - base_btf
    argTypes:
    - struct btf*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6235
      start: 6230
    functionDepth: 1
    functionLinenumber: 6230
    functionLinenumberEnd: 6235
    functionName: btf_set_base_btf
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf__type_cnt
    linkageType: ''
    returnType: void
    signature: void btf_set_base_btf(struct btf *btf, const struct btf *base_btf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf_relocate
      Src: /src/libbpf/src/btf.c:6239,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - btf
    - base_btf
    argTypes:
    - struct btf*
    - struct btf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6244
      start: 6237
    functionDepth: 6
    functionLinenumber: 6237
    functionLinenumberEnd: 6244
    functionName: btf__relocate
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 1
    functionsReached:
    - btf_relocate
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int btf__relocate(struct btf *btf, const struct btf *base_btf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - type_id
    - ctx
    argTypes:
    - __u32*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6267
      start: 6253
    functionDepth: 1
    functionLinenumber: 6253
    functionLinenumberEnd: 6267
    functionName: btf_permute_remap_type_id
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    linkageType: ''
    returnType: int
    signature: int btf_permute_remap_type_id(__u32 *type_id, void *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/btf.c:6279,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6280,1
    - Dst: btf__base_btf
      Src: /src/libbpf/src/btf.c:6282,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6286,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6287,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6292,1
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:6295,1
    - Dst: calloc
      Src: /src/libbpf/src/btf.c:6301,1
    - Dst: btf_ensure_modifiable
      Src: /src/libbpf/src/btf.c:6307,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/btf.c:6313,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/btf.c:6337,1
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:6338,1
    - Dst: memcpy
      Src: /src/libbpf/src/btf.c:6339,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/btf.c:6342,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/btf.c:6345,1
    - Dst: btf_permute_remap_type_id
      Src: /src/libbpf/src/btf.c:6346,1
    - Dst: OPTS_GET
      Src: /src/libbpf/src/btf.c:6355,1
    - Dst: btf_ext_visit_type_ids
      Src: /src/libbpf/src/btf.c:6357,1
    - Dst: btf_type_size
      Src: /src/libbpf/src/btf.c:6364,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:6367,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:6368,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:6373,1
    - Dst: free
      Src: /src/libbpf/src/btf.c:6374,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/btf.c:6375,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 4
    argNames:
    - btf
    - id_map
    - id_map_cnt
    - opts
    argTypes:
    - struct btf*
    - __u32*
    - __u32
    - struct btf_permute_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6376
      start: 6269
    functionDepth: 4
    functionLinenumber: 6269
    functionLinenumberEnd: 6376
    functionName: btf__permute
    functionSourceFile: /src/libbpf/src/btf.c
    functionUses: 0
    functionsReached:
    - btf_type_size
    - btf__base_btf
    - btf__type_by_id
    - btf_permute_remap_type_id
    - btf_field_iter_next
    - OPTS_GET
    - btf_field_iter_init
    - OPTS_VALID
    - calloc
    - btf_ensure_modifiable
    - btf_ext_visit_type_ids
    - btf__type_cnt
    - free
    - memcpy
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int btf__permute(struct btf *btf, __u32 *id_map, __u32 id_map_cnt,\n\t\t
      const struct btf_permute_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ELF64_ST_VISIBILITY
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELF64_ST_VISIBILITY(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - kind
    - ','
    - kind_flag
    - ','
    - vlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: BTF_INFO_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INFO_ENC(kind, kind_flag, vlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - info
    - ','
    - size_or_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: BTF_TYPE_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_TYPE_ENC(name, info, size_or_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - encoding
    - ','
    - bits_offset
    - ','
    - nr_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: BTF_INT_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INT_ENC(encoding, bits_offset, nr_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - encoding
    - ','
    - bits_offset
    - ','
    - bits
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: BTF_TYPE_INT_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_TYPE_INT_ENC(name, encoding, bits_offset, bits, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - bits_offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: BTF_MEMBER_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_MEMBER_ENC(name, type, bits_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: BTF_PARAM_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_PARAM_ENC(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - offset
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: BTF_VAR_SECINFO_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_VAR_SECINFO_ENC(type, offset, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: BTF_TYPE_FLOAT_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_TYPE_FLOAT_ENC(name, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - type
    - ','
    - component_idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: BTF_TYPE_DECL_TAG_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_TYPE_DECL_TAG_ENC(value, type, component_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: BTF_TYPE_TYPE_TAG_ENC
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_TYPE_TYPE_TAG_ENC(value, type)
  - 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: likely
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: unlikely
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: min
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: max
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: offsetofend
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetofend(TYPE, FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: __alias
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __alias(symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - pfx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: str_has_pfx
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_has_pfx(str, pfx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/libbpf_internal.h:127,1
    - Dst: strlen
      Src: /src/libbpf/src/libbpf_internal.h:128,1
    - Dst: strcmp
      Src: /src/libbpf/src/libbpf_internal.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - sfx
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: str_has_sfx
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool str_has_sfx(const char *str, const char *sfx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - internal_name
    - ','
    - api_name
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: DEFAULT_VERSION
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_VERSION(internal_name, api_name, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - internal_name
    - ','
    - api_name
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: COMPAT_VERSION
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_VERSION(internal_name, api_name, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - internal_name
    - ','
    - api_name
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: COMPAT_VERSION
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_VERSION(internal_name, api_name, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - internal_name
    - ','
    - api_name
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: DEFAULT_VERSION
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_VERSION(internal_name, api_name, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - internal_name
    - ','
    - api_name
    - ','
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: DEFAULT_VERSION
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_VERSION(internal_name, api_name, version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: __pr
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __pr(level, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: pr_warn
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 224
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_warn(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: pr_info
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_info(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: pr_debug
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_debug(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: errstr
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errstr(err)
  - 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: __has_builtin
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_builtin(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __has_builtin
      Src: /src/libbpf/src/libbpf_internal.h:212,1
    - Dst: unlikely
      Src: /src/libbpf/src/libbpf_internal.h:213,1
    - Dst: __builtin_mul_overflow
      Src: /src/libbpf/src/libbpf_internal.h:213,1
    - Dst: realloc
      Src: /src/libbpf/src/libbpf_internal.h:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: libbpf_reallocarray
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 27
    functionsReached:
    - unlikely
    - __has_builtin
    - realloc
    - __builtin_mul_overflow
    linkageType: ''
    returnType: void
    signature: void *libbpf_reallocarray(void *ptr, size_t nmemb, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - src
    - sz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: libbpf_strlcpy
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libbpf_strlcpy(char *dst, const char *src, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_vlen
      Src: /src/libbpf/src/libbpf_internal.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: btf_func_linkage
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 5
    functionsReached:
    - btf_vlen
    linkageType: ''
    returnType: enum btf_func_linkage
    signature: enum btf_func_linkage btf_func_linkage(const struct btf_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - kind
    - vlen
    - kflag
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: btf_type_info
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 btf_type_info(int kind, int vlen, int kflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: libbpf_is_mem_zeroed
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool libbpf_is_mem_zeroed(const char *p, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf_internal.h:319,1
    - Dst: libbpf_is_mem_zeroed
      Src: /src/libbpf/src/libbpf_internal.h:322,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf_internal.h:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - opts
    - opts_sz
    - user_sz
    - type_name
    argTypes:
    - char*
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: libbpf_validate_opts
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached:
    - pr_warn
    - libbpf_is_mem_zeroed
    linkageType: ''
    returnType: bool
    signature: "bool libbpf_validate_opts(const char *opts,\n\t\t\t\t\tsize_t opts_sz,
      size_t user_sz,\n\t\t\t\t\tconst char *type_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opts
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: OPTS_VALID
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTS_VALID(opts, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opts
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: OPTS_HAS
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTS_HAS(opts, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opts
    - ','
    - field
    - ','
    - fallback_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: OPTS_GET
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTS_GET(opts, field, fallback_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opts
    - ','
    - field
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: OPTS_SET
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTS_SET(opts, field, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opts
    - ','
    - last_nonzero_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: OPTS_ZEROED
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTS_ZEROED(opts, last_nonzero_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seg
    - ','
    - sec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: for_each_btf_ext_sec
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_btf_ext_sec(seg, sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - seg
    - ','
    - sec
    - ','
    - i
    - ','
    - rec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: for_each_btf_ext_rec
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_btf_ext_rec(seg, sec, i, rec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:550,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct bpf_func_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: bpf_func_info_bswap
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void bpf_func_info_bswap(struct bpf_func_info *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:556,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:557,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:558,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct bpf_line_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: bpf_line_info_bswap
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void bpf_line_info_bswap(struct bpf_line_info *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:564,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:565,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:566,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct bpf_core_relo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: bpf_core_relo_bswap
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void bpf_core_relo_bswap(struct bpf_core_relo *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: libbpf_err
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int libbpf_err(int ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: libbpf_err_errno
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int libbpf_err_errno(int ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: libbpf_err_ptr
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *libbpf_err_ptr(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf_internal.h:631,1
    - Dst: PTR_ERR
      Src: /src/libbpf/src/libbpf_internal.h:632,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/libbpf_internal.h:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: libbpf_ptr
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 17
    functionsReached:
    - PTR_ERR
    - IS_ERR
    linkageType: ''
    returnType: void
    signature: void *libbpf_ptr(void *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: str_is_empty
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_is_empty(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: is_ldimm64_insn
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ldimm64_insn(struct bpf_insn *insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/libbpf/src/libbpf_internal.h:653,1
    - Dst: bswap_32
      Src: /src/libbpf/src/libbpf_internal.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - insn
    argTypes:
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 655
    functionName: bpf_insn_bswap
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached:
    - bswap_32
    - bswap_16
    linkageType: ''
    returnType: void
    signature: void bpf_insn_bswap(struct bpf_insn *insn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libbpf/src/libbpf_internal.h:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: dup_good_fd
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int dup_good_fd(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dup_good_fd
      Src: /src/libbpf/src/libbpf_internal.h:679,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_internal.h:681,1
    - Dst: pr_warn
      Src: /src/libbpf/src/libbpf_internal.h:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 689
    functionName: ensure_good_fd
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached:
    - close
    - pr_warn
    - dup_good_fd
    linkageType: ''
    returnType: int
    signature: int ensure_good_fd(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libbpf/src/libbpf_internal.h:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - oldfd
    - newfd
    - flags
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: sys_dup3
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int sys_dup3(int oldfd, int newfd, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libbpf/src/libbpf_internal.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: sys_memfd_create
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int sys_memfd_create(const char *name, unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_dup3
      Src: /src/libbpf/src/libbpf_internal.h:713,1
    - Dst: close
      Src: /src/libbpf/src/libbpf_internal.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixed_fd
    - tmp_fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: reuse_fd
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 3
    functionsReached:
    - close
    - sys_dup3
    linkageType: ''
    returnType: int
    signature: int reuse_fd(int fixed_fd, int tmp_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: is_pow_of_2
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_pow_of_2(size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - bits
    argTypes:
    - __u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: ror32
    functionSourceFile: /src/libbpf/src/libbpf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 ror32(__u32 v, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: pr_warn_elf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pr_warn_elf(fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/linker.c:197,1
    - Dst: elf_end
      Src: /src/libbpf/src/linker.c:200,1
    - Dst: close
      Src: /src/libbpf/src/linker.c:203,1
    - Dst: strset__free
      Src: /src/libbpf/src/linker.c:205,1
    - Dst: btf__free
      Src: /src/libbpf/src/linker.c:207,1
    - Dst: btf_ext__free
      Src: /src/libbpf/src/linker.c:208,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:213,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:214,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:215,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:217,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:218,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:219,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:221,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:223,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: bpf_linker__free
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf__free
    - close
    - strset__free
    - elf_end
    - free
    - btf_ext__free
    linkageType: ''
    returnType: void
    signature: void bpf_linker__free(struct bpf_linker *linker)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/linker.c:232,1
    - Dst: elf_version
      Src: /src/libbpf/src/linker.c:235,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:236,1
    - Dst: calloc
      Src: /src/libbpf/src/linker.c:240,1
    - Dst: strdup
      Src: /src/libbpf/src/linker.c:244,1
    - Dst: open
      Src: /src/libbpf/src/linker.c:250,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:253,1
    - Dst: init_output_elf
      Src: /src/libbpf/src/linker.c:258,1
    - Dst: bpf_linker__free
      Src: /src/libbpf/src/linker.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - opts
    argTypes:
    - char*
    - struct bpf_linker_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 267
    functionName: bpf_linker__new
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - init_output_elf
    - open
    - strdup
    - pr_warn_elf
    - OPTS_VALID
    - calloc
    - elf_version
    - pr_warn
    - bpf_linker__free
    linkageType: ''
    returnType: struct bpf_linker
    signature: struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts
      *opts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/linker.c:278,1
    - Dst: elf_version
      Src: /src/libbpf/src/linker.c:281,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:282,1
    - Dst: calloc
      Src: /src/libbpf/src/linker.c:286,1
    - Dst: snprintf
      Src: /src/libbpf/src/linker.c:290,1
    - Dst: strdup
      Src: /src/libbpf/src/linker.c:291,1
    - Dst: init_output_elf
      Src: /src/libbpf/src/linker.c:300,1
    - Dst: bpf_linker__free
      Src: /src/libbpf/src/linker.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - fd
    - opts
    argTypes:
    - int
    - struct bpf_linker_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 309
    functionName: bpf_linker__new_fd
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - init_output_elf
    - strdup
    - pr_warn_elf
    - OPTS_VALID
    - calloc
    - snprintf
    - elf_version
    - bpf_linker__free
    linkageType: ''
    returnType: struct bpf_linker
    signature: struct bpf_linker *bpf_linker__new_fd(int fd, struct bpf_linker_opts
      *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:316,1
    - Dst: memset
      Src: /src/libbpf/src/linker.c:321,1
    - Dst: strdup
      Src: /src/libbpf/src/linker.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - linker
    - sec_name
    argTypes:
    - struct bpf_linker*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 333
    functionName: add_dst_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    - strdup
    linkageType: ''
    returnType: struct dst_sec
    signature: struct dst_sec *add_dst_sec(struct bpf_linker *linker, const char *sec_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:341,1
    - Dst: memset
      Src: /src/libbpf/src/linker.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - linker
    - sym_idx
    argTypes:
    - struct bpf_linker*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 357
    functionName: add_new_sym
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    linkageType: ''
    returnType: Elf64_Sym
    signature: Elf64_Sym *add_new_sym(struct bpf_linker *linker, size_t *sym_idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: elf_begin
      Src: /src/libbpf/src/linker.c:365,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:367,1
    - Dst: elf64_newehdr
      Src: /src/libbpf/src/linker.c:372,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:374,1
    - Dst: strset__new
      Src: /src/libbpf/src/linker.c:385,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:386,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:387,1
    - Dst: add_dst_sec
      Src: /src/libbpf/src/linker.c:389,1
    - Dst: elf_newscn
      Src: /src/libbpf/src/linker.c:393,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:395,1
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/linker.c:399,1
    - Dst: elf_newdata
      Src: /src/libbpf/src/linker.c:403,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:405,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/linker.c:409,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/linker.c:413,1
    - Dst: add_dst_sec
      Src: /src/libbpf/src/linker.c:428,1
    - Dst: elf_newscn
      Src: /src/libbpf/src/linker.c:432,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:434,1
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/linker.c:438,1
    - Dst: elf_newdata
      Src: /src/libbpf/src/linker.c:442,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:444,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/linker.c:450,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/linker.c:454,1
    - Dst: btf__new_empty
      Src: /src/libbpf/src/linker.c:470,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:471,1
    - Dst: add_new_sym
      Src: /src/libbpf/src/linker.c:476,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 92
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 488
    functionName: init_output_elf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 2
    functionsReached:
    - strset__add_str
    - add_dst_sec
    - elf_newdata
    - add_new_sym
    - btf__new_empty
    - elf_begin
    - pr_warn_elf
    - elf64_newehdr
    - elf_ndxscn
    - libbpf_get_error
    - elf64_getshdr
    - elf_newscn
    - strset__new
    linkageType: ''
    returnType: int
    signature: int init_output_elf(struct bpf_linker *linker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: linker_load_obj_file
      Src: /src/libbpf/src/linker.c:499,1
    - Dst: linker_append_sec_data
      Src: /src/libbpf/src/linker.c:500,1
    - Dst: linker_append_elf_syms
      Src: /src/libbpf/src/linker.c:501,1
    - Dst: linker_append_elf_relos
      Src: /src/libbpf/src/linker.c:502,1
    - Dst: linker_append_btf
      Src: /src/libbpf/src/linker.c:503,1
    - Dst: linker_append_btf_ext
      Src: /src/libbpf/src/linker.c:504,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:507,1
    - Dst: btf__free
      Src: /src/libbpf/src/linker.c:508,1
    - Dst: btf_ext__free
      Src: /src/libbpf/src/linker.c:509,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:510,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:511,1
    - Dst: elf_end
      Src: /src/libbpf/src/linker.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - linker
    - fd
    - filename
    argTypes:
    - struct bpf_linker*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 516
    functionName: bpf_linker_add_file
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - linker_append_elf_syms
    - linker_append_sec_data
    - btf__free
    - linker_load_obj_file
    - btf_ext__free
    - elf_end
    - free
    - linker_append_btf_ext
    - linker_append_elf_relos
    - linker_append_btf
    linkageType: ''
    returnType: int
    signature: "int bpf_linker_add_file(struct bpf_linker *linker, int fd,\n\t\t\t
      \      const char *filename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/linker.c:523,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:524,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:527,1
    - Dst: open
      Src: /src/libbpf/src/linker.c:529,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:532,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:532,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:533,1
    - Dst: bpf_linker_add_file
      Src: /src/libbpf/src/linker.c:536,1
    - Dst: close
      Src: /src/libbpf/src/linker.c:537,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - linker
    - filename
    - opts
    argTypes:
    - struct bpf_linker*
    - char*
    - struct bpf_linker_file_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 539
    functionName: bpf_linker__add_file
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - open
    - bpf_linker_add_file
    - close
    - OPTS_VALID
    - errstr
    - pr_warn
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_linker__add_file(struct bpf_linker *linker, const char *filename,\n\t\t\t
      const struct bpf_linker_file_opts *opts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/linker.c:547,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:548,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:551,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:554,1
    - Dst: snprintf
      Src: /src/libbpf/src/linker.c:556,1
    - Dst: bpf_linker_add_file
      Src: /src/libbpf/src/linker.c:557,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - linker
    - fd
    - opts
    argTypes:
    - struct bpf_linker*
    - int
    - struct bpf_linker_file_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: bpf_linker__add_fd
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - OPTS_VALID
    - bpf_linker_add_file
    - snprintf
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: "int bpf_linker__add_fd(struct bpf_linker *linker, int fd,\n\t\t       const
      struct bpf_linker_file_opts *opts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPTS_VALID
      Src: /src/libbpf/src/linker.c:567,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:568,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:571,1
    - Dst: snprintf
      Src: /src/libbpf/src/linker.c:573,1
    - Dst: sys_memfd_create
      Src: /src/libbpf/src/linker.c:575,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:578,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:578,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:579,1
    - Dst: write
      Src: /src/libbpf/src/linker.c:584,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:587,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:587,1
    - Dst: bpf_linker_add_file
      Src: /src/libbpf/src/linker.c:593,1
    - Dst: close
      Src: /src/libbpf/src/linker.c:595,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - linker
    - buf
    - buf_sz
    - opts
    argTypes:
    - struct bpf_linker*
    - void*
    - size_t
    - struct bpf_linker_file_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 597
    functionName: bpf_linker__add_buf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - libbpf_err
    - bpf_linker_add_file
    - close
    - OPTS_VALID
    - errstr
    - snprintf
    - write
    - pr_warn
    - sys_memfd_create
    linkageType: ''
    returnType: int
    signature: "int bpf_linker__add_buf(struct bpf_linker *linker, void *buf, size_t
      buf_sz,\n\t\t\tconst struct bpf_linker_file_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libbpf/src/linker.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: is_dwarf_sec_name
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool is_dwarf_sec_name(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:620,1
    - Dst: is_dwarf_sec_name
      Src: /src/libbpf/src/linker.c:624,1
    - Dst: strncmp
      Src: /src/libbpf/src/linker.c:627,1
    - Dst: is_dwarf_sec_name
      Src: /src/libbpf/src/linker.c:630,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:634,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:635,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - sec
    argTypes:
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 640
    functionName: is_ignored_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    - is_dwarf_sec_name
    linkageType: ''
    returnType: bool
    signature: bool is_ignored_sec(struct src_sec *sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:647,1
    - Dst: memset
      Src: /src/libbpf/src/linker.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - sec_name
    argTypes:
    - struct src_obj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 662
    functionName: add_src_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    linkageType: ''
    returnType: struct src_sec
    signature: struct src_sec *add_src_sec(struct src_obj *obj, const char *sec_name)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: pr_debug
      Src: /src/libbpf/src/linker.c:683,1
    - Dst: elf_begin
      Src: /src/libbpf/src/linker.c:685,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:687,1
    - Dst: elf64_getehdr
      Src: /src/libbpf/src/linker.c:692,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:694,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:702,1
    - Dst: pr_debug
      Src: /src/libbpf/src/linker.c:708,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:712,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:720,1
    - Dst: elf_getshdrstrndx
      Src: /src/libbpf/src/linker.c:724,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:725,1
    - Dst: elf_nextscn
      Src: /src/libbpf/src/linker.c:730,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/linker.c:731,1
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/linker.c:734,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:736,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/linker.c:741,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:743,1
    - Dst: elf_getdata
      Src: /src/libbpf/src/linker.c:748,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:750,1
    - Dst: add_src_sec
      Src: /src/libbpf/src/linker.c:755,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/linker.c:762,1
    - Dst: is_ignored_sec
      Src: /src/libbpf/src/linker.c:764,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:773,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:782,1
    - Dst: btf__new
      Src: /src/libbpf/src/linker.c:783,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:784,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:786,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:787,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:793,1
    - Dst: btf_ext__new
      Src: /src/libbpf/src/linker.c:794,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:795,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:797,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:798,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:814,1
    - Dst: linker_sanity_check_elf
      Src: /src/libbpf/src/linker.c:821,1
    - Dst: linker_sanity_check_btf
      Src: /src/libbpf/src/linker.c:822,1
    - Dst: linker_sanity_check_btf_ext
      Src: /src/libbpf/src/linker.c:823,1
    - Dst: linker_fixup_btf
      Src: /src/libbpf/src/linker.c:824,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 113
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 664
    functionDepth: 7
    functionLinenumber: 664
    functionLinenumberEnd: 827
    functionName: linker_load_obj_file
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - elf64_getehdr
    - add_src_sec
    - btf_ext__new
    - elf_getdata
    - strcmp
    - pr_debug
    - linker_sanity_check_btf_ext
    - linker_sanity_check_btf
    - libbpf_get_error
    - elf_begin
    - pr_warn_elf
    - errstr
    - linker_sanity_check_elf
    - linker_fixup_btf
    - elf64_getshdr
    - btf__new
    - elf_nextscn
    - is_ignored_sec
    - pr_warn
    - elf_getshdrstrndx
    - elf_ndxscn
    - elf_strptr
    linkageType: ''
    returnType: int
    signature: "int linker_load_obj_file(struct bpf_linker *linker,\n\t\t\t\tstruct
      src_obj *obj)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:835,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:839,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:847,1
    - Dst: is_dwarf_sec_name
      Src: /src/libbpf/src/linker.c:851,1
    - Dst: is_pow_of_2
      Src: /src/libbpf/src/linker.c:854,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:855,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:861,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:868,1
    - Dst: linker_sanity_check_elf_symtab
      Src: /src/libbpf/src/linker.c:876,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:885,1
    - Dst: linker_sanity_check_elf_relos
      Src: /src/libbpf/src/linker.c:895,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:902,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 909
    functionName: linker_sanity_check_elf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - is_pow_of_2
    - is_dwarf_sec_name
    - linker_sanity_check_elf_relos
    - linker_sanity_check_elf_symtab
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int linker_sanity_check_elf(struct src_obj *obj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:923,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:929,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/linker.c:937,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/linker.c:938,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/linker.c:939,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:945,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:951,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:956,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:963,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:971,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 2
    argNames:
    - obj
    - sec
    argTypes:
    - struct src_obj*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 983
    functionName: linker_sanity_check_elf_symtab
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - ELF64_ST_VISIBILITY
    - ELF64_ST_BIND
    - ELF64_ST_TYPE
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int linker_sanity_check_elf_symtab(struct src_obj *obj, struct src_sec
      *sec)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:998,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1005,1
    - Dst: strncmp
      Src: /src/libbpf/src/linker.c:1012,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1013,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1014,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1025,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/linker.c:1035,1
    - Dst: ELF64_R_TYPE
      Src: /src/libbpf/src/linker.c:1036,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1040,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1046,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1053,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - obj
    - sec
    argTypes:
    - struct src_obj*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1061
    functionName: linker_sanity_check_elf_relos
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - ELF64_R_TYPE
    - strcmp
    - strncmp
    - pr_warn
    - ELF64_R_SYM
    linkageType: ''
    returnType: int
    signature: int linker_sanity_check_elf_relos(struct src_obj *obj, struct src_sec
      *sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - type_id
    - ctx
    argTypes:
    - __u32*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: check_btf_type_id
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf__type_cnt
    linkageType: ''
    returnType: int
    signature: int check_btf_type_id(__u32 *type_id, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str_off
    - ctx
    argTypes:
    - __u32*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1084
    functionName: check_btf_str_off
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf__str_by_offset
    linkageType: ''
    returnType: int
    signature: int check_btf_str_off(__u32 *str_off, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:1094,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:1099,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/linker.c:1101,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/linker.c:1104,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/linker.c:1109,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/linker.c:1112,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1119
    functionName: linker_sanity_check_btf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - btf_type_by_id
    - btf_field_iter_next
    - btf_field_iter_init
    - btf__str_by_offset
    - btf__type_cnt
    linkageType: ''
    returnType: int
    signature: int linker_sanity_check_btf(struct src_obj *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_ext_visit_type_ids
      Src: /src/libbpf/src/linker.c:1132,1
    - Dst: btf_ext_visit_str_offs
      Src: /src/libbpf/src/linker.c:1133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1138
    functionName: linker_sanity_check_btf_ext
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - btf_ext_visit_type_ids
    - btf_ext_visit_str_offs
    linkageType: ''
    returnType: int
    signature: int linker_sanity_check_btf_ext(struct src_obj *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: elf_newscn
      Src: /src/libbpf/src/linker.c:1155,1
    - Dst: elf_newdata
      Src: /src/libbpf/src/linker.c:1158,1
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/linker.c:1161,1
    - Dst: elf_ndxscn
      Src: /src/libbpf/src/linker.c:1168,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/linker.c:1170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - linker
    - dst_sec
    - src_sec
    argTypes:
    - struct bpf_linker*
    - struct dst_sec*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1194
    functionName: init_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strset__add_str
    - elf_newdata
    - elf_ndxscn
    - elf64_getshdr
    - elf_newscn
    linkageType: ''
    returnType: int
    signature: int init_sec(struct bpf_linker *linker, struct dst_sec *dst_sec, struct
      src_sec *src_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - linker
    - sec_name
    argTypes:
    - struct bpf_linker*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: find_dst_sec_by_name
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct dst_sec
    signature: struct dst_sec *find_dst_sec_by_name(struct bpf_linker *linker, const
      char *sec_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1217,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1221,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct dst_sec*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1230
    functionName: secs_match
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: bool secs_match(struct dst_sec *dst, struct src_sec *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libbpf/src/linker.c:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst_sec
    - src_sec
    argTypes:
    - struct dst_sec*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    functionName: sec_content_is_same
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sec_content_is_same(struct dst_sec *dst_sec, struct src_sec *src_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sec
    argTypes:
    - struct dst_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1247
    functionName: is_exec_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_exec_sec(struct dst_sec *sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_insn_bswap
      Src: /src/libbpf/src/linker.c:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - raw_data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1257
    functionName: exec_sec_bswap
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - bpf_insn_bswap
    linkageType: ''
    returnType: void
    signature: void exec_sec_bswap(void *raw_data, int size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_sec
      Src: /src/libbpf/src/linker.c:1279,1
    - Dst: realloc
      Src: /src/libbpf/src/linker.c:1297,1
    - Dst: memset
      Src: /src/libbpf/src/linker.c:1315,1
    - Dst: memcpy
      Src: /src/libbpf/src/linker.c:1317,1
    - Dst: is_exec_sec
      Src: /src/libbpf/src/linker.c:1320,1
    - Dst: exec_sec_bswap
      Src: /src/libbpf/src/linker.c:1321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - linker
    - dst
    - src
    argTypes:
    - struct bpf_linker*
    - struct dst_sec*
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1334
    functionName: extend_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memset
    - exec_sec_bswap
    - init_sec
    - realloc
    - is_exec_sec
    - memcpy
    linkageType: ''
    returnType: int
    signature: int extend_sec(struct bpf_linker *linker, struct dst_sec *dst, struct
      src_sec *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sec
    argTypes:
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1344
    functionName: is_data_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_data_sec(struct src_sec *sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sec
    argTypes:
    - struct src_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1351
    functionName: is_relo_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_relo_sec(struct src_sec *sec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_data_sec
      Src: /src/libbpf/src/linker.c:1362,1
    - Dst: find_dst_sec_by_name
      Src: /src/libbpf/src/linker.c:1365,1
    - Dst: add_dst_sec
      Src: /src/libbpf/src/linker.c:1367,1
    - Dst: init_sec
      Src: /src/libbpf/src/linker.c:1370,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1372,1
    - Dst: secs_match
      Src: /src/libbpf/src/linker.c:1376,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1377,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1382,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1383,1
    - Dst: sec_content_is_same
      Src: /src/libbpf/src/linker.c:1384,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1385,1
    - Dst: extend_sec
      Src: /src/libbpf/src/linker.c:1397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1403
    functionName: linker_append_sec_data
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - add_dst_sec
    - sec_content_is_same
    - strcmp
    - init_sec
    - extend_sec
    - secs_match
    - find_dst_sec_by_name
    - is_data_sec
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int linker_append_sec_data(struct bpf_linker *linker, struct src_obj
      *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/linker.c:1413,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/linker.c:1424,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1426,1
    - Dst: linker_append_elf_sym
      Src: /src/libbpf/src/linker.c:1430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1436
    functionName: linker_append_elf_syms
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - calloc
    - pr_warn
    - linker_append_elf_sym
    - elf_strptr
    linkageType: ''
    returnType: int
    signature: int linker_append_elf_syms(struct bpf_linker *linker, struct src_obj
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linker
    - sym_idx
    argTypes:
    - struct bpf_linker*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1444
    functionName: get_sym_by_idx
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Elf64_Sym
    signature: Elf64_Sym *get_sym_by_idx(struct bpf_linker *linker, size_t sym_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strset__data
      Src: /src/libbpf/src/linker.c:1454,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - linker
    - sym_name
    argTypes:
    - struct bpf_linker*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1461
    functionName: find_glob_sym
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strset__data
    - strcmp
    linkageType: ''
    returnType: struct glob_sym
    signature: struct glob_sym *find_glob_sym(struct bpf_linker *linker, const char
      *sym_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:1467,1
    - Dst: memset
      Src: /src/libbpf/src/linker.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1480
    functionName: add_glob_sym
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - memset
    - libbpf_reallocarray
    linkageType: ''
    returnType: struct glob_sym
    signature: struct glob_sym *add_glob_sym(struct bpf_linker *linker)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/linker.c:1493,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/linker.c:1494,1
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/linker.c:1497,1
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/linker.c:1497,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1498,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1499,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1500,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1501,1
    - Dst: btf_is_fwd
      Src: /src/libbpf/src/linker.c:1506,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1507,1
    - Dst: btf_is_union
      Src: /src/libbpf/src/linker.c:1507,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1509,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/linker.c:1509,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1511,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1512,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1512,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1514,1
    - Dst: btf_is_union
      Src: /src/libbpf/src/linker.c:1514,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1516,1
    - Dst: btf_is_struct
      Src: /src/libbpf/src/linker.c:1516,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1518,1
    - Dst: btf_kflag
      Src: /src/libbpf/src/linker.c:1519,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1519,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:1524,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:1524,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1525,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1526,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1526,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:1530,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1538,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1539,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1540,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1541,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1542,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:1550,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1560,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1561,1
    - Dst: btf_array
      Src: /src/libbpf/src/linker.c:1576,1
    - Dst: btf_array
      Src: /src/libbpf/src/linker.c:1577,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/linker.c:1581,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/linker.c:1582,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1584,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:1593,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:1594,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1596,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1610,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1610,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1611,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1612,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1612,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1612,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1616,1
    - Dst: btf_members
      Src: /src/libbpf/src/linker.c:1617,1
    - Dst: btf_members
      Src: /src/libbpf/src/linker.c:1618,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1620,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1621,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1622,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1623,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1628,1
    - Dst: glob_sym_btf_matches
      Src: /src/libbpf/src/linker.c:1632,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1641,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1641,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1642,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1643,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1643,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1643,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1647,1
    - Dst: btf_params
      Src: /src/libbpf/src/linker.c:1648,1
    - Dst: btf_params
      Src: /src/libbpf/src/linker.c:1649,1
    - Dst: glob_sym_btf_matches
      Src: /src/libbpf/src/linker.c:1652,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1670,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1671,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 149
    argCount: 6
    argNames:
    - sym_name
    - exact
    - btf1
    - id1
    - btf2
    - id2
    argTypes:
    - char*
    - bool
    - struct btf*
    - __u32
    - struct btf*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1482
    functionDepth: 3
    functionLinenumber: 1482
    functionLinenumberEnd: 1674
    functionName: glob_sym_btf_matches
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - btf_kind_str
    - btf_func_linkage
    - glob_sym_btf_matches
    - btf_params
    - strcmp
    - btf_var
    - btf__str_by_offset
    - btf_array
    - btf_vlen
    - skip_mods_and_typedefs
    - btf_kind
    - btf_is_fwd
    - btf_kflag
    - btf_members
    - pr_warn
    - btf_is_struct
    - btf_is_union
    linkageType: ''
    returnType: bool
    signature: "bool glob_sym_btf_matches(const char *sym_name, bool exact,\n\t\t\t\t
      const struct btf *btf1, __u32 id1,\n\t\t\t\t const struct btf *btf2, __u32 id2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: glob_sym_btf_matches
      Src: /src/libbpf/src/linker.c:1701,1
    - Dst: glob_sym_btf_matches
      Src: /src/libbpf/src/linker.c:1718,1
    - Dst: snprintf
      Src: /src/libbpf/src/linker.c:1750,1
    - Dst: map_defs_match
      Src: /src/libbpf/src/linker.c:1752,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1760,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 7
    argNames:
    - sym_name
    - main_btf
    - main_def
    - main_inner_def
    - extra_btf
    - extra_def
    - extra_inner_def
    argTypes:
    - char*
    - struct btf*
    - struct btf_map_def*
    - struct btf_map_def*
    - struct btf*
    - struct btf_map_def*
    - struct btf_map_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1676
    functionDepth: 4
    functionLinenumber: 1676
    functionLinenumberEnd: 1762
    functionName: map_defs_match
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - map_defs_match
    - glob_sym_btf_matches
    - pr_warn
    - snprintf
    linkageType: ''
    returnType: bool
    signature: "bool map_defs_match(const char *sym_name,\n\t\t\t   const struct btf
      *main_btf,\n\t\t\t   const struct btf_map_def *main_def,\n\t\t\t   const struct
      btf_map_def *main_inner_def,\n\t\t\t   const struct btf *extra_btf,\n\t\t\t
      \  const struct btf_map_def *extra_def,\n\t\t\t   const struct btf_map_def *extra_inner_def)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:1773,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:1774,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1775,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/linker.c:1778,1
    - Dst: parse_btf_map_def
      Src: /src/libbpf/src/linker.c:1780,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1782,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:1787,1
    - Dst: skip_mods_and_typedefs
      Src: /src/libbpf/src/linker.c:1788,1
    - Dst: parse_btf_map_def
      Src: /src/libbpf/src/linker.c:1789,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1792,1
    - Dst: map_defs_match
      Src: /src/libbpf/src/linker.c:1800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - sym_name
    - linker
    - glob_sym
    - obj
    - sym
    - btf_id
    argTypes:
    - char*
    - struct bpf_linker*
    - struct glob_sym*
    - struct src_obj*
    - Elf64_Sym*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1764
    functionDepth: 6
    functionLinenumber: 1764
    functionLinenumberEnd: 1802
    functionName: glob_map_defs_match
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - parse_btf_map_def
    - btf__type_by_id
    - map_defs_match
    - skip_mods_and_typedefs
    - btf_is_var
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: "bool glob_map_defs_match(const char *sym_name,\n\t\t\t\tstruct bpf_linker
      *linker, struct glob_sym *glob_sym,\n\t\t\t\tstruct src_obj *obj, Elf64_Sym
      *sym, int btf_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1814,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:1818,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:1819,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/linker.c:1819,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1820,1
    - Dst: btf_kind_str
      Src: /src/libbpf/src/linker.c:1821,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1826,1
    - Dst: glob_map_defs_match
      Src: /src/libbpf/src/linker.c:1827,1
    - Dst: glob_sym_btf_matches
      Src: /src/libbpf/src/linker.c:1829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 7
    argNames:
    - sym_name
    - linker
    - glob_sym
    - obj
    - sym
    - sym_idx
    - btf_id
    argTypes:
    - char*
    - struct bpf_linker*
    - struct glob_sym*
    - struct src_obj*
    - Elf64_Sym*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1804
    functionDepth: 7
    functionLinenumber: 1804
    functionLinenumberEnd: 1834
    functionName: glob_syms_match
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf_kind_str
    - btf__type_by_id
    - glob_sym_btf_matches
    - glob_map_defs_match
    - strcmp
    - btf_is_func
    - btf_is_var
    - pr_warn
    linkageType: ''
    returnType: bool
    signature: "bool glob_syms_match(const char *sym_name,\n\t\t\t    struct bpf_linker
      *linker, struct glob_sym *glob_sym,\n\t\t\t    struct src_obj *obj, Elf64_Sym
      *sym, size_t sym_idx, int btf_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:1838,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:1838,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/linker.c:1839,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/linker.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct btf_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1836
    functionDepth: 3
    functionLinenumber: 1836
    functionLinenumberEnd: 1840
    functionName: btf_is_non_static
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf_var
    - btf_func_linkage
    - btf_is_var
    - btf_is_func
    linkageType: ''
    returnType: bool
    signature: bool btf_is_non_static(const struct btf_type *t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1851,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:1855,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:1857,1
    - Dst: btf_is_non_static
      Src: /src/libbpf/src/linker.c:1862,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1863,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1864,1
    - Dst: btf_is_datasec
      Src: /src/libbpf/src/linker.c:1872,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/linker.c:1875,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1876,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:1877,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1878,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1880,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:1882,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:1882,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/linker.c:1884,1
    - Dst: btf_func_linkage
      Src: /src/libbpf/src/linker.c:1884,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1888,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:1907,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 5
    argNames:
    - obj
    - sym
    - sym_name
    - out_btf_sec_id
    - out_btf_id
    argTypes:
    - struct src_obj*
    - Elf64_Sym*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1842
    functionDepth: 4
    functionLinenumber: 1842
    functionLinenumberEnd: 1909
    functionName: find_glob_sym_btf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf__type_by_id
    - btf_func_linkage
    - strcmp
    - btf_var
    - btf_is_non_static
    - btf__str_by_offset
    - btf_vlen
    - btf_is_func
    - btf_var_secinfos
    - btf_is_var
    - btf__type_cnt
    - btf_is_datasec
    - pr_warn
    linkageType: ''
    returnType: int
    signature: "int find_glob_sym_btf(struct src_obj *obj, Elf64_Sym *sym, const char
      *sym_name,\n\t\t\t     int *out_btf_sec_id, int *out_btf_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - sec_name
    argTypes:
    - struct src_obj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1924
    functionName: find_src_sec_by_name
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct src_sec
    signature: struct src_sec *find_src_sec_by_name(struct src_obj *obj, const char
      *sec_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:1929,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:1930,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:1938,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:1939,1
    - Dst: btf_type_info
      Src: /src/libbpf/src/linker.c:1943,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:1946,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:1947,1
    - Dst: btf_params
      Src: /src/libbpf/src/linker.c:1960,1
    - Dst: btf_params
      Src: /src/libbpf/src/linker.c:1961,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:1962,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:1967,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/linker.c:1968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - dst_btf
    - dst_id
    - src_btf
    - src_id
    argTypes:
    - struct btf*
    - int
    - struct btf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1926
    functionDepth: 6
    functionLinenumber: 1926
    functionLinenumberEnd: 1974
    functionName: complete_extern_btf_info
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf_type_info
    - btf_type_by_id
    - btf_params
    - btf_var
    - btf__str_by_offset
    - btf_vlen
    - btf_is_var
    - btf__add_str
    linkageType: ''
    returnType: int
    signature: "int complete_extern_btf_info(struct btf *dst_btf, int dst_id,\n\t\t\t\t
      \   struct btf *src_btf, int src_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_INFO
      Src: /src/libbpf/src/linker.c:1978,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/linker.c:1978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sym
    - sym_bind
    argTypes:
    - Elf64_Sym*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1979
    functionName: sym_update_bind
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - ELF64_ST_TYPE
    - ELF64_ST_INFO
    linkageType: ''
    returnType: void
    signature: void sym_update_bind(Elf64_Sym *sym, int sym_bind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_INFO
      Src: /src/libbpf/src/linker.c:1983,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/linker.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sym
    - sym_type
    argTypes:
    - Elf64_Sym*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1984
    functionName: sym_update_type
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - ELF64_ST_BIND
    - ELF64_ST_INFO
    linkageType: ''
    returnType: void
    signature: void sym_update_type(Elf64_Sym *sym, int sym_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sym
    - sym_vis
    argTypes:
    - Elf64_Sym*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1993
    functionName: sym_update_visibility
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sym_update_visibility(Elf64_Sym *sym, int sym_vis)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/linker.c:2007,1
    - Dst: ELF64_ST_BIND
      Src: /src/libbpf/src/linker.c:2008,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/linker.c:2009,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2014,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:2029,1
    - Dst: find_glob_sym_btf
      Src: /src/libbpf/src/linker.c:2037,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:2045,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2046,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:2054,1
    - Dst: find_src_sec_by_name
      Src: /src/libbpf/src/linker.c:2055,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2057,1
    - Dst: find_glob_sym
      Src: /src/libbpf/src/linker.c:2064,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2078,1
    - Dst: glob_syms_match
      Src: /src/libbpf/src/linker.c:2083,1
    - Dst: get_sym_by_idx
      Src: /src/libbpf/src/linker.c:2086,1
    - Dst: sym_update_bind
      Src: /src/libbpf/src/linker.c:2097,1
    - Dst: ELF64_ST_VISIBILITY
      Src: /src/libbpf/src/linker.c:2107,1
    - Dst: sym_update_visibility
      Src: /src/libbpf/src/linker.c:2108,1
    - Dst: sym_update_type
      Src: /src/libbpf/src/linker.c:2130,1
    - Dst: complete_extern_btf_info
      Src: /src/libbpf/src/linker.c:2139,1
    - Dst: strset__add_str
      Src: /src/libbpf/src/linker.c:2151,1
    - Dst: add_new_sym
      Src: /src/libbpf/src/linker.c:2155,1
    - Dst: add_glob_sym
      Src: /src/libbpf/src/linker.c:2174,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 5
    argNames:
    - linker
    - obj
    - sym
    - sym_name
    - src_sym_idx
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    - Elf64_Sym*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 1995
    functionDepth: 8
    functionLinenumber: 1995
    functionLinenumberEnd: 2194
    functionName: linker_append_elf_sym
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - add_glob_sym
    - strset__add_str
    - ELF64_ST_VISIBILITY
    - ELF64_ST_BIND
    - strcmp
    - find_src_sec_by_name
    - sym_update_visibility
    - find_glob_sym_btf
    - sym_update_type
    - btf__str_by_offset
    - complete_extern_btf_info
    - find_glob_sym
    - btf__type_by_id
    - add_new_sym
    - glob_syms_match
    - pr_warn
    - sym_update_bind
    - get_sym_by_idx
    - ELF64_ST_TYPE
    linkageType: ''
    returnType: int
    signature: "int linker_append_elf_sym(struct bpf_linker *linker, struct src_obj
      *obj,\n\t\t\t\t Elf64_Sym *sym, const char *sym_name, int src_sym_idx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_relo_sec
      Src: /src/libbpf/src/linker.c:2208,1
    - Dst: find_dst_sec_by_name
      Src: /src/libbpf/src/linker.c:2216,1
    - Dst: add_dst_sec
      Src: /src/libbpf/src/linker.c:2218,1
    - Dst: init_sec
      Src: /src/libbpf/src/linker.c:2221,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2223,1
    - Dst: secs_match
      Src: /src/libbpf/src/linker.c:2226,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2227,1
    - Dst: extend_sec
      Src: /src/libbpf/src/linker.c:2239,1
    - Dst: ELF64_R_SYM
      Src: /src/libbpf/src/linker.c:2250,1
    - Dst: ELF64_R_TYPE
      Src: /src/libbpf/src/linker.c:2255,1
    - Dst: ELF64_R_INFO
      Src: /src/libbpf/src/linker.c:2256,1
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/linker.c:2258,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2196
    functionDepth: 3
    functionLinenumber: 2196
    functionLinenumberEnd: 2287
    functionName: linker_append_elf_relos
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - ELF64_ST_TYPE
    - is_relo_sec
    - add_dst_sec
    - ELF64_R_TYPE
    - init_sec
    - extend_sec
    - secs_match
    - find_dst_sec_by_name
    - ELF64_R_INFO
    - pr_warn
    - ELF64_R_SYM
    linkageType: ''
    returnType: int
    signature: int linker_append_elf_relos(struct bpf_linker *linker, struct src_obj
      *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ELF64_ST_TYPE
      Src: /src/libbpf/src/linker.c:2301,1
    - Dst: elf_strptr
      Src: /src/libbpf/src/linker.c:2304,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:2308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - obj
    - sec_idx
    - sym_type
    - sym_name
    argTypes:
    - struct src_obj*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2315
    functionName: find_sym_by_name
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ELF64_ST_TYPE
    - elf_strptr
    linkageType: ''
    returnType: Elf64_Sym
    signature: "Elf64_Sym *find_sym_by_name(struct src_obj *obj, size_t sec_idx,\n\t\t\t\t
      \  int sym_type, const char *sym_name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:2326,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:2331,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:2332,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2335,1
    - Dst: find_src_sec_by_name
      Src: /src/libbpf/src/linker.c:2336,1
    - Dst: strcmp
      Src: /src/libbpf/src/linker.c:2366,1
    - Dst: add_src_sec
      Src: /src/libbpf/src/linker.c:2369,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/linker.c:2381,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:2382,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:2383,1
    - Dst: btf_is_var
      Src: /src/libbpf/src/linker.c:2389,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2392,1
    - Dst: btf_var
      Src: /src/libbpf/src/linker.c:2393,1
    - Dst: find_sym_by_name
      Src: /src/libbpf/src/linker.c:2399,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2410
    functionName: linker_fixup_btf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - add_src_sec
    - btf_type_by_id
    - btf__type_by_id
    - find_sym_by_name
    - strcmp
    - btf_var
    - find_src_sec_by_name
    - btf__str_by_offset
    - btf_vlen
    - btf_kind
    - btf_var_secinfos
    - btf_is_var
    - btf__type_cnt
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int linker_fixup_btf(struct src_obj *obj)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:2421,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:2422,1
    - Dst: calloc
      Src: /src/libbpf/src/linker.c:2424,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:2431,1
    - Dst: btf_kind
      Src: /src/libbpf/src/linker.c:2434,1
    - Dst: btf_is_non_static
      Src: /src/libbpf/src/linker.c:2437,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2439,1
    - Dst: find_glob_sym
      Src: /src/libbpf/src/linker.c:2440,1
    - Dst: btf__add_type
      Src: /src/libbpf/src/linker.c:2467,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2469,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:2483,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:2485,1
    - Dst: btf_field_iter_init
      Src: /src/libbpf/src/linker.c:2489,1
    - Dst: btf_field_iter_next
      Src: /src/libbpf/src/linker.c:2493,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2498,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:2519,1
    - Dst: btf__type_by_id
      Src: /src/libbpf/src/linker.c:2545,1
    - Dst: btf_var_secinfos
      Src: /src/libbpf/src/linker.c:2546,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/linker.c:2547,1
    - Dst: btf_type_by_id
      Src: /src/libbpf/src/linker.c:2553,1
    - Dst: btf_is_non_static
      Src: /src/libbpf/src/linker.c:2554,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2555,1
    - Dst: find_glob_sym
      Src: /src/libbpf/src/linker.c:2556,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2558,1
    - Dst: btf_is_func
      Src: /src/libbpf/src/linker.c:2573,1
    - Dst: btf__resolve_size
      Src: /src/libbpf/src/linker.c:2581,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2583,1
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:2591,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 100
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2412
    functionDepth: 9
    functionLinenumber: 2412
    functionLinenumberEnd: 2611
    functionName: linker_append_btf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - btf_type_by_id
    - btf__type_by_id
    - btf_field_iter_next
    - btf__resolve_size
    - libbpf_reallocarray
    - btf_field_iter_init
    - btf_is_non_static
    - btf__str_by_offset
    - btf__add_type
    - btf_vlen
    - calloc
    - btf_is_func
    - btf_kind
    - btf_var_secinfos
    - btf__type_cnt
    - pr_warn
    - find_glob_sym
    linkageType: ''
    returnType: int
    signature: int linker_append_btf(struct bpf_linker *linker, struct src_obj *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_reallocarray
      Src: /src/libbpf/src/linker.c:2617,1
    - Dst: memcpy
      Src: /src/libbpf/src/linker.c:2623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ext_data
    - src_rec
    argTypes:
    - struct btf_ext_sec_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2613
    functionDepth: 2
    functionLinenumber: 2613
    functionLinenumberEnd: 2628
    functionName: add_btf_ext_rec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - libbpf_reallocarray
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *add_btf_ext_rec(struct btf_ext_sec_data *ext_data, const void
      *src_rec)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: for_each_btf_ext_sec
      Src: /src/libbpf/src/linker.c:2642,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/linker.c:2645,1
    - Dst: find_src_sec_by_name
      Src: /src/libbpf/src/linker.c:2646,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2648,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2656,1
    - Dst: for_each_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2660,1
    - Dst: add_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2661,1
    - Dst: for_each_btf_ext_sec
      Src: /src/libbpf/src/linker.c:2671,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/linker.c:2674,1
    - Dst: find_src_sec_by_name
      Src: /src/libbpf/src/linker.c:2675,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2677,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2685,1
    - Dst: for_each_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2689,1
    - Dst: add_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2690,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2696,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/linker.c:2697,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2702,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/linker.c:2703,1
    - Dst: for_each_btf_ext_sec
      Src: /src/libbpf/src/linker.c:2713,1
    - Dst: btf__name_by_offset
      Src: /src/libbpf/src/linker.c:2716,1
    - Dst: find_src_sec_by_name
      Src: /src/libbpf/src/linker.c:2717,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2719,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2727,1
    - Dst: for_each_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2731,1
    - Dst: add_btf_ext_rec
      Src: /src/libbpf/src/linker.c:2732,1
    - Dst: btf__str_by_offset
      Src: /src/libbpf/src/linker.c:2739,1
    - Dst: btf__add_str
      Src: /src/libbpf/src/linker.c:2740,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - linker
    - obj
    argTypes:
    - struct bpf_linker*
    - struct src_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2630
    functionDepth: 6
    functionLinenumber: 2630
    functionLinenumberEnd: 2750
    functionName: linker_append_btf_ext
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - for_each_btf_ext_rec
    - btf__name_by_offset
    - find_src_sec_by_name
    - for_each_btf_ext_sec
    - btf__str_by_offset
    - add_btf_ext_rec
    - btf__add_str
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int linker_append_btf_ext(struct bpf_linker *linker, struct src_obj
      *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:2760,1
    - Dst: finalize_btf
      Src: /src/libbpf/src/linker.c:2762,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:2764,1
    - Dst: strset__data_size
      Src: /src/libbpf/src/linker.c:2767,1
    - Dst: strset__data
      Src: /src/libbpf/src/linker.c:2768,1
    - Dst: is_exec_sec
      Src: /src/libbpf/src/linker.c:2790,1
    - Dst: exec_sec_bswap
      Src: /src/libbpf/src/linker.c:2791,1
    - Dst: elf_update
      Src: /src/libbpf/src/linker.c:2797,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:2799,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:2800,1
    - Dst: elf_update
      Src: /src/libbpf/src/linker.c:2804,1
    - Dst: pr_warn_elf
      Src: /src/libbpf/src/linker.c:2806,1
    - Dst: libbpf_err
      Src: /src/libbpf/src/linker.c:2807,1
    - Dst: elf_end
      Src: /src/libbpf/src/linker.c:2810,1
    - Dst: close
      Src: /src/libbpf/src/linker.c:2814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2752
    functionDepth: 2
    functionLinenumber: 2752
    functionLinenumberEnd: 2818
    functionName: bpf_linker__finalize
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - strset__data
    - exec_sec_bswap
    - finalize_btf
    - is_exec_sec
    - pr_warn_elf
    - close
    - elf_update
    - strset__data_size
    - elf_end
    - libbpf_err
    linkageType: ''
    returnType: int
    signature: int bpf_linker__finalize(struct bpf_linker *linker)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strset__add_str
      Src: /src/libbpf/src/linker.c:2828,1
    - Dst: elf_newscn
      Src: /src/libbpf/src/linker.c:2832,1
    - Dst: elf_newdata
      Src: /src/libbpf/src/linker.c:2835,1
    - Dst: elf64_getshdr
      Src: /src/libbpf/src/linker.c:2838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - linker
    - sec_name
    - align
    - raw_data
    - raw_sz
    argTypes:
    - struct bpf_linker*
    - char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2858
    functionName: emit_elf_data_sec
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - elf_newdata
    - strset__add_str
    - elf_newscn
    - elf64_getshdr
    linkageType: ''
    returnType: int
    signature: "int emit_elf_data_sec(struct bpf_linker *linker, const char *sec_name,\n\t\t\t
      \    size_t align, const void *raw_data, size_t raw_sz)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LIBBPF_OPTS
      Src: /src/libbpf/src/linker.c:2863,1
    - Dst: btf__type_cnt
      Src: /src/libbpf/src/linker.c:2870,1
    - Dst: btf__add_datasec
      Src: /src/libbpf/src/linker.c:2879,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2881,1
    - Dst: btf__add_datasec_var_info
      Src: /src/libbpf/src/linker.c:2889,1
    - Dst: finalize_btf_ext
      Src: /src/libbpf/src/linker.c:2894,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2896,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:2896,1
    - Dst: btf__dedup
      Src: /src/libbpf/src/linker.c:2901,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2903,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:2903,1
    - Dst: btf__set_endianness
      Src: /src/libbpf/src/linker.c:2910,1
    - Dst: btf_ext__set_endianness
      Src: /src/libbpf/src/linker.c:2912,1
    - Dst: btf__raw_data
      Src: /src/libbpf/src/linker.c:2915,1
    - Dst: emit_elf_data_sec
      Src: /src/libbpf/src/linker.c:2919,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2921,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:2921,1
    - Dst: btf_ext__raw_data
      Src: /src/libbpf/src/linker.c:2927,1
    - Dst: emit_elf_data_sec
      Src: /src/libbpf/src/linker.c:2931,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2933,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:2933,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2860
    functionDepth: 7
    functionLinenumber: 2860
    functionLinenumberEnd: 2939
    functionName: finalize_btf
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - LIBBPF_OPTS
    - btf_ext__raw_data
    - btf__add_datasec
    - finalize_btf_ext
    - btf__dedup
    - errstr
    - btf__raw_data
    - btf__set_endianness
    - btf_ext__set_endianness
    - emit_elf_data_sec
    - btf__type_cnt
    - pr_warn
    - btf__add_datasec_var_info
    linkageType: ''
    returnType: int
    signature: int finalize_btf(struct bpf_linker *linker)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: btf__add_str
      Src: /src/libbpf/src/linker.c:2952,1
    - Dst: memcpy
      Src: /src/libbpf/src/linker.c:2962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - linker
    - output
    - sec_name
    - sec_data
    argTypes:
    - struct bpf_linker*
    - void*
    - char*
    - struct btf_ext_sec_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2941
    functionDepth: 6
    functionLinenumber: 2941
    functionLinenumberEnd: 2966
    functionName: emit_btf_ext_data
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 0
    functionsReached:
    - btf__add_str
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int emit_btf_ext_data(struct bpf_linker *linker, void *output,\n\t\t\t
      \    const char *sec_name, struct btf_ext_sec_data *sec_data)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2987,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:2998,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:3009,1
    - Dst: calloc
      Src: /src/libbpf/src/linker.c:3035,1
    - Dst: emit_btf_ext_data
      Src: /src/libbpf/src/linker.c:3061,1
    - Dst: emit_btf_ext_data
      Src: /src/libbpf/src/linker.c:3078,1
    - Dst: emit_btf_ext_data
      Src: /src/libbpf/src/linker.c:3095,1
    - Dst: btf_ext__new
      Src: /src/libbpf/src/linker.c:3105,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/src/linker.c:3106,1
    - Dst: pr_warn
      Src: /src/libbpf/src/linker.c:3109,1
    - Dst: errstr
      Src: /src/libbpf/src/linker.c:3109,1
    - Dst: free
      Src: /src/libbpf/src/linker.c:3114,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 1
    argNames:
    - linker
    argTypes:
    - struct bpf_linker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 2968
    functionDepth: 7
    functionLinenumber: 2968
    functionLinenumberEnd: 3116
    functionName: finalize_btf_ext
    functionSourceFile: /src/libbpf/src/linker.c
    functionUses: 1
    functionsReached:
    - btf_ext__new
    - emit_btf_ext_data
    - errstr
    - libbpf_get_error
    - calloc
    - free
    - pr_warn
    linkageType: ''
    returnType: int
    signature: int finalize_btf_ext(struct bpf_linker *linker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kern_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:81,1
    - Dst: syscall
      Src: /src/libbpf/src/skel_internal.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cmd
    - attr
    - size
    argTypes:
    - enum bpf_cmd
    - union bpf_attr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: skel_sys_bpf
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kern_sys_bpf
    - syscall
    linkageType: ''
    returnType: int
    signature: "int skel_sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,\n\t\t\t  unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close_fd
      Src: /src/libbpf/src/skel_internal.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: close
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 73
    functionsReached:
    - close_fd
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kzalloc
      Src: /src/libbpf/src/skel_internal.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: skel_alloc
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kzalloc
    linkageType: ''
    returnType: void
    signature: void *skel_alloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kfree
      Src: /src/libbpf/src/skel_internal.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: skel_free
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kfree
    linkageType: ''
    returnType: void
    signature: void skel_free(const void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kvfree
      Src: /src/libbpf/src/skel_internal.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p
    - addr
    - sz
    argTypes:
    - void*
    - __u64
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: skel_free_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kvfree
    linkageType: ''
    returnType: void
    signature: void skel_free_map_data(void *p, __u64 addr, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kvmalloc
      Src: /src/libbpf/src/skel_internal.h:143,1
    - Dst: memcpy
      Src: /src/libbpf/src/skel_internal.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - mmap_sz
    - val_sz
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: skel_prep_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kvmalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *skel_prep_map_data(const void *val, size_t mmap_sz, size_t val_sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kvfree
      Src: /src/libbpf/src/skel_internal.h:155,1
    - Dst: bpf_map_get
      Src: /src/libbpf/src/skel_internal.h:161,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/skel_internal.h:162,1
    - Dst: bpf_map_put
      Src: /src/libbpf/src/skel_internal.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - init_val
    - mmap_sz
    - flags
    - fd
    argTypes:
    - __u64*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: skel_finalize_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - kvfree
    - bpf_map_put
    - bpf_map_get
    - IS_ERR
    linkageType: ''
    returnType: void
    signature: void *skel_finalize_map_data(__u64 *init_val, size_t mmap_sz, int flags,
      int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/skel_internal.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: skel_alloc
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *skel_alloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libbpf/src/skel_internal.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: skel_free
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void skel_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/skel_internal.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - addr
    - sz
    argTypes:
    - void*
    - __u64
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: skel_free_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void skel_free_map_data(void *p, __u64 addr, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/libbpf/src/skel_internal.h:194,1
    - Dst: memcpy
      Src: /src/libbpf/src/skel_internal.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - mmap_sz
    - val_sz
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: skel_prep_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - mmap
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *skel_prep_map_data(const void *val, size_t mmap_sz, size_t val_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/libbpf/src/skel_internal.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - init_val
    - mmap_sz
    - flags
    - fd
    argTypes:
    - __u64*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: skel_finalize_map_data
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void *skel_finalize_map_data(__u64 *init_val, size_t mmap_sz, int flags,
      int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libbpf/src/skel_internal.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: skel_closenz
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int skel_closenz(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - MEMBER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: offsetofend
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetofend(TYPE, MEMBER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:233,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:236,1
    - Dst: strscpy
      Src: /src/libbpf/src/skel_internal.h:243,1
    - Dst: strncpy
      Src: /src/libbpf/src/skel_internal.h:246,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - map_type
    - map_name
    - key_size
    - value_size
    - max_entries
    - excl_prog_hash
    - excl_prog_hash_sz
    argTypes:
    - enum bpf_map_type
    - char*
    - __u32
    - __u32
    - __u32
    - void*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 253
    functionName: skel_map_create
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - skel_sys_bpf
    - memset
    - strscpy
    - strncpy
    - offsetofend
    linkageType: ''
    returnType: int
    signature: "int skel_map_create(enum bpf_map_type map_type,\n\t\t\t\t  const char
      *map_name,\n\t\t\t\t  __u32 key_size,\n\t\t\t\t  __u32 value_size,\n\t\t\t\t
      \ __u32 max_entries,\n\t\t\t\t  const void *excl_prog_hash,\n\t\t\t\t  __u32
      excl_prog_hash_sz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:258,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:261,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fd
    - key
    - value
    - flags
    argTypes:
    - int
    - void*
    - void*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: skel_map_update_elem
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: "int skel_map_update_elem(int fd, const void *key,\n\t\t\t\t       const
      void *value, __u64 flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:272,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:275,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - key
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: skel_map_delete_elem
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: int skel_map_delete_elem(int fd, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:284,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:287,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: skel_map_get_fd_by_id
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: int skel_map_get_fd_by_id(__u32 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:295,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:298,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - prog_fd
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: skel_raw_tracepoint_open
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: int skel_raw_tracepoint_open(const char *name, int prog_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:308,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:311,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - prog_fd
    - target_fd
    - attach_type
    argTypes:
    - int
    - int
    - enum bpf_attach_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: skel_link_create
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: "int skel_link_create(int prog_fd, int target_fd,\n\t\t\t\t   enum
      bpf_attach_type attach_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:321,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:324,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: skel_map_freeze
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - memset
    - offsetofend
    - skel_sys_bpf
    linkageType: ''
    returnType: int
    signature: int skel_map_freeze(int fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:337,1
    - Dst: offsetofend
      Src: /src/libbpf/src/skel_internal.h:338,1
    - Dst: skel_map_create
      Src: /src/libbpf/src/skel_internal.h:342,1
    - Dst: skel_map_update_elem
      Src: /src/libbpf/src/skel_internal.h:350,1
    - Dst: skel_map_freeze
      Src: /src/libbpf/src/skel_internal.h:358,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:366,1
    - Dst: pr_warn
      Src: /src/libbpf/src/skel_internal.h:378,1
    - Dst: memcpy
      Src: /src/libbpf/src/skel_internal.h:381,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:387,1
    - Dst: memset
      Src: /src/libbpf/src/skel_internal.h:394,1
    - Dst: skel_sys_bpf
      Src: /src/libbpf/src/skel_internal.h:398,1
    - Dst: close
      Src: /src/libbpf/src/skel_internal.h:415,1
    - Dst: close
      Src: /src/libbpf/src/skel_internal.h:417,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 1
    argNames:
    - opts
    argTypes:
    - struct bpf_load_and_run_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 419
    functionName: bpf_load_and_run
    functionSourceFile: /src/libbpf/src/skel_internal.h
    functionUses: 0
    functionsReached:
    - skel_sys_bpf
    - memset
    - pr_warn
    - skel_map_freeze
    - close
    - skel_map_create
    - skel_map_update_elem
    - offsetofend
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bpf_load_and_run(struct bpf_load_and_run_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - archive
    - offset
    - size
    argTypes:
    - struct zip_archive*
    - __u32
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: check_access
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *check_access(struct zip_archive *archive, __u32 offset, __u32
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:152,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - archive
    - offset
    argTypes:
    - struct zip_archive*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 173
    functionName: try_parse_end_of_cd
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 0
    functionsReached:
    - check_access
    linkageType: ''
    returnType: int
    signature: int try_parse_end_of_cd(struct zip_archive *archive, __u32 offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_parse_end_of_cd
      Src: /src/libbpf/src/zip.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - archive
    argTypes:
    - struct zip_archive*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: find_cd
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 0
    functionsReached:
    - try_parse_end_of_cd
    linkageType: ''
    returnType: int
    signature: int find_cd(struct zip_archive *archive)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libbpf/src/zip.c:205,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/zip.c:207,1
    - Dst: lseek
      Src: /src/libbpf/src/zip.c:209,1
    - Dst: close
      Src: /src/libbpf/src/zip.c:211,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/zip.c:212,1
    - Dst: mmap
      Src: /src/libbpf/src/zip.c:215,1
    - Dst: close
      Src: /src/libbpf/src/zip.c:217,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/zip.c:220,1
    - Dst: malloc
      Src: /src/libbpf/src/zip.c:222,1
    - Dst: munmap
      Src: /src/libbpf/src/zip.c:224,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/zip.c:225,1
    - Dst: find_cd
      Src: /src/libbpf/src/zip.c:231,1
    - Dst: munmap
      Src: /src/libbpf/src/zip.c:233,1
    - Dst: free
      Src: /src/libbpf/src/zip.c:234,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/zip.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 239
    functionName: zip_archive_open
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 1
    functionsReached:
    - mmap
    - open
    - close
    - munmap
    - lseek
    - free
    - malloc
    - find_cd
    - ERR_PTR
    linkageType: ''
    returnType: struct zip_archive
    signature: struct zip_archive *zip_archive_open(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libbpf/src/zip.c:243,1
    - Dst: free
      Src: /src/libbpf/src/zip.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - archive
    argTypes:
    - struct zip_archive*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: zip_archive_close
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 1
    functionsReached:
    - munmap
    - free
    linkageType: ''
    returnType: void
    signature: void zip_archive_close(struct zip_archive *archive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - archive
    - offset
    argTypes:
    - struct zip_archive*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: local_file_header_at_offset
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 0
    functionsReached:
    - check_access
    linkageType: ''
    returnType: struct local_file_header
    signature: "struct local_file_header *local_file_header_at_offset(struct zip_archive
      *archive,\n\t\t\t\t\t\t\t     __u32 offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: local_file_header_at_offset
      Src: /src/libbpf/src/zip.c:266,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:274,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:279,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - archive
    - offset
    - out
    argTypes:
    - struct zip_archive*
    - __u32
    - struct zip_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 296
    functionName: get_entry_at_offset
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 0
    functionsReached:
    - local_file_header_at_offset
    - check_access
    linkageType: ''
    returnType: int
    signature: int get_entry_at_offset(struct zip_archive *archive, __u32 offset,
      struct zip_entry *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/zip.c:301,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:309,1
    - Dst: check_access
      Src: /src/libbpf/src/zip.c:315,1
    - Dst: memcmp
      Src: /src/libbpf/src/zip.c:323,1
    - Dst: get_entry_at_offset
      Src: /src/libbpf/src/zip.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - archive
    - file_name
    - out
    argTypes:
    - struct zip_archive*
    - char*
    - struct zip_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 333
    functionName: zip_archive_find_entry
    functionSourceFile: /src/libbpf/src/zip.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcmp
    - get_entry_at_offset
    - check_access
    linkageType: ''
    returnType: int
    signature: "int zip_archive_find_entry(struct zip_archive *archive, const char
      *file_name,\n\t\t\t   struct zip_entry *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: btf_var_secinfos
    functionSourceFile: /src/libbpf/src/btf_iter.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: btf_var_secinfos(t)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_iter.c:26,1
    - Dst: btf_kind
      Src: /src/libbpf/src/btf_iter.c:79,1
    - Dst: btf_vlen
      Src: /src/libbpf/src/btf_iter.c:139,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 3
    argNames:
    - it
    - t
    - iter_kind
    argTypes:
    - struct btf_field_iter*
    - struct btf_type*
    - enum btf_field_iter_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 143
    functionName: btf_field_iter_init
    functionSourceFile: /src/libbpf/src/btf_iter.c
    functionUses: 12
    functionsReached:
    - btf_vlen
    - btf_kind
    linkageType: ''
    returnType: int
    signature: "int btf_field_iter_init(struct btf_field_iter *it, struct btf_type
      *t,\n\t\t\tenum btf_field_iter_kind iter_kind)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct btf_field_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 177
    functionName: btf_field_iter_next
    functionSourceFile: /src/libbpf/src/btf_iter.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: __u32
    signature: __u32 *btf_field_iter_next(struct btf_field_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: LIBBPF_DEPRECATED
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBBPF_DEPRECATED(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: LIBBPF_DEPRECATED_SINCE
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBBPF_DEPRECATED_SINCE(major, minor, msg)
  - 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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: __LIBBPF_CURRENT_VERSION_GEQ
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __LIBBPF_CURRENT_VERSION_GEQ(major, minor)
  - 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: __LIBBPF_MARK_DEPRECATED_1_0
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __LIBBPF_MARK_DEPRECATED_1_0(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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ___libbpf_cat
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___libbpf_cat(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - NUM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ___libbpf_select
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___libbpf_select(NAME, NUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - N
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: ___libbpf_nth
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___libbpf_nth(_1, _2, _3, _4, _5, _6, N, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: ___libbpf_cnt
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___libbpf_cnt(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ___libbpf_overload
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___libbpf_overload(NAME, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: LIBBPF_OPTS
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBBPF_OPTS(TYPE, NAME, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: LIBBPF_OPTS_RESET
    functionSourceFile: /src/libbpf/src/libbpf_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBBPF_OPTS_RESET(NAME, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pos
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: bpf_object__for_each_program
    functionSourceFile: /src/libbpf/src/libbpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_object__for_each_program(pos, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pos
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: bpf_object__for_each_map
    functionSourceFile: /src/libbpf/src/libbpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_object__for_each_map(pos, obj)
  - 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: 1416
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1416
    functionName: BPF_TC_PARENT
    functionSourceFile: /src/libbpf/src/libbpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_TC_PARENT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_hash
      Src: /src/libbpf/src/strset.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: strset_hash_fn
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 0
    functionsReached:
    - str_hash
    linkageType: ''
    returnType: size_t
    signature: size_t strset_hash_fn(long key, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libbpf/src/strset.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key1
    - key2
    - ctx
    argTypes:
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: strset_equal_fn
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool strset_equal_fn(long key1, long key2, void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libbpf/src/strset.c:41,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/strset.c:46,1
    - Dst: hashmap__new
      Src: /src/libbpf/src/strset.c:48,1
    - Dst: IS_ERR
      Src: /src/libbpf/src/strset.c:49,1
    - Dst: malloc
      Src: /src/libbpf/src/strset.c:58,1
    - Dst: memcpy
      Src: /src/libbpf/src/strset.c:62,1
    - Dst: strlen
      Src: /src/libbpf/src/strset.c:66,1
    - Dst: hashmap__add
      Src: /src/libbpf/src/strset.c:70,1
    - Dst: strset__free
      Src: /src/libbpf/src/strset.c:80,1
    - Dst: ERR_PTR
      Src: /src/libbpf/src/strset.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - max_data_sz
    - init_data
    - init_data_sz
    argTypes:
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: strset__new
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 3
    functionsReached:
    - memcpy
    - IS_ERR
    - strlen
    - hashmap__add
    - strset__free
    - calloc
    - hashmap__new
    - malloc
    - ERR_PTR
    linkageType: ''
    returnType: struct strset
    signature: struct strset *strset__new(size_t max_data_sz, const char *init_data,
      size_t init_data_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_OR_NULL
      Src: /src/libbpf/src/strset.c:86,1
    - Dst: hashmap__free
      Src: /src/libbpf/src/strset.c:89,1
    - Dst: free
      Src: /src/libbpf/src/strset.c:90,1
    - Dst: free
      Src: /src/libbpf/src/strset.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct strset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: strset__free
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 5
    functionsReached:
    - hashmap__free
    - free
    - IS_ERR_OR_NULL
    linkageType: ''
    returnType: void
    signature: void strset__free(struct strset *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct strset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: strset__data_size
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strset__data_size(const struct strset *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct strset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: strset__data
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strset__data(const struct strset *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libbpf_add_mem
      Src: /src/libbpf/src/strset.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - add_sz
    argTypes:
    - struct strset*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: strset_add_str_mem
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 0
    functionsReached:
    - libbpf_add_mem
    linkageType: ''
    returnType: void
    signature: void *strset_add_str_mem(struct strset *set, size_t add_sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libbpf/src/strset.c:115,1
    - Dst: strset_add_str_mem
      Src: /src/libbpf/src/strset.c:127,1
    - Dst: memcpy
      Src: /src/libbpf/src/strset.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct strset*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: strset_str_append
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 0
    functionsReached:
    - strlen
    - strset_add_str_mem
    - memcpy
    linkageType: ''
    returnType: long
    signature: long strset_str_append(struct strset *set, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strset_str_append
      Src: /src/libbpf/src/strset.c:155,1
    - Dst: hashmap__find
      Src: /src/libbpf/src/strset.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct strset*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: strset__find_str
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 1
    functionsReached:
    - strset_str_append
    - hashmap__find
    linkageType: ''
    returnType: int
    signature: int strset__find_str(struct strset *set, const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strset_str_append
      Src: /src/libbpf/src/strset.c:178,1
    - Dst: hashmap__insert
      Src: /src/libbpf/src/strset.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - set
    - s
    argTypes:
    - struct strset*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: strset__add_str
    functionSourceFile: /src/libbpf/src/strset.c
    functionUses: 7
    functionsReached:
    - hashmap__insert
    - strset_str_append
    linkageType: ''
    returnType: int
    signature: int strset__add_str(struct strset *set, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - field
    - ','
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: __CORE_RELO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __CORE_RELO(src, field, info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: __CORE_BITFIELD_PROBE_READ
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __CORE_BITFIELD_PROBE_READ(dst, src, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: __CORE_BITFIELD_PROBE_READ
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __CORE_BITFIELD_PROBE_READ(dst, src, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: BPF_CORE_READ_BITFIELD_PROBED
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_BITFIELD_PROBED(s, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: BPF_CORE_READ_BITFIELD
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_BITFIELD(s, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - field
    - ','
    - new_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: BPF_CORE_WRITE_BITFIELD
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_WRITE_BITFIELD(s, field, new_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: ___bpf_typeof
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_typeof(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - NR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ___bpf_typeof1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_typeof1(type, NR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: ___bpf_typeof
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_typeof(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: ___bpf_field_ref1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_field_ref1(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: ___bpf_field_ref2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_field_ref2(type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: ___bpf_field_ref1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_field_ref1(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: ___bpf_field_ref2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_field_ref2(type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ___bpf_field_ref
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___bpf_field_ref(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - field
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: bpf_core_field_exists
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_field_exists(field...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - field
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: bpf_core_field_size
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_field_size(field...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - field
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: bpf_core_field_offset
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_field_offset(field...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: bpf_core_type_id_local
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_type_id_local(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: bpf_core_type_id_kernel
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_type_id_kernel(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: bpf_core_type_exists
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_type_exists(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: bpf_core_type_matches
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_type_matches(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: bpf_core_type_size
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_type_size(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enum_type
    - ','
    - enum_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: bpf_core_enum_value_exists
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_enum_value_exists(enum_type, enum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enum_type
    - ','
    - enum_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: bpf_core_enum_value_exists
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_enum_value_exists(enum_type, enum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enum_type
    - ','
    - enum_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: bpf_core_enum_value
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_enum_value(enum_type, enum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - enum_type
    - ','
    - enum_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: bpf_core_enum_value
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_enum_value(enum_type, enum_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - sz
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: bpf_core_read
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_read(dst, sz, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - sz
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: bpf_core_read_user
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_read_user(dst, sz, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - sz
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: bpf_core_read_str
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_read_str(dst, sz, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - sz
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: bpf_core_read_user_str
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_read_user_str(dst, sz, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: bpf_core_cast
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bpf_core_cast(ptr, type)
  - 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: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: ___concat
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___concat(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: ___apply
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___apply(fn, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _10
    - ','
    - __11
    - ','
    - N
    - ','
    - '...'
    - )
    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: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: ___nth
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nth(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, __11, N, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: ___narg
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___narg(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: ___empty
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___empty(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: ___last1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: ___last2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last2(a, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: ___last3
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last3(a, b, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: ___last4
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last4(a, b, c, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: ___last5
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last5(a, b, c, d, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: ___last6
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last6(a, b, c, d, e, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: ___last7
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last7(a, b, c, d, e, f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: ___last8
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last8(a, b, c, d, e, f, g, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - x
    - )
    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: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: ___last9
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last9(a, b, c, d, e, f, g, h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - x
    - )
    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: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: ___last10
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last10(a, b, c, d, e, f, g, h, i, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: ___last
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___last(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: ___nolast2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast2(a, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: ___nolast3
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast3(a, b, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: ___nolast4
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast4(a, b, c, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: ___nolast5
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast5(a, b, c, d, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: ___nolast6
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast6(a, b, c, d, e, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: ___nolast7
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast7(a, b, c, d, e, f, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - _
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: ___nolast8
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast8(a, b, c, d, e, f, g, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - _
    - )
    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: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: ___nolast9
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast9(a, b, c, d, e, f, g, h, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - _
    - )
    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: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: ___nolast10
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast10(a, b, c, d, e, f, g, h, i, _)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: ___nolast
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___nolast(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: ___arrow1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: ___arrow2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow2(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: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: ___arrow3
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow3(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: ___arrow4
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow4(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: ___arrow5
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow5(a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: ___arrow6
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow6(a, b, c, d, e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: ___arrow7
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow7(a, b, c, d, e, f, g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: ___arrow8
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow8(a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - )
    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: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: ___arrow9
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow9(a, b, c, d, e, f, g, h, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - )
    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: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: ___arrow10
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow10(a, b, c, d, e, f, g, h, i, j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: ___arrow
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___arrow(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: ___type
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___type(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: ___type
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___type(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: ___type
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___type(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - read_fn
    - ','
    - dst
    - ','
    - src_type
    - ','
    - src
    - ','
    - accessor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ___read
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___read(read_fn, dst, src_type, src, accessor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fn
    - ','
    - src
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: ___rd_first
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_first(fn, src, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: ___rd_last
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_last(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: ___rd_p1
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p1(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: ___rd_p2
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p2(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: ___rd_p3
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p3(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: ___rd_p4
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p4(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: ___rd_p5
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p5(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: ___rd_p6
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p6(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: ___rd_p7
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p7(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: ___rd_p8
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p8(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: ___rd_p9
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___rd_p9(fn, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fn
    - ','
    - src
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: ___read_ptrs
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___read_ptrs(fn, src, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fn
    - ','
    - fn_ptr
    - ','
    - dst
    - ','
    - src
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: ___core_read0
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___core_read0(fn, fn_ptr, dst, src, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fn
    - ','
    - fn_ptr
    - ','
    - dst
    - ','
    - src
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ___core_readN
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___core_readN(fn, fn_ptr, dst, src, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fn
    - ','
    - fn_ptr
    - ','
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: ___core_read
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___core_read(fn, fn_ptr, dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: BPF_CORE_READ_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: BPF_CORE_READ_USER_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_USER_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: BPF_PROBE_READ_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: BPF_PROBE_READ_USER_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ_USER_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: BPF_CORE_READ_STR_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_STR_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: BPF_CORE_READ_USER_STR_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_USER_STR_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: BPF_PROBE_READ_STR_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ_STR_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: BPF_PROBE_READ_USER_STR_INTO
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ_USER_STR_INTO(dst, src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: BPF_CORE_READ
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ(src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: BPF_CORE_READ_USER
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CORE_READ_USER(src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: BPF_PROBE_READ
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ(src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - a
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: BPF_PROBE_READ_USER
    functionSourceFile: /src/libbpf/src/bpf_core_read.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_PROBE_READ_USER(src, a, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: LIST_HEAD_INIT
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_HEAD_INIT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 9
    functionName: LIST_HEAD
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_HEAD(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: INIT_LIST_HEAD
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INIT_LIST_HEAD(struct list_head *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - new
    - prev
    - next
    argTypes:
    - struct list_head*
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: __list_add
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void __list_add(struct list_head *new,\n                              struct
      list_head *prev,\n                              struct list_head *next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - new
    - head
    argTypes:
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: list_add
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_add(struct list_head *new, struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - next
    argTypes:
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: __list_del
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __list_del(struct list_head * prev, struct list_head * next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __list_del
      Src: /src/libbpf/include/linux/list.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: __list_del_entry
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached:
    - __list_del
    linkageType: ''
    returnType: void
    signature: void __list_del_entry(struct list_head *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __list_del
      Src: /src/libbpf/include/linux/list.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: list_del
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 2
    functionsReached:
    - __list_del
    linkageType: ''
    returnType: void
    signature: void list_del(struct list_head *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: list_empty
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int list_empty(const struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: list_entry
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_entry(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: list_first_entry
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_first_entry(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pos
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: list_next_entry
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_next_entry(pos, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pos
    - ','
    - head
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: list_for_each_entry
    functionSourceFile: /src/libbpf/include/linux/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_for_each_entry(pos, head, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: is_signed_type
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_signed_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: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: __type_half_max
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __type_half_max(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: type_max
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type_max(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: type_min
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type_min(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: unlikely
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: check_mul_overflow
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_mul_overflow(a, b, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: __unsigned_mul_overflow
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __unsigned_mul_overflow(a, b, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: __signed_mul_overflow
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __signed_mul_overflow(a, b, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: check_mul_overflow
    functionSourceFile: /src/libbpf/include/linux/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_mul_overflow(a, b, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_load_acquire
      Src: /src/libbpf/include/linux/ring_buffer.h:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct perf_event_mmap_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: ring_buffer_read_head
    functionSourceFile: /src/libbpf/include/linux/ring_buffer.h
    functionUses: 1
    functionsReached:
    - smp_load_acquire
    linkageType: ''
    returnType: __u64
    signature: __u64 ring_buffer_read_head(struct perf_event_mmap_page *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_store_release
      Src: /src/libbpf/include/linux/ring_buffer.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - tail
    argTypes:
    - struct perf_event_mmap_page*
    - __u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: ring_buffer_write_tail
    functionSourceFile: /src/libbpf/include/linux/ring_buffer.h
    functionUses: 1
    functionsReached:
    - smp_store_release
    linkageType: ''
    returnType: void
    signature: "void ring_buffer_write_tail(struct perf_event_mmap_page *base,\n\t\t\t\t\t
      \ __u64 tail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - MEMBER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: offsetof
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(TYPE, MEMBER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: container_of
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - 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: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: max
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(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: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: min
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(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: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: roundup
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: __KERNEL_DIV_ROUND_UP
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __KERNEL_DIV_ROUND_UP(n, d)
  - 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: be32_to_cpu
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32_to_cpu(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: cpu_to_be32
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cpu_to_be32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: be64_to_cpu
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64_to_cpu(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: cpu_to_be64
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cpu_to_be64(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: be32_to_cpu
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32_to_cpu(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: cpu_to_be32
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cpu_to_be32(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: be64_to_cpu
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64_to_cpu(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: cpu_to_be64
    functionSourceFile: /src/libbpf/include/linux/kernel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cpu_to_be64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: likely
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: unlikely
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: READ_ONCE
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_ONCE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: WRITE_ONCE
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_ONCE(x, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: barrier
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: barrier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: smp_rmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_rmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: smp_wmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_wmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: smp_mb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_mb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: smp_store_release
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_store_release(p, v)
  - 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: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: smp_load_acquire
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_load_acquire(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: smp_rmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_rmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: smp_wmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_wmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: smp_mb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_mb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: smp_mb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_mb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: smp_rmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_rmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: smp_wmb
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_wmb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: smp_store_release
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_store_release(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: smp_load_acquire
    functionSourceFile: /src/libbpf/include/linux/compiler.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smp_load_acquire(p)
  - 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: IS_ERR_VALUE
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ERR_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error_
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ERR_PTR
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * ERR_PTR(long error_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: PTR_ERR
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PTR_ERR(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_VALUE
      Src: /src/libbpf/include/linux/err.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: IS_ERR
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 29
    functionsReached:
    - IS_ERR_VALUE
    linkageType: ''
    returnType: bool
    signature: bool IS_ERR(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR_VALUE
      Src: /src/libbpf/include/linux/err.h:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: IS_ERR_OR_NULL
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 11
    functionsReached:
    - IS_ERR_VALUE
    linkageType: ''
    returnType: bool
    signature: bool IS_ERR_OR_NULL(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_ERR
      Src: /src/libbpf/include/linux/err.h:35,1
    - Dst: PTR_ERR
      Src: /src/libbpf/include/linux/err.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: PTR_ERR_OR_ZERO
    functionSourceFile: /src/libbpf/include/linux/err.h
    functionUses: 0
    functionsReached:
    - PTR_ERR
    - IS_ERR
    linkageType: ''
    returnType: long
    signature: long PTR_ERR_OR_ZERO(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CODE
    - ','
    - DST
    - ','
    - SRC
    - ','
    - 'OFF'
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: BPF_RAW_INSN
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_RAW_INSN(CODE, DST, SRC, OFF, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OP
    - ','
    - DST
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: BPF_ALU32_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_ALU32_IMM(OP, DST, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OP
    - ','
    - DST
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: BPF_ALU64_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_ALU64_IMM(OP, DST, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: BPF_MOV64_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MOV64_IMM(DST, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - DST
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: BPF_CALL_REL
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CALL_REL(DST)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: BPF_EXIT_INSN
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_EXIT_INSN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: BPF_EMIT_CALL
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_EMIT_CALL(FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - SIZE
    - ','
    - DST
    - ','
    - SRC
    - ','
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: BPF_LDX_MEM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LDX_MEM(SIZE, DST, SRC, OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - SIZE
    - ','
    - DST
    - ','
    - SRC
    - ','
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: BPF_STX_MEM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_STX_MEM(SIZE, DST, SRC, OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - SIZE
    - ','
    - DST
    - ','
    - 'OFF'
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: BPF_ST_MEM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_ST_MEM(SIZE, DST, OFF, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - SRC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: BPF_MOV64_REG
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MOV64_REG(DST, SRC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - IMM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: BPF_MOV32_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MOV32_IMM(DST, IMM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - DST
    - ','
    - SRC
    - ','
    - OFF1
    - ','
    - OFF2
    - ','
    - IMM1
    - ','
    - IMM2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: BPF_LD_IMM64_RAW_FULL
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LD_IMM64_RAW_FULL(DST, SRC, OFF1, OFF2, IMM1, IMM2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - MAP_FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: BPF_LD_MAP_FD
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LD_MAP_FD(DST, MAP_FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DST
    - ','
    - MAP_FD
    - ','
    - VALUE_OFF
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: BPF_LD_MAP_VALUE
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LD_MAP_VALUE(DST, MAP_FD, VALUE_OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OP
    - ','
    - DST
    - ','
    - SRC
    - ','
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: BPF_JMP_REG
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_JMP_REG(OP, DST, SRC, OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OP
    - ','
    - DST
    - ','
    - IMM
    - ','
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: BPF_JMP_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_JMP_IMM(OP, DST, IMM, OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OP
    - ','
    - DST
    - ','
    - IMM
    - ','
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: BPF_JMP32_IMM
    functionSourceFile: /src/libbpf/include/linux/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_JMP32_IMM(OP, DST, IMM, OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1473
    functionName: PERF_MEM_S
    functionSourceFile: /src/libbpf/include/uapi/linux/perf_event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERF_MEM_S(a, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: BTF_INFO_KIND
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INFO_KIND(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: BTF_INFO_VLEN
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INFO_VLEN(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: BTF_INFO_KFLAG
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INFO_KFLAG(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: BTF_INT_ENCODING
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INT_ENCODING(VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: BTF_INT_OFFSET
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INT_OFFSET(VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: BTF_INT_BITS
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_INT_BITS(VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: BTF_MEMBER_BITFIELD_SIZE
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_MEMBER_BITFIELD_SIZE(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: BTF_MEMBER_BIT_OFFSET
    functionSourceFile: /src/libbpf/include/uapi/linux/btf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BTF_MEMBER_BIT_OFFSET(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: __struct_group_tag
    functionSourceFile: /src/libbpf/include/uapi/linux/stddef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __struct_group_tag(TAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - TAG
    - ','
    - NAME
    - ','
    - ATTRS
    - ','
    - MEMBERS
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: __struct_group
    functionSourceFile: /src/libbpf/include/uapi/linux/stddef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __struct_group(TAG, NAME, ATTRS, MEMBERS...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: __DECLARE_FLEX_ARRAY
    functionSourceFile: /src/libbpf/include/uapi/linux/stddef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __DECLARE_FLEX_ARRAY(T, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: __DECLARE_FLEX_ARRAY
    functionSourceFile: /src/libbpf/include/uapi/linux/stddef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __DECLARE_FLEX_ARRAY(TYPE, NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: BPF_CLASS
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf_common.h
    functionUses: 3
    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: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: BPF_SIZE
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf_common.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: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: BPF_MODE
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf_common.h
    functionUses: 1
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: BPF_OP
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf_common.h
    functionUses: 2
    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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: BPF_SRC
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SRC(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - FN
    - ','
    - ctx
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6151
      start: 5934
    functionDepth: 0
    functionLinenumber: 5934
    functionLinenumberEnd: 6151
    functionName: ___BPF_FUNC_MAPPER
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___BPF_FUNC_MAPPER(FN, ctx...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - value
    - ','
    - FN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6156
      start: 6155
    functionDepth: 0
    functionLinenumber: 6155
    functionLinenumberEnd: 6156
    functionName: __BPF_FUNC_MAPPER_APPLY
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __BPF_FUNC_MAPPER_APPLY(name, value, FN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FN
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6157
      start: 6156
    functionDepth: 0
    functionLinenumber: 6156
    functionLinenumberEnd: 6157
    functionName: __BPF_FUNC_MAPPER
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __BPF_FUNC_MAPPER(FN)
  - 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: 6162
      start: 6161
    functionDepth: 0
    functionLinenumber: 6161
    functionLinenumberEnd: 6162
    functionName: __BPF_ENUM_FN
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __BPF_ENUM_FN(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6261
    functionDepth: 0
    functionLinenumber: 6261
    functionLinenumberEnd: 6264
    functionName: BPF_F_ADJ_ROOM_ENCAP_L2
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_F_ADJ_ROOM_ENCAP_L2(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6352
      start: 6347
    functionDepth: 0
    functionLinenumber: 6347
    functionLinenumberEnd: 6352
    functionName: __bpf_md_ptr
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __bpf_md_ptr(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line_col
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7501
      start: 7500
    functionDepth: 0
    functionLinenumber: 7500
    functionLinenumberEnd: 7501
    functionName: BPF_LINE_INFO_LINE_NUM
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LINE_INFO_LINE_NUM(line_col)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line_col
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7501
    functionDepth: 0
    functionLinenumber: 7501
    functionLinenumberEnd: 7502
    functionName: BPF_LINE_INFO_LINE_COL
    functionSourceFile: /src/libbpf/include/uapi/linux/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_LINE_INFO_LINE_COL(line_col)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: NLMSG_ALIGN
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_ALIGN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: NLMSG_LENGTH
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_LENGTH(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: NLMSG_SPACE
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nlh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: NLMSG_DATA
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_DATA(nlh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: NLMSG_NEXT
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_NEXT(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: NLMSG_OK
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_OK(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: NLMSG_PAYLOAD
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_PAYLOAD(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: NL_MMAP_MSG_ALIGN
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NL_MMAP_MSG_ALIGN(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: NLA_ALIGN
    functionSourceFile: /src/libbpf/include/uapi/linux/netlink.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLA_ALIGN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - local
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: __TC_ACT_EXT
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __TC_ACT_EXT(local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - combined
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: TC_ACT_EXT_OPCODE
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ACT_EXT_OPCODE(combined)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - combined
    - ','
    - opcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: TC_ACT_EXT_CMP
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_ACT_EXT_CMP(combined, opcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: TC_U32_HTID
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_U32_HTID(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: TC_U32_USERHTID
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_U32_USERHTID(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: TC_U32_HASH
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_U32_HASH(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: TC_U32_NODE
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_U32_NODE(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: TC_U32_KEY
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_U32_KEY(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: TCF_EM_REL_VALID
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_cls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCF_EM_REL_VALID(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: TC_H_MAJ
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_sched.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_H_MAJ(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: TC_H_MIN
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_sched.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_H_MIN(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: TC_H_MAKE
    functionSourceFile: /src/libbpf/include/uapi/linux/pkt_sched.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC_H_MAKE(maj,min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: IFLA_RTA
    functionSourceFile: /src/libbpf/include/uapi/linux/if_link.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFLA_RTA(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: IFLA_PAYLOAD
    functionSourceFile: /src/libbpf/include/uapi/linux/if_link.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFLA_PAYLOAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ATTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1907
    functionName: IFLA_STATS_FILTER_BIT
    functionSourceFile: /src/libbpf/include/uapi/linux/if_link.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFLA_STATS_FILTER_BIT(ATTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - format
    - args
    argTypes:
    - enum libbpf_print_level
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 6
    functionName: libbpf_print_fn
    functionSourceFile: /src/libbpf/fuzz/bpf-object-fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int libbpf_print_fn(enum libbpf_print_level level, const char *format,
      va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_LIBBPF_OPTS
      Src: /src/libbpf/fuzz/bpf-object-fuzzer.c:10,1
    - Dst: libbpf_set_print
      Src: /src/libbpf/fuzz/bpf-object-fuzzer.c:13,1
    - Dst: bpf_object__open_mem
      Src: /src/libbpf/fuzz/bpf-object-fuzzer.c:16,1
    - Dst: libbpf_get_error
      Src: /src/libbpf/fuzz/bpf-object-fuzzer.c:17,1
    - Dst: bpf_object__close
      Src: /src/libbpf/fuzz/bpf-object-fuzzer.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 8
    functionDepth: 11
    functionLinenumber: 8
    functionLinenumberEnd: 23
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libbpf/fuzz/bpf-object-fuzzer.c
    functionUses: 0
    functionsReached:
    - bpf_object__close
    - bpf_object__open_mem
    - DECLARE_LIBBPF_OPTS
    - libbpf_get_error
    - libbpf_set_print
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
Fuzzer filename: /src/libbpf/fuzz/bpf-object-fuzzer.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sys/mman.h
- hashmap.h
- linux/rtnetlink.h
- linux/err.h
- linux/netlink.h
- linux/if_ether.h
- fcntl.h
- linux/version.h
- arpa/inet.h
- libbpf_version.h
- linux/socket.h
- memory.h
- linux/ring_buffer.h
- linux/ioctl.h
- unistd.h
- linux/stddef.h
- stdint.h
- sys/resource.h
- bpf_tracing.h
- relo_core.h
- libbpf_common.h
- asm/errno.h
- linux/keyctl.h
- linux/compiler.h
- stddef.h
- linux/filter.h
- linux/bpf.h
- endian.h
- time.h
- sys/types.h
- bpf.h
- linux/types.h
- linux/string.h
- linux/errno.h
- zlib.h
- inttypes.h
- linux/ptrace.h
- linux/bpf_verifier.h
- sys/socket.h
- asm/types.h
- asm/barrier.h
- linux/pkt_cls.h
- sys/utsname.h
- strset.h
- linux/btf.h
- linux/sort.h
- libbpf.h
- zip.h
- ctype.h
- linux/mm.h
- linux/bsearch.h
- libgen.h
- linux/fdtable.h
- asm/posix_types.h
- asm/fcntl.h
- linux/perf_event.h
- sys/ioctl.h
- linux/netdev.h
- linux/limits.h
- limits.h
- stdlib.h
- libelf.h
- linux/bpf_common.h
- errno.h
- net/if.h
- asm/byteorder.h
- linux/openat2.h
- bpf_gen_internal.h
- string.h
- linux/bpf_perf_event.h
- linux/pkt_sched.h
- sys/stat.h
- elf.h
- gelf.h
- sys/syscall.h
- libbpf_internal.h
- bpf_helper_defs.h
- btf.h
- skel_internal.h
- linux/kernel.h
- stdio.h
- sys/vfs.h
- byteswap.h
- bpf_helpers.h
- stdarg.h
- asm/unistd.h
- nlattr.h
- sys/epoll.h
- stdbool.h
- sys/param.h
- linux/mman.h
- libbpf_legacy.h
- linux/slab.h
- linux/genetlink.h
- linux/const.h
report: name
sources:
- function_names:
  - usdt_manager_new
  - usdt_manager_free
  - sanity_check_usdt_elf
  - find_elf_sec_by_name
  - cmp_elf_segs
  - parse_elf_segs
  - parse_vma_segs
  - find_elf_seg
  - find_vma_seg
  - has_nop_combo
  - has_nop_combo
  - collect_usdt_targets
  - bpf_link_usdt_detach
  - bpf_link_usdt_dealloc
  - specs_hash_fn
  - specs_equal_fn
  - allocate_spec_id
  - usdt_manager_attach_usdt
  - parse_usdt_note
  - parse_usdt_spec
  - calc_pt_regs_off
  - parse_usdt_arg
  - parse_usdt_arg
  - calc_pt_regs_off
  - parse_usdt_arg
  - calc_pt_regs_off
  - parse_usdt_arg
  - calc_pt_regs_off
  - parse_usdt_arg
  - parse_usdt_arg
  source_file: /src/libbpf/src/usdt.c
  types:
    enum:
    - enumerators:
      - name: USDT_ARG_CONST
      - name: USDT_ARG_SIB
      - name: USDT_ARG_REG_DEREF
      - name: USDT_ARG_REG
      item_type: enum
      name: usdt_arg_type
      pos:
        line_end: 202
        line_start: 197
        source_file: /src/libbpf/src/usdt.c
    preproc_defs:
    - item_type: preproc_def
      name: rv_s8
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libbpf/src/usdt.c
      type_or_value: s8
    - item_type: preproc_def
      name: USDT_BASE_SEC
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '".stapsdt.base"'
    - item_type: preproc_def
      name: USDT_SEMA_SEC
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '".probes"'
    - item_type: preproc_def
      name: USDT_NOTE_SEC
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '".note.stapsdt"'
    - item_type: preproc_def
      name: USDT_NOTE_TYPE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '3'
    - item_type: preproc_def
      name: USDT_NOTE_NAME
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '"stapsdt"'
    - item_type: preproc_def
      name: USDT_MAX_ARG_CNT
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libbpf/src/usdt.c
      type_or_value: '12'
    structs:
    - fields:
      - name: val_off
        type: __u64
      - name: reg_off
        type: short
      - name: arg_signed
        type: bool
      - name: arg_bitshift
        type: char
      item_type: struct
      name: usdt_arg_spec
      pos:
        line_end: 221
        line_start: 205
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: args[USDT_MAX_ARG_CNT]
        type: struct usdt_arg_spec
      - name: usdt_cookie
        type: __u64
      - name: arg_cnt
        type: short
      item_type: struct
      name: usdt_spec
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: '*provider'
        type: char
      - name: '*name'
        type: char
      - name: '*args'
        type: char
      - name: loc_addr
        type: long
      - name: base_addr
        type: long
      - name: sema_addr
        type: long
      item_type: struct
      name: usdt_note
      pos:
        line_end: 243
        line_start: 233
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: abs_ip
        type: long
      - name: rel_ip
        type: long
      - name: sema_off
        type: long
      - name: spec
        type: struct usdt_spec
      - name: '*spec_str'
        type: char
      item_type: struct
      name: usdt_target
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: '*specs_map'
        type: struct bpf_map
      - name: '*ip_to_spec_id_map'
        type: struct bpf_map
      - name: '*free_spec_ids'
        type: int
      - name: free_spec_cnt
        type: size_t
      - name: next_free_spec_id
        type: size_t
      - name: has_bpf_cookie
        type: bool
      - name: has_sema_refcnt
        type: bool
      - name: has_uprobe_multi
        type: bool
      - name: has_uprobe_syscall
        type: bool
      item_type: struct
      name: usdt_manager
      pos:
        line_end: 265
        line_start: 253
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: start
        type: long
      - name: end
        type: long
      - name: offset
        type: long
      - name: is_exec
        type: bool
      item_type: struct
      name: elf_seg
      pos:
        line_end: 408
        line_start: 403
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: link
        type: struct bpf_link
      - name: '*usdt_man'
        type: struct usdt_manager
      - name: spec_cnt
        type: size_t
      - name: '*spec_ids'
        type: int
      - name: uprobe_cnt
        type: size_t
      - name: '*uprobes'
        type: "struct {\n\t\tlong abs_ip;\n\t\tstruct bpf_link *link;\n\t}"
      - name: '*multi_link'
        type: struct bpf_link
      item_type: struct
      name: bpf_link_usdt
      pos:
        line_end: 879
        line_start: 864
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: '*names[4]'
        type: char
      - name: pt_regs_off
        type: size_t
      item_type: struct
      name: "reg_map[] = {\n#ifdef __x86_64__\n#define reg_off(reg64, reg32) offsetof(struct
        pt_regs, reg64)\n#else\n#define reg_off(reg64, reg32) offsetof(struct pt_regs,
        reg32)\n#endif\n\t\t{ {\"rip\", \"eip\", \"\", \"\"}, reg_off(rip, eip) },\n\t\t{
        {\"rax\", \"eax\", \"ax\", \"al\"}, reg_off(rax, eax) },\n\t\t{ {\"rbx\",
        \"ebx\", \"bx\", \"bl\"}, reg_off(rbx, ebx) },\n\t\t{ {\"rcx\", \"ecx\", \"cx\",
        \"cl\"}, reg_off(rcx, ecx) },\n\t\t{ {\"rdx\", \"edx\", \"dx\", \"dl\"}, reg_off(rdx,
        edx) },\n\t\t{ {\"rsi\", \"esi\", \"si\", \"sil\"}, reg_off(rsi, esi) },\n\t\t{
        {\"rdi\", \"edi\", \"di\", \"dil\"}, reg_off(rdi, edi) },\n\t\t{ {\"rbp\",
        \"ebp\", \"bp\", \"bpl\"}, reg_off(rbp, ebp) },\n\t\t{ {\"rsp\", \"esp\",
        \"sp\", \"spl\"}, reg_off(rsp, esp) },\n#undef reg_off\n#ifdef __x86_64__\n\t\t{
        {\"r8\", \"r8d\", \"r8w\", \"r8b\"}, offsetof(struct pt_regs, r8) },\n\t\t{
        {\"r9\", \"r9d\", \"r9w\", \"r9b\"}, offsetof(struct pt_regs, r9) },\n\t\t{
        {\"r10\", \"r10d\", \"r10w\", \"r10b\"}, offsetof(struct pt_regs, r10) },\n\t\t{
        {\"r11\", \"r11d\", \"r11w\", \"r11b\"}, offsetof(struct pt_regs, r11) },\n\t\t{
        {\"r12\", \"r12d\", \"r12w\", \"r12b\"}, offsetof(struct pt_regs, r12) },\n\t\t{
        {\"r13\", \"r13d\", \"r13w\", \"r13b\"}, offsetof(struct pt_regs, r13) },\n\t\t{
        {\"r14\", \"r14d\", \"r14w\", \"r14b\"}, offsetof(struct pt_regs, r14) },\n\t\t{
        {\"r15\", \"r15d\", \"r15w\", \"r15b\"}, offsetof(struct pt_regs, r15) },\n#endif\n\t}"
      pos:
        line_end: 1301
        line_start: 1298
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: '*name'
        type: char
      - name: pt_regs_off
        type: size_t
      item_type: struct
      name: "reg_map[] = {\n\t\t{ \"ra\", offsetof(struct user_regs_struct, ra) },\n\t\t{
        \"sp\", offsetof(struct user_regs_struct, sp) },\n\t\t{ \"gp\", offsetof(struct
        user_regs_struct, gp) },\n\t\t{ \"tp\", offsetof(struct user_regs_struct,
        tp) },\n\t\t{ \"a0\", offsetof(struct user_regs_struct, a0) },\n\t\t{ \"a1\",
        offsetof(struct user_regs_struct, a1) },\n\t\t{ \"a2\", offsetof(struct user_regs_struct,
        a2) },\n\t\t{ \"a3\", offsetof(struct user_regs_struct, a3) },\n\t\t{ \"a4\",
        offsetof(struct user_regs_struct, a4) },\n\t\t{ \"a5\", offsetof(struct user_regs_struct,
        a5) },\n\t\t{ \"a6\", offsetof(struct user_regs_struct, a6) },\n\t\t{ \"a7\",
        offsetof(struct user_regs_struct, a7) },\n\t\t{ \"s0\", offsetof(struct user_regs_struct,
        s0) },\n\t\t{ \"s1\", offsetof(struct user_regs_struct, s1) },\n\t\t{ \"s2\",
        offsetof(struct user_regs_struct, s2) },\n\t\t{ \"s3\", offsetof(struct user_regs_struct,
        s3) },\n\t\t{ \"s4\", offsetof(struct user_regs_struct, s4) },\n\t\t{ \"s5\",
        offsetof(struct user_regs_struct, s5) },\n\t\t{ \"s6\", offsetof(struct user_regs_struct,
        s6) },\n\t\t{ \"s7\", offsetof(struct user_regs_struct, s7) },\n\t\t{ \"s8\",
        offsetof(struct user_regs_struct, rv_s8) },\n\t\t{ \"s9\", offsetof(struct
        user_regs_struct, s9) },\n\t\t{ \"s10\", offsetof(struct user_regs_struct,
        s10) },\n\t\t{ \"s11\", offsetof(struct user_regs_struct, s11) },\n\t\t{ \"t0\",
        offsetof(struct user_regs_struct, t0) },\n\t\t{ \"t1\", offsetof(struct user_regs_struct,
        t1) },\n\t\t{ \"t2\", offsetof(struct user_regs_struct, t2) },\n\t\t{ \"t3\",
        offsetof(struct user_regs_struct, t3) },\n\t\t{ \"t4\", offsetof(struct user_regs_struct,
        t4) },\n\t\t{ \"t5\", offsetof(struct user_regs_struct, t5) },\n\t\t{ \"t6\",
        offsetof(struct user_regs_struct, t6) },\n\t}"
      pos:
        line_end: 1531
        line_start: 1528
        source_file: /src/libbpf/src/usdt.c
    - fields:
      - name: '*name'
        type: char
      - name: pt_regs_off
        type: size_t
      item_type: struct
      name: "reg_map[] = {\n\t\t{ \"r0\", offsetof(struct pt_regs, uregs[0]) },\n\t\t{
        \"r1\", offsetof(struct pt_regs, uregs[1]) },\n\t\t{ \"r2\", offsetof(struct
        pt_regs, uregs[2]) },\n\t\t{ \"r3\", offsetof(struct pt_regs, uregs[3]) },\n\t\t{
        \"r4\", offsetof(struct pt_regs, uregs[4]) },\n\t\t{ \"r5\", offsetof(struct
        pt_regs, uregs[5]) },\n\t\t{ \"r6\", offsetof(struct pt_regs, uregs[6]) },\n\t\t{
        \"r7\", offsetof(struct pt_regs, uregs[7]) },\n\t\t{ \"r8\", offsetof(struct
        pt_regs, uregs[8]) },\n\t\t{ \"r9\", offsetof(struct pt_regs, uregs[9]) },\n\t\t{
        \"r10\", offsetof(struct pt_regs, uregs[10]) },\n\t\t{ \"fp\", offsetof(struct
        pt_regs, uregs[11]) },\n\t\t{ \"ip\", offsetof(struct pt_regs, uregs[12])
        },\n\t\t{ \"sp\", offsetof(struct pt_regs, uregs[13]) },\n\t\t{ \"lr\", offsetof(struct
        pt_regs, uregs[14]) },\n\t\t{ \"pc\", offsetof(struct pt_regs, uregs[15])
        },\n\t}"
      pos:
        line_end: 1617
        line_start: 1614
        source_file: /src/libbpf/src/usdt.c
    typedefs: []
    union: []
- function_names:
  - ringbuf_free_ring
  - ring_buffer__add
  - ring_buffer__free
  - ring_buffer__new
  - roundup_len
  - ringbuf_process_ring
  - ring_buffer__consume_n
  - ring_buffer__consume
  - ring_buffer__poll
  - ring_buffer__epoll_fd
  - ring_buffer__ring
  - ring__consumer_pos
  - ring__producer_pos
  - ring__avail_data_size
  - ring__size
  - ring__map_fd
  - ring__consume_n
  - ring__consume
  - user_ringbuf_unmap_ring
  - user_ring_buffer__free
  - user_ringbuf_map
  - user_ring_buffer__new
  - user_ringbuf_commit
  - user_ring_buffer__discard
  - user_ring_buffer__submit
  - user_ring_buffer__reserve
  - ns_elapsed_timespec
  - user_ring_buffer__reserve_blocking
  source_file: /src/libbpf/src/ringbuf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sample_cb
        type: ring_buffer_sample_fn
      - name: '*ctx'
        type: void
      - name: '*data'
        type: void
      - name: '*consumer_pos'
        type: unsigned long
      - name: '*producer_pos'
        type: unsigned long
      - name: mask
        type: unsigned long
      - name: map_fd
        type: int
      item_type: struct
      name: ring
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/libbpf/src/ringbuf.c
    - fields:
      - name: '*events'
        type: struct epoll_event
      - name: '**rings'
        type: struct ring
      - name: page_size
        type: size_t
      - name: epoll_fd
        type: int
      - name: ring_cnt
        type: int
      item_type: struct
      name: ring_buffer
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/libbpf/src/ringbuf.c
    - fields:
      - name: event
        type: struct epoll_event
      - name: '*consumer_pos'
        type: unsigned long
      - name: '*producer_pos'
        type: unsigned long
      - name: '*data'
        type: void
      - name: mask
        type: unsigned long
      - name: page_size
        type: size_t
      - name: map_fd
        type: int
      - name: epoll_fd
        type: int
      item_type: struct
      name: user_ring_buffer
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/libbpf/src/ringbuf.c
    - fields:
      - name: len
        type: __u32
      - name: pad
        type: __u32
      item_type: struct
      name: ringbuf_hdr
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/libbpf/src/ringbuf.c
    typedefs: []
    union: []
- function_names:
  - elf_open
  - elf_close
  - elf_find_next_scn_by_type
  - elf_sym_iter_new
  - elf_sym_iter_next
  - elf_get_vername
  - symbol_match
  - elf_sym_offset
  - elf_find_func_offset
  - elf_find_func_offset_from_file
  - symbol_cmp
  - elf_resolve_syms_offsets
  - elf_resolve_pattern_offsets
  source_file: /src/libbpf/src/elf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERSYM_HIDDEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libbpf/src/elf.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: VERSYM_VERSION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/src/elf.c
      type_or_value: '0x7fff'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: sym
        type: GElf_Sym
      - name: sh
        type: GElf_Shdr
      - name: ver
        type: int
      - name: hidden
        type: bool
      item_type: struct
      name: elf_sym
      pos:
        line_end: 80
        line_start: 74
        source_file: /src/libbpf/src/elf.c
    - fields:
      - name: '*elf'
        type: Elf
      - name: '*syms'
        type: Elf_Data
      - name: '*versyms'
        type: Elf_Data
      - name: '*verdefs'
        type: Elf_Data
      - name: nr_syms
        type: size_t
      - name: strtabidx
        type: size_t
      - name: verdef_strtabidx
        type: size_t
      - name: next_sym_idx
        type: size_t
      - name: sym
        type: struct elf_sym
      - name: st_type
        type: int
      item_type: struct
      name: elf_sym_iter
      pos:
        line_end: 93
        line_start: 82
        source_file: /src/libbpf/src/elf.c
    - fields:
      - name: '*name'
        type: char
      - name: bind
        type: int
      - name: idx
        type: int
      item_type: struct
      name: symbol
      pos:
        line_end: 391
        line_start: 387
        source_file: /src/libbpf/src/elf.c
    typedefs: []
    union: []
- function_names:
  - btf_kind
  - btf_vlen
  - btf_kflag
  - btf_is_void
  - btf_is_int
  - btf_is_ptr
  - btf_is_array
  - btf_is_struct
  - btf_is_union
  - btf_is_composite
  - btf_is_enum
  - btf_is_enum64
  - btf_is_fwd
  - btf_is_typedef
  - btf_is_volatile
  - btf_is_const
  - btf_is_restrict
  - btf_is_mod
  - btf_is_func
  - btf_is_func_proto
  - btf_is_var
  - btf_is_datasec
  - btf_is_float
  - btf_is_decl_tag
  - btf_is_type_tag
  - btf_is_any_enum
  - btf_kind_core_compat
  - btf_int_encoding
  - btf_int_offset
  - btf_int_bits
  - btf_array
  - btf_enum
  - btf_enum64
  - btf_enum64_value
  - btf_members
  - btf_member_bit_offset
  - btf_member_bitfield_size
  - btf_params
  - btf_var
  - btf_var_secinfos
  - btf_decl_tag
  source_file: /src/libbpf/src/btf.h
  types:
    enum:
    - enumerators:
      - name: BTF_LITTLE_ENDIAN
        value: '0'
      - name: BTF_BIG_ENDIAN
        value: '1'
      item_type: enum
      name: btf_endianness
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/libbpf/src/btf.h
    - enumerators:
      - name: BTF_FWD_STRUCT
        value: '0'
      - name: BTF_FWD_ENUM
        value: '2'
      - name: BTF_FWD_UNION
        value: '1'
      item_type: enum
      name: btf_fwd_kind
      pos:
        line_end: 246
        line_start: 242
        source_file: /src/libbpf/src/btf.h
    preproc_defs:
    - item_type: preproc_def
      name: BTF_ELF_SEC
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libbpf/src/btf.h
      type_or_value: '".BTF"'
    - item_type: preproc_def
      name: BTF_EXT_ELF_SEC
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/src/btf.h
      type_or_value: '".BTF.ext"'
    - item_type: preproc_def
      name: BTF_BASE_ELF_SEC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/src/btf.h
      type_or_value: '".BTF.base"'
    - item_type: preproc_def
      name: MAPS_ELF_SEC
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/src/btf.h
      type_or_value: '".maps"'
    - item_type: preproc_def
      name: btf_new_opts__last_field
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libbpf/src/btf.h
      type_or_value: add_layout
    - item_type: preproc_def
      name: btf_dedup_opts__last_field
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/libbpf/src/btf.h
      type_or_value: force_collisions
    - item_type: preproc_def
      name: btf_permute_opts__last_field
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/libbpf/src/btf.h
      type_or_value: btf_ext
    - item_type: preproc_def
      name: btf_dump_opts__last_field
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/libbpf/src/btf.h
      type_or_value: sz
    - item_type: preproc_def
      name: btf_dump_emit_type_decl_opts__last_field
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libbpf/src/btf.h
      type_or_value: strip_mods
    - item_type: preproc_def
      name: btf_dump_type_data_opts__last_field
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libbpf/src/btf.h
      type_or_value: emit_strings
    - item_type: preproc_def
      name: BTF_KIND_FUNC
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libbpf/src/btf.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: BTF_KIND_FUNC_PROTO
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libbpf/src/btf.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: BTF_KIND_VAR
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libbpf/src/btf.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: BTF_KIND_DATASEC
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libbpf/src/btf.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: BTF_KIND_FLOAT
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/libbpf/src/btf.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: BTF_KIND_DECL_TAG
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libbpf/src/btf.h
      type_or_value: "17\t"
    - item_type: preproc_def
      name: BTF_KIND_TYPE_TAG
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libbpf/src/btf.h
      type_or_value: "18\t"
    - item_type: preproc_def
      name: BTF_KIND_ENUM64
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libbpf/src/btf.h
      type_or_value: "19\t"
    structs:
    - fields:
      - name: sz
        type: size_t
      - name: '*base_btf'
        type: struct btf
      - name: add_layout
        type: bool
      item_type: struct
      name: btf_new_opts
      pos:
        line_end: 116
        line_start: 111
        source_file: /src/libbpf/src/btf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*btf_ext'
        type: struct btf_ext
      - name: force_collisions
        type: bool
      item_type: struct
      name: btf_dedup_opts
      pos:
        line_end: 281
        line_start: 274
        source_file: /src/libbpf/src/btf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*btf_ext'
        type: struct btf_ext
      item_type: struct
      name: btf_permute_opts
      pos:
        line_end: 308
        line_start: 303
        source_file: /src/libbpf/src/btf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: btf_dump_opts
      pos:
        line_end: 349
        line_start: 347
        source_file: /src/libbpf/src/btf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*field_name'
        type: char
      - name: indent_level
        type: int
      - name: strip_mods
        type: bool
      item_type: struct
      name: btf_dump_emit_type_decl_opts
      pos:
        line_end: 381
        line_start: 363
        source_file: /src/libbpf/src/btf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*indent_str'
        type: char
      - name: indent_level
        type: int
      - name: compact
        type: bool
      - name: skip_names
        type: bool
      - name: emit_zeroes
        type: bool
      - name: emit_strings
        type: bool
      item_type: struct
      name: btf_dump_type_data_opts
      pos:
        line_end: 400
        line_start: 389
        source_file: /src/libbpf/src/btf.h
    typedefs:
    - item_type: typedef
      name: (*btf_dump_printf_fn_t)(void *ctx, const char *fmt, va_list args)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/libbpf/src/btf.h
      type: void
    union: []
- function_names:
  - calloc
  - free
  - qsort
  - btf_relocate_rewrite_type_id
  - cmp_btf_name_size
  - search_btf_name_size
  - btf_mark_embedded_composite_type_ids
  - btf_relocate_map_distilled_base
  - btf_relocate_validate_distilled_base
  - btf_relocate_rewrite_strs
  - btf_relocate
  source_file: /src/libbpf/src/btf_relocate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: btf_type_by_id
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: (struct btf_type *)btf_type_by_id
    - item_type: preproc_def
      name: btf__type_cnt
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: btf_nr_types
    - item_type: preproc_def
      name: btf__base_btf
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: btf_base_btf
    - item_type: preproc_def
      name: btf__name_by_offset
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: btf_name_by_offset
    - item_type: preproc_def
      name: btf__str_by_offset
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: btf_str_by_offset
    - item_type: preproc_def
      name: btf_kflag
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: btf_type_kflag
    - item_type: preproc_def
      name: BTF_IS_EMBEDDED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/src/btf_relocate.c
      type_or_value: ((__u32)-1)
    structs:
    - fields:
      - name: '*btf'
        type: struct btf
      - name: '*base_btf'
        type: struct btf
      - name: '*dist_base_btf'
        type: struct btf
      - name: nr_base_types
        type: unsigned int
      - name: nr_split_types
        type: unsigned int
      - name: nr_dist_base_types
        type: unsigned int
      - name: dist_str_len
        type: int
      - name: base_str_len
        type: int
      - name: '*id_map'
        type: __u32
      - name: '*str_map'
        type: __u32
      item_type: struct
      name: btf_relocate
      pos:
        line_end: 48
        line_start: 37
        source_file: /src/libbpf/src/btf_relocate.c
    - fields:
      - name: '*name'
        type: char
      - name: needs_size
        type: bool
      - name: size
        type: unsigned int
      - name: id
        type: __u32
      item_type: struct
      name: btf_name_info
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/libbpf/src/btf_relocate.c
    typedefs: []
    union: []
- function_names:
  - dissect_jited_func
  - bpf_prog_linfo__free
  - bpf_prog_linfo__new
  - bpf_prog_linfo__lfind_addr_func
  - bpf_prog_linfo__lfind
  source_file: /src/libbpf/src/bpf_prog_linfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*raw_linfo'
        type: void
      - name: '*raw_jited_linfo'
        type: void
      - name: '*nr_jited_linfo_per_func'
        type: __u32
      - name: '*jited_linfo_func_idx'
        type: __u32
      - name: nr_linfo
        type: __u32
      - name: nr_jited_func
        type: __u32
      - name: rec_size
        type: __u32
      - name: jited_rec_size
        type: __u32
      item_type: struct
      name: bpf_prog_linfo
      pos:
        line_end: 19
        line_start: 10
        source_file: /src/libbpf/src/bpf_prog_linfo.c
    typedefs: []
    union: []
- function_names:
  - __PT_REGS_CAST
  - PT_REGS_PARM1_SYSCALL
  - PT_REGS_PARM1_CORE_SYSCALL
  - __PT_REGS_CAST
  - PT_REGS_PARM1_SYSCALL
  - PT_REGS_PARM1_CORE_SYSCALL
  - PT_REGS_SYSCALL_REGS
  - __PT_REGS_CAST
  - PT_REGS_PARM1_SYSCALL
  - PT_REGS_PARM1_CORE_SYSCALL
  - __PT_REGS_CAST
  - PT_REGS_SYSCALL_REGS
  - __PT_REGS_CAST
  - PT_REGS_SYSCALL_REGS
  - __PT_REGS_CAST
  - PT_REGS_PARM1
  - PT_REGS_PARM2
  - PT_REGS_PARM3
  - PT_REGS_PARM4
  - PT_REGS_PARM5
  - PT_REGS_PARM6
  - PT_REGS_PARM7
  - PT_REGS_PARM8
  - PT_REGS_RET
  - PT_REGS_FP
  - PT_REGS_RC
  - PT_REGS_SP
  - PT_REGS_IP
  - PT_REGS_PARM1_CORE
  - PT_REGS_PARM2_CORE
  - PT_REGS_PARM3_CORE
  - PT_REGS_PARM4_CORE
  - PT_REGS_PARM5_CORE
  - PT_REGS_PARM6_CORE
  - PT_REGS_PARM7_CORE
  - PT_REGS_PARM8_CORE
  - PT_REGS_RET_CORE
  - PT_REGS_FP_CORE
  - PT_REGS_RC_CORE
  - PT_REGS_SP_CORE
  - PT_REGS_IP_CORE
  - BPF_KPROBE_READ_RET_IP
  - BPF_KPROBE_READ_RET_IP
  - BPF_KPROBE_READ_RET_IP
  - BPF_KRETPROBE_READ_RET_IP
  - PT_REGS_PARM1_SYSCALL
  - PT_REGS_PARM1_CORE_SYSCALL
  - PT_REGS_PARM2_SYSCALL
  - PT_REGS_PARM2_CORE_SYSCALL
  - PT_REGS_PARM3_SYSCALL
  - PT_REGS_PARM3_CORE_SYSCALL
  - PT_REGS_PARM4_SYSCALL
  - PT_REGS_PARM4_CORE_SYSCALL
  - PT_REGS_PARM5_SYSCALL
  - PT_REGS_PARM5_CORE_SYSCALL
  - PT_REGS_PARM6_SYSCALL
  - PT_REGS_PARM6_CORE_SYSCALL
  - PT_REGS_PARM7_SYSCALL
  - PT_REGS_PARM7_CORE_SYSCALL
  - PT_REGS_PARM1
  - PT_REGS_PARM2
  - PT_REGS_PARM3
  - PT_REGS_PARM4
  - PT_REGS_PARM5
  - PT_REGS_PARM6
  - PT_REGS_PARM7
  - PT_REGS_PARM8
  - PT_REGS_RET
  - PT_REGS_FP
  - PT_REGS_RC
  - PT_REGS_SP
  - PT_REGS_IP
  - PT_REGS_PARM1_CORE
  - PT_REGS_PARM2_CORE
  - PT_REGS_PARM3_CORE
  - PT_REGS_PARM4_CORE
  - PT_REGS_PARM5_CORE
  - PT_REGS_PARM6_CORE
  - PT_REGS_PARM7_CORE
  - PT_REGS_PARM8_CORE
  - PT_REGS_RET_CORE
  - PT_REGS_FP_CORE
  - PT_REGS_RC_CORE
  - PT_REGS_SP_CORE
  - PT_REGS_IP_CORE
  - BPF_KPROBE_READ_RET_IP
  - BPF_KRETPROBE_READ_RET_IP
  - PT_REGS_PARM1_SYSCALL
  - PT_REGS_PARM2_SYSCALL
  - PT_REGS_PARM3_SYSCALL
  - PT_REGS_PARM4_SYSCALL
  - PT_REGS_PARM5_SYSCALL
  - PT_REGS_PARM6_SYSCALL
  - PT_REGS_PARM7_SYSCALL
  - PT_REGS_PARM1_CORE_SYSCALL
  - PT_REGS_PARM2_CORE_SYSCALL
  - PT_REGS_PARM3_CORE_SYSCALL
  - PT_REGS_PARM4_CORE_SYSCALL
  - PT_REGS_PARM5_CORE_SYSCALL
  - PT_REGS_PARM6_CORE_SYSCALL
  - PT_REGS_PARM7_CORE_SYSCALL
  - PT_REGS_SYSCALL_REGS
  - ___bpf_concat
  - ___bpf_apply
  - ___bpf_nth
  - ___bpf_narg
  - ___bpf_ctx_cast0
  - ___bpf_ctx_cast1
  - ___bpf_ctx_cast2
  - ___bpf_ctx_cast3
  - ___bpf_ctx_cast4
  - ___bpf_ctx_cast5
  - ___bpf_ctx_cast6
  - ___bpf_ctx_cast7
  - ___bpf_ctx_cast8
  - ___bpf_ctx_cast9
  - ___bpf_ctx_cast10
  - ___bpf_ctx_cast11
  - ___bpf_ctx_cast12
  - ___bpf_ctx_cast
  - BPF_PROG
  - ___bpf_nth2
  - ___bpf_narg2
  - ___bpf_treg_cnt
  - ___bpf_reg_cnt0
  - ___bpf_reg_cnt1
  - ___bpf_reg_cnt2
  - ___bpf_reg_cnt3
  - ___bpf_reg_cnt4
  - ___bpf_reg_cnt5
  - ___bpf_reg_cnt6
  - ___bpf_reg_cnt7
  - ___bpf_reg_cnt8
  - ___bpf_reg_cnt9
  - ___bpf_reg_cnt10
  - ___bpf_reg_cnt11
  - ___bpf_reg_cnt12
  - ___bpf_reg_cnt
  - ___bpf_union_arg
  - ___bpf_ctx_arg1
  - ___bpf_ctx_arg2
  - ___bpf_ctx_arg3
  - ___bpf_ctx_arg4
  - ___bpf_ctx_arg5
  - ___bpf_ctx_arg6
  - ___bpf_ctx_arg7
  - ___bpf_ctx_arg8
  - ___bpf_ctx_arg9
  - ___bpf_ctx_arg10
  - ___bpf_ctx_arg11
  - ___bpf_ctx_arg12
  - ___bpf_ctx_arg
  - ___bpf_ctx_decl1
  - ___bpf_ctx_decl2
  - ___bpf_ctx_decl3
  - ___bpf_ctx_decl4
  - ___bpf_ctx_decl5
  - ___bpf_ctx_decl6
  - ___bpf_ctx_decl7
  - ___bpf_ctx_decl8
  - ___bpf_ctx_decl9
  - ___bpf_ctx_decl10
  - ___bpf_ctx_decl11
  - ___bpf_ctx_decl12
  - ___bpf_ctx_decl
  - BPF_PROG2
  - ___bpf_kprobe_args0
  - ___bpf_kprobe_args1
  - ___bpf_kprobe_args2
  - ___bpf_kprobe_args3
  - ___bpf_kprobe_args4
  - ___bpf_kprobe_args5
  - ___bpf_kprobe_args6
  - ___bpf_kprobe_args7
  - ___bpf_kprobe_args8
  - ___bpf_kprobe_args
  - BPF_KPROBE
  - ___bpf_kretprobe_args0
  - ___bpf_kretprobe_args1
  - ___bpf_kretprobe_args
  - BPF_KRETPROBE
  - ___bpf_syscall_args0
  - ___bpf_syscall_args1
  - ___bpf_syscall_args2
  - ___bpf_syscall_args3
  - ___bpf_syscall_args4
  - ___bpf_syscall_args5
  - ___bpf_syscall_args6
  - ___bpf_syscall_args7
  - ___bpf_syscall_args
  - ___bpf_syswrap_args0
  - ___bpf_syswrap_args1
  - ___bpf_syswrap_args2
  - ___bpf_syswrap_args3
  - ___bpf_syswrap_args4
  - ___bpf_syswrap_args5
  - ___bpf_syswrap_args6
  - ___bpf_syswrap_args7
  - ___bpf_syswrap_args
  - BPF_KSYSCALL
  - BPF_UPROBE
  - BPF_URETPROBE
  source_file: /src/libbpf/src/bpf_tracing.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __BPF_TARGET_MISSING
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: '"GCC error \"Must specify a BPF target arch via __TARGET_ARCH_xxx\""'
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: di
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: si
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: dx
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: cx
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r8
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r9
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r10
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: sp
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: bp
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ax
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: sp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ip
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: eax
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: edx
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ecx
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ebx
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ecx
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: edx
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: esi
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: edi
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ebp
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: esp
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ebp
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: eax
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: esp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: eip
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rdi
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rsi
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rdx
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rcx
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r8
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r9
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: r10
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rsp
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rbp
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rax
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rsp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: rip
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[2]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[3]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[4]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[5]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[6]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: orig_gpr2
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[7]
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[14]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: "gprs[11]\t"
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[2]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gprs[15]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: psw.addr
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[0]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[1]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[2]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[3]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[4]
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[5]
    - item_type: preproc_def
      name: __PT_PARM7_SYSCALL_REG
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[6]
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[14]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: "uregs[11]\t"
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[0]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[13]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: uregs[12]
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[0]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[1]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[2]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[3]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[4]
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[5]
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[6]
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[7]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: orig_x0
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[30]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: "regs[29]\t"
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[0]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: sp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: pc
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[4]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[5]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[6]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[7]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[8]
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[9]
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[10]
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[11]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: '__PT_PARM5_REG '
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: '__PT_PARM6_REG '
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[31]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: "regs[30]\t"
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[2]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[29]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: cp0_epc
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[3]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[4]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[5]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[6]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[7]
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[8]
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[9]
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[10]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: orig_gpr3
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_PARM7_SYSCALL_REG
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: '__PT_PARM7_REG '
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[31]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[3]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: gpr[1]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: nip
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I0]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I1]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I2]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I3]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I4]
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I5]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I7]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_I0]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: u_regs[UREG_FP]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: tpc
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: pc
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a0
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a1
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a2
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a3
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a4
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a5
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a6
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a7
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: orig_a0
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: ra
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: s0
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: a0
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: sp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: pc
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r0
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r1
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r2
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r3
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r4
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r5
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r6
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r7
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.blink
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.fp
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.r0
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.sp
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: scratch.ret
    - item_type: preproc_def
      name: __PT_PARM1_REG
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[4]
    - item_type: preproc_def
      name: __PT_PARM2_REG
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[5]
    - item_type: preproc_def
      name: __PT_PARM3_REG
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[6]
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[7]
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[8]
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[9]
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[10]
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[11]
    - item_type: preproc_def
      name: __PT_PARM1_SYSCALL_REG
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM1_REG
    - item_type: preproc_def
      name: __PT_PARM2_SYSCALL_REG
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM2_REG
    - item_type: preproc_def
      name: __PT_PARM3_SYSCALL_REG
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM3_REG
    - item_type: preproc_def
      name: __PT_PARM4_SYSCALL_REG
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM4_REG
    - item_type: preproc_def
      name: __PT_PARM5_SYSCALL_REG
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM5_REG
    - item_type: preproc_def
      name: __PT_PARM6_SYSCALL_REG
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __PT_PARM6_REG
    - item_type: preproc_def
      name: __PT_RET_REG
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[1]
    - item_type: preproc_def
      name: __PT_FP_REG
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[22]
    - item_type: preproc_def
      name: __PT_RC_REG
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[4]
    - item_type: preproc_def
      name: __PT_SP_REG
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: regs[3]
    - item_type: preproc_def
      name: __PT_IP_REG
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: csr_era
    - item_type: preproc_def
      name: __PT_PARM4_REG
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_PARM5_REG
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_PARM6_REG
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_PARM7_REG
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_PARM8_REG
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: __PT_PARM7_SYSCALL_REG
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: __unsupported__
    - item_type: preproc_def
      name: BPF_KRETPROBE_READ_RET_IP
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: BPF_KPROBE_READ_RET_IP
    - item_type: preproc_def
      name: BPF_KRETPROBE_READ_RET_IP
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: BPF_KPROBE_READ_RET_IP
    - item_type: preproc_def
      name: BPF_KPROBE_SYSCALL
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/libbpf/src/bpf_tracing.h
      type_or_value: BPF_KSYSCALL
    structs:
    - fields:
      - name: orig_gpr2
        type: unsigned long
      item_type: struct
      name: pt_regs___s390
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/libbpf/src/bpf_tracing.h
    - fields:
      - name: orig_x0
        type: unsigned long
      item_type: struct
      name: pt_regs___arm64
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/libbpf/src/bpf_tracing.h
    - fields:
      - name: orig_a0
        type: unsigned long
      item_type: struct
      name: pt_regs___riscv
      pos:
        line_end: 355
        line_start: 353
        source_file: /src/libbpf/src/bpf_tracing.h
    typedefs: []
    union: []
- function_names:
  - btf_kind_str
  - is_ldimm64_insn
  - skip_mods_and_typedefs
  - btf__name_by_offset
  - btf__resolve_size
  - pr_warn
  - pr_info
  - pr_debug
  - libbpf_print
  - is_flex_arr
  - core_relo_kind_str
  - core_relo_is_field_based
  - core_relo_is_type_based
  - core_relo_is_enumval_based
  - __bpf_core_types_are_compat
  - bpf_core_parse_spec
  - bpf_core_fields_are_compat
  - bpf_core_match_member
  - bpf_core_spec_match
  - bpf_core_calc_field_relo
  - bpf_core_calc_type_relo
  - bpf_core_calc_enumval_relo
  - bpf_core_calc_relo
  - bpf_core_poison_insn
  - insn_bpf_size_to_bytes
  - insn_bytes_to_bpf_size
  - bpf_core_patch_insn
  - (res->validate && insn->imm != orig_val)
  - bpf_core_format_spec
  - append_buf
  - bpf_core_calc_relo_insn
  - bpf_core_names_match
  - bpf_core_enums_match
  - bpf_core_composites_match
  - __bpf_core_types_match
  source_file: /src/libbpf/src/relo_core.c
  types:
    enum:
    - enumerators:
      - name: LIBBPF_WARN
      - name: LIBBPF_INFO
      - name: LIBBPF_DEBUG
      item_type: enum
      name: libbpf_print_level
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/libbpf/src/relo_core.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/libbpf_legacy.h
  types:
    enum:
    - enumerators:
      - name: LIBBPF_STRICT_ALL
        value: '0xffffffff'
      - name: LIBBPF_STRICT_SEC_NAME
        value: '0x04'
      - name: LIBBPF_STRICT_NONE
        value: '0x00'
      - name: LIBBPF_STRICT_DIRECT_ERRS
        value: '0x02'
      - name: LIBBPF_STRICT_CLEAN_PTRS
        value: '0x01'
      - name: LIBBPF_STRICT_NO_OBJECT_LIST
        value: '0x08'
      - name: LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK
        value: '0x10'
      - name: LIBBPF_STRICT_MAP_DEFINITIONS
        value: '0x20'
      - name: __LIBBPF_STRICT_LAST
      item_type: enum
      name: libbpf_strict_mode
      pos:
        line_end: 91
        line_start: 27
        source_file: /src/libbpf/src/libbpf_legacy.h
    preproc_defs:
    - item_type: preproc_def
      name: DECLARE_LIBBPF_OPTS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libbpf/src/libbpf_legacy.h
      type_or_value: LIBBPF_OPTS
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/bpf_helper_defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __bpf_fastcall
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libbpf/src/bpf_helper_defs.h
      type_or_value: __attribute__((bpf_fastcall))
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptr_to_u64
  - sys_bpf_ext
  - sys_bpf_ext_fd
  - probe_sys_bpf_ext
  - sys_bpf
  - sys_bpf_fd
  - sys_bpf_prog_load
  - probe_memcg_account
  - libbpf_set_memlock_rlim
  - bump_rlimit_memlock
  - bpf_map_create
  - alloc_zero_tailing_info
  - bpf_prog_load
  - bpf_map_update_elem
  - bpf_map_lookup_elem
  - bpf_map_lookup_elem_flags
  - bpf_map_lookup_and_delete_elem
  - bpf_map_lookup_and_delete_elem_flags
  - bpf_map_delete_elem
  - bpf_map_delete_elem_flags
  - bpf_map_get_next_key
  - bpf_map_freeze
  - bpf_map_batch_common
  - bpf_map_delete_batch
  - bpf_map_lookup_batch
  - bpf_map_lookup_and_delete_batch
  - bpf_map_update_batch
  - bpf_obj_pin_opts
  - bpf_obj_pin
  - bpf_obj_get
  - bpf_obj_get_opts
  - bpf_prog_attach
  - bpf_prog_attach_opts
  - bpf_prog_detach_opts
  - bpf_prog_detach
  - bpf_prog_detach2
  - bpf_link_create
  - bpf_link_detach
  - bpf_link_update
  - bpf_iter_create
  - bpf_prog_query_opts
  - bpf_prog_query
  - bpf_prog_test_run_opts
  - bpf_obj_get_next_id
  - bpf_prog_get_next_id
  - bpf_map_get_next_id
  - bpf_btf_get_next_id
  - bpf_link_get_next_id
  - bpf_prog_get_fd_by_id_opts
  - bpf_prog_get_fd_by_id
  - bpf_map_get_fd_by_id_opts
  - bpf_map_get_fd_by_id
  - bpf_btf_get_fd_by_id_opts
  - bpf_btf_get_fd_by_id
  - bpf_link_get_fd_by_id_opts
  - bpf_link_get_fd_by_id
  - bpf_obj_get_info_by_fd
  - bpf_prog_get_info_by_fd
  - bpf_map_get_info_by_fd
  - bpf_btf_get_info_by_fd
  - bpf_link_get_info_by_fd
  - bpf_raw_tracepoint_open_opts
  - bpf_raw_tracepoint_open
  - bpf_btf_load
  - bpf_task_fd_query
  - bpf_enable_stats
  - bpf_prog_bind_map
  - bpf_token_create
  - bpf_prog_stream_read
  - bpf_prog_assoc_struct_ops
  source_file: /src/libbpf/src/bpf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '357'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '321'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '280'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '349'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '351'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '280'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '4355'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '6319'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '5315'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libbpf/src/bpf.c
      type_or_value: '280'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/relo_core.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_CORE_SPEC_MAX_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/src/relo_core.h
      type_or_value: '64'
    structs:
    - fields:
      - name: '*btf'
        type: struct btf
      - name: id
        type: __u32
      item_type: struct
      name: bpf_core_cand
      pos:
        line_end: 11
        line_start: 8
        source_file: /src/libbpf/src/relo_core.h
    - fields:
      - name: '*cands'
        type: struct bpf_core_cand
      - name: len
        type: int
      item_type: struct
      name: bpf_core_cand_list
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/libbpf/src/relo_core.h
    - fields:
      - name: type_id
        type: __u32
      - name: idx
        type: __u32
      - name: '*name'
        type: char
      item_type: struct
      name: bpf_core_accessor
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/libbpf/src/relo_core.h
    - fields:
      - name: '*btf'
        type: struct btf
      - name: spec[BPF_CORE_SPEC_MAX_LEN]
        type: struct bpf_core_accessor
      - name: root_type_id
        type: __u32
      - name: relo_kind
        type: enum bpf_core_relo_kind
      - name: len
        type: int
      - name: raw_spec[BPF_CORE_SPEC_MAX_LEN]
        type: int
      - name: raw_len
        type: int
      - name: bit_offset
        type: __u32
      item_type: struct
      name: bpf_core_spec
      pos:
        line_end: 44
        line_start: 28
        source_file: /src/libbpf/src/relo_core.h
    - fields:
      - name: orig_val
        type: __u64
      - name: new_val
        type: __u64
      - name: poison
        type: bool
      - name: validate
        type: bool
      - name: fail_memsz_adjust
        type: bool
      - name: orig_sz
        type: __u32
      - name: orig_type_id
        type: __u32
      - name: new_sz
        type: __u32
      - name: new_type_id
        type: __u32
      item_type: struct
      name: bpf_core_relo_res
      pos:
        line_end: 68
        line_start: 46
        source_file: /src/libbpf/src/relo_core.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/bpf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: bpf_log_opts__last_field
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libbpf/src/bpf.h
      type_or_value: true_size
    - item_type: preproc_def
      name: bpf_map_create_opts__last_field
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/src/bpf.h
      type_or_value: log_opts
    - item_type: preproc_def
      name: bpf_prog_load_opts__last_field
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libbpf/src/bpf.h
      type_or_value: fd_array_cnt
    - item_type: preproc_def
      name: MAPS_RELAX_COMPAT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libbpf/src/bpf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: BPF_LOG_BUF_SIZE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libbpf/src/bpf.h
      type_or_value: '(UINT32_MAX >> 8) '
    - item_type: preproc_def
      name: bpf_btf_load_opts__last_field
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libbpf/src/bpf.h
      type_or_value: token_fd
    - item_type: preproc_def
      name: bpf_map_batch_opts__last_field
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libbpf/src/bpf.h
      type_or_value: flags
    - item_type: preproc_def
      name: bpf_obj_pin_opts__last_field
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libbpf/src/bpf.h
      type_or_value: path_fd
    - item_type: preproc_def
      name: bpf_obj_get_opts__last_field
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/libbpf/src/bpf.h
      type_or_value: path_fd
    - item_type: preproc_def
      name: bpf_prog_attach_opts__last_field
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/libbpf/src/bpf.h
      type_or_value: expected_revision
    - item_type: preproc_def
      name: bpf_prog_detach_opts__last_field
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libbpf/src/bpf.h
      type_or_value: expected_revision
    - item_type: preproc_def
      name: bpf_link_create_opts__last_field
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/libbpf/src/bpf.h
      type_or_value: uprobe_multi.path_fd
    - item_type: preproc_def
      name: bpf_link_update_opts__last_field
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libbpf/src/bpf.h
      type_or_value: old_map_fd
    - item_type: preproc_def
      name: bpf_get_fd_by_id_opts__last_field
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libbpf/src/bpf.h
      type_or_value: token_fd
    - item_type: preproc_def
      name: bpf_prog_query_opts__last_field
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/libbpf/src/bpf.h
      type_or_value: revision
    - item_type: preproc_def
      name: bpf_raw_tp_opts__last_field
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/libbpf/src/bpf.h
      type_or_value: cookie
    - item_type: preproc_def
      name: bpf_prog_bind_opts__last_field
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/libbpf/src/bpf.h
      type_or_value: flags
    - item_type: preproc_def
      name: bpf_test_run_opts__last_field
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/libbpf/src/bpf.h
      type_or_value: batch_size
    - item_type: preproc_def
      name: bpf_token_create_opts__last_field
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/libbpf/src/bpf.h
      type_or_value: flags
    - item_type: preproc_def
      name: bpf_prog_stream_read_opts__last_field
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/libbpf/src/bpf.h
      type_or_value: sz
    - item_type: preproc_def
      name: bpf_prog_assoc_struct_ops_opts__last_field
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/libbpf/src/bpf.h
      type_or_value: flags
    structs:
    - fields:
      - name: sz
        type: size_t
      - name: '*buf'
        type: char
      - name: size
        type: __u32
      - name: level
        type: __u32
      - name: true_size
        type: __u32
      item_type: struct
      name: bpf_log_opts
      pos:
        line_end: 48
        line_start: 39
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: btf_fd
        type: __u32
      - name: btf_key_type_id
        type: __u32
      - name: btf_value_type_id
        type: __u32
      - name: btf_vmlinux_value_type_id
        type: __u32
      - name: inner_map_fd
        type: __u32
      - name: map_flags
        type: __u32
      - name: map_extra
        type: __u64
      - name: numa_node
        type: __u32
      - name: map_ifindex
        type: __u32
      - name: value_type_btf_obj_fd
        type: __s32
      - name: token_fd
        type: __u32
      - name: '*excl_prog_hash'
        type: void
      - name: excl_prog_hash_size
        type: __u32
      - name: '*log_opts'
        type: struct bpf_log_opts
      item_type: struct
      name: bpf_map_create_opts
      pos:
        line_end: 75
        line_start: 51
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: attempts
        type: int
      - name: expected_attach_type
        type: enum bpf_attach_type
      - name: prog_btf_fd
        type: __u32
      - name: prog_flags
        type: __u32
      - name: prog_ifindex
        type: __u32
      - name: kern_version
        type: __u32
      - name: attach_btf_id
        type: __u32
      - name: attach_prog_fd
        type: __u32
      - name: attach_btf_obj_fd
        type: __u32
      - name: '*fd_array'
        type: int
      - name: '*func_info'
        type: void
      - name: func_info_cnt
        type: __u32
      - name: func_info_rec_size
        type: __u32
      - name: '*line_info'
        type: void
      - name: line_info_cnt
        type: __u32
      - name: line_info_rec_size
        type: __u32
      - name: log_level
        type: __u32
      - name: log_size
        type: __u32
      - name: '*log_buf'
        type: char
      - name: log_true_size
        type: __u32
      - name: token_fd
        type: __u32
      - name: fd_array_cnt
        type: __u32
      item_type: struct
      name: bpf_prog_load_opts
      pos:
        line_end: 131
        line_start: 85
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*log_buf'
        type: char
      - name: log_level
        type: __u32
      - name: log_size
        type: __u32
      - name: log_true_size
        type: __u32
      - name: btf_flags
        type: __u32
      - name: token_fd
        type: __u32
      item_type: struct
      name: bpf_btf_load_opts
      pos:
        line_end: 162
        line_start: 145
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: elem_flags
        type: __u64
      - name: flags
        type: __u64
      item_type: struct
      name: bpf_map_batch_opts
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: file_flags
        type: __u32
      - name: path_fd
        type: int
      item_type: struct
      name: bpf_obj_pin_opts
      pos:
        line_end: 337
        line_start: 330
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: file_flags
        type: __u32
      - name: path_fd
        type: int
      item_type: struct
      name: bpf_obj_get_opts
      pos:
        line_end: 351
        line_start: 344
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: relative_fd
        type: int
      - name: relative_id
        type: __u32
      - name: expected_revision
        type: __u64
      item_type: struct
      name: bpf_prog_attach_opts
      pos:
        line_end: 375
        line_start: 364
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: relative_fd
        type: int
      - name: relative_id
        type: __u32
      - name: expected_revision
        type: __u64
      item_type: struct
      name: bpf_prog_detach_opts
      pos:
        line_end: 385
        line_start: 378
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: '*iter_info'
        type: union bpf_iter_link_info
      - name: iter_info_len
        type: __u32
      - name: target_btf_id
        type: __u32
      item_type: struct
      name: bpf_link_create_opts
      pos:
        line_end: 479
        line_start: 421
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: old_prog_fd
        type: __u32
      - name: old_map_fd
        type: __u32
      item_type: struct
      name: bpf_link_update_opts
      pos:
        line_end: 493
        line_start: 488
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: prog_fd
        type: int
      - name: repeat
        type: int
      - name: '*data_in'
        type: void
      - name: data_size_in
        type: __u32
      - name: '*data_out'
        type: void
      - name: data_size_out
        type: __u32
      - name: retval
        type: __u32
      - name: duration
        type: __u32
      - name: '*ctx_in'
        type: void
      - name: ctx_size_in
        type: __u32
      - name: '*ctx_out'
        type: void
      - name: ctx_size_out
        type: __u32
      item_type: struct
      name: bpf_prog_test_run_attr
      pos:
        line_end: 516
        line_start: 501
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: open_flags
        type: __u32
      - name: token_fd
        type: __u32
      item_type: struct
      name: bpf_get_fd_by_id_opts
      pos:
        line_end: 528
        line_start: 523
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: query_flags
        type: __u32
      - name: attach_flags
        type: __u32
      - name: '*prog_ids'
        type: __u32
      - name: '*prog_attach_flags'
        type: __u32
      - name: '*link_ids'
        type: __u32
      - name: '*link_attach_flags'
        type: __u32
      - name: revision
        type: __u64
      item_type: struct
      name: bpf_prog_query_opts
      pos:
        line_end: 640
        line_start: 625
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*tp_name'
        type: char
      - name: cookie
        type: __u64
      item_type: struct
      name: bpf_raw_tp_opts
      pos:
        line_end: 665
        line_start: 660
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      item_type: struct
      name: bpf_prog_bind_opts
      pos:
        line_end: 687
        line_start: 684
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*data_in'
        type: void
      - name: '*data_out'
        type: void
      - name: data_size_in
        type: __u32
      - name: data_size_out
        type: __u32
      - name: '*ctx_in'
        type: void
      - name: '*ctx_out'
        type: void
      - name: ctx_size_in
        type: __u32
      - name: ctx_size_out
        type: __u32
      - name: retval
        type: __u32
      - name: repeat
        type: int
      - name: duration
        type: __u32
      - name: flags
        type: __u32
      - name: cpu
        type: __u32
      - name: batch_size
        type: __u32
      item_type: struct
      name: bpf_test_run_opts
      pos:
        line_end: 713
        line_start: 693
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      item_type: struct
      name: bpf_token_create_opts
      pos:
        line_end: 723
        line_start: 719
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: bpf_prog_stream_read_opts
      pos:
        line_end: 746
        line_start: 743
        source_file: /src/libbpf/src/bpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      item_type: struct
      name: bpf_prog_assoc_struct_ops_opts
      pos:
        line_end: 768
        line_start: 764
        source_file: /src/libbpf/src/bpf.h
    typedefs: []
    union: []
- function_names:
  - __bpf_usdt_spec_id
  - bpf_usdt_arg_cnt
  - bpf_usdt_arg_size
  - bpf_usdt_arg
  - bpf_usdt_cookie
  - ___bpf_usdt_args0
  - ___bpf_usdt_args1
  - ___bpf_usdt_args2
  - ___bpf_usdt_args3
  - ___bpf_usdt_args4
  - ___bpf_usdt_args5
  - ___bpf_usdt_args6
  - ___bpf_usdt_args7
  - ___bpf_usdt_args8
  - ___bpf_usdt_args9
  - ___bpf_usdt_args10
  - ___bpf_usdt_args11
  - ___bpf_usdt_args12
  - ___bpf_usdt_args
  - BPF_USDT
  source_file: /src/libbpf/src/usdt.bpf.h
  types:
    enum:
    - enumerators:
      - name: BPF_USDT_ARG_CONST
      - name: BPF_USDT_ARG_REG
      - name: BPF_USDT_ARG_SIB
      - name: BPF_USDT_ARG_REG_DEREF
      item_type: enum
      name: __bpf_usdt_arg_type
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/libbpf/src/usdt.bpf.h
    preproc_defs:
    - item_type: preproc_def
      name: BPF_USDT_MAX_SPEC_CNT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/src/usdt.bpf.h
      type_or_value: '256'
    - item_type: preproc_def
      name: BPF_USDT_MAX_IP_CNT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libbpf/src/usdt.bpf.h
      type_or_value: (4 * BPF_USDT_MAX_SPEC_CNT)
    - item_type: preproc_def
      name: BPF_USDT_MAX_ARG_CNT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libbpf/src/usdt.bpf.h
      type_or_value: '12'
    structs:
    - fields:
      - name: val_off
        type: __u64
      - name: reg_off
        type: short
      - name: arg_signed
        type: bool
      - name: arg_bitshift
        type: char
      item_type: struct
      name: __bpf_usdt_arg_spec
      pos:
        line_end: 71
        line_start: 44
        source_file: /src/libbpf/src/usdt.bpf.h
    - fields:
      - name: args[BPF_USDT_MAX_ARG_CNT]
        type: struct __bpf_usdt_arg_spec
      - name: usdt_cookie
        type: __u64
      - name: arg_cnt
        type: short
      item_type: struct
      name: __bpf_usdt_spec
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/libbpf/src/usdt.bpf.h
    - fields: []
      item_type: struct
      name: __bpf_usdt_specs SEC(".maps")
      pos:
        line_end: 86
        line_start: 81
        source_file: /src/libbpf/src/usdt.bpf.h
    - fields: []
      item_type: struct
      name: __bpf_usdt_ip_to_spec_id SEC(".maps")
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/libbpf/src/usdt.bpf.h
    typedefs: []
    union: []
- function_names:
  - ___bpf_mvb
  - ___bpf_swab16
  - ___bpf_swab32
  - ___bpf_swab64
  - __bpf_ntohs
  - __bpf_htons
  - __bpf_constant_ntohs
  - __bpf_constant_htons
  - __bpf_ntohl
  - __bpf_htonl
  - __bpf_constant_ntohl
  - __bpf_constant_htonl
  - __bpf_be64_to_cpu
  - __bpf_cpu_to_be64
  - __bpf_constant_be64_to_cpu
  - __bpf_constant_cpu_to_be64
  - __bpf_ntohs
  - __bpf_htons
  - __bpf_constant_ntohs
  - __bpf_constant_htons
  - __bpf_ntohl
  - __bpf_htonl
  - __bpf_constant_ntohl
  - __bpf_constant_htonl
  - __bpf_be64_to_cpu
  - __bpf_cpu_to_be64
  - __bpf_constant_be64_to_cpu
  - __bpf_constant_cpu_to_be64
  - bpf_htons
  - bpf_ntohs
  - bpf_htonl
  - bpf_ntohl
  - bpf_cpu_to_be64
  - bpf_be64_to_cpu
  source_file: /src/libbpf/src/bpf_endian.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pfx
  - str_hash_fn
  - str_equal_fn
  - btf_name_of
  - btf_dump_printf
  - btf_dump__new
  - btf_dump_resize
  - btf_dump_free_names
  - btf_dump__free
  - btf_dump__dump_type
  - btf_dump_mark_referenced
  - btf_dump_add_emit_queue_id
  - btf_dump_order_type
  - btf_dump_is_blacklisted
  - btf_dump_emit_type
  - btf_is_struct_packed
  - btf_dump_emit_bit_padding
  - btf_dump_emit_struct_fwd
  - btf_dump_emit_struct_def
  - btf_dump_emit_missing_aliases
  - btf_dump_emit_enum_fwd
  - btf_dump_emit_enum32_val
  - btf_dump_emit_enum64_val
  - btf_dump_emit_enum_def
  - btf_dump_emit_fwd_def
  - btf_dump_emit_typedef_def
  - btf_dump_push_decl_stack_id
  - btf_dump__emit_type_decl
  - btf_dump_emit_type_decl
  - btf_dump_emit_mods
  - btf_dump_drop_mods
  - btf_dump_emit_name
  - btf_dump_emit_type_chain
  - btf_dump_emit_type_cast
  - btf_dump_name_dups
  - btf_dump_resolve_name
  - btf_dump_type_name
  - btf_dump_ident_name
  - btf_dump_data_newline
  - btf_dump_data_delim
  - btf_dump_data_pfx
  - btf_dump_type_values
  - btf_dump_unsupported_data
  - btf_dump_get_bitfield_value
  - btf_dump_bitfield_check_zero
  - btf_dump_bitfield_data
  - btf_dump_base_type_check_zero
  - ptr_is_aligned
  - btf_dump_int_data
  - btf_dump_float_data
  - btf_dump_var_data
  - btf_dump_string_data
  - btf_dump_array_data
  - btf_dump_struct_data
  - btf_dump_ptr_data
  - btf_dump_get_enum_value
  - btf_dump_enum_data
  - btf_dump_datasec_data
  - btf_dump_type_data_check_overflow
  - btf_dump_type_data_check_zero
  - btf_dump_dump_type_data
  - btf_dump__dump_type_data
  source_file: /src/libbpf/src/btf_dump.c
  types:
    enum:
    - enumerators:
      - name: NOT_ORDERED
      - name: ORDERING
      - name: ORDERED
      item_type: enum
      name: btf_dump_type_order_state
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/libbpf/src/btf_dump.c
    - enumerators:
      - name: NOT_EMITTED
      - name: EMITTED
      - name: EMITTING
      item_type: enum
      name: btf_dump_type_emit_state
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/libbpf/src/btf_dump.c
    preproc_defs:
    - item_type: preproc_def
      name: BTF_DATA_INDENT_STR_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libbpf/src/btf_dump.c
      type_or_value: '32'
    structs:
    - fields:
      - name: order_state
        type: enum btf_dump_type_order_state
      - name: emit_state
        type: enum btf_dump_type_emit_state
      - name: fwd_emitted
        type: __u8
      - name: name_resolved
        type: __u8
      - name: referenced
        type: __u8
      item_type: struct
      name: btf_dump_type_aux_state
      pos:
        line_end: 56
        line_start: 45
        source_file: /src/libbpf/src/btf_dump.c
    - fields:
      - name: '*data_end'
        type: void
      - name: compact
        type: bool
      - name: skip_names
        type: bool
      - name: emit_zeroes
        type: bool
      - name: emit_strings
        type: bool
      - name: indent_lvl
        type: __u8
      - name: indent_str[BTF_DATA_INDENT_STR_LEN]
        type: char
      - name: depth
        type: int
      - name: is_array_member
        type: bool
      - name: is_array_terminated
        type: bool
      - name: is_array_char
        type: bool
      item_type: struct
      name: btf_dump_data
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/libbpf/src/btf_dump.c
    - fields:
      - name: '*btf'
        type: struct btf
      - name: printf_fn
        type: btf_dump_printf_fn_t
      - name: '*cb_ctx'
        type: void
      - name: ptr_sz
        type: int
      - name: strip_mods
        type: bool
      - name: skip_anon_defs
        type: bool
      - name: last_id
        type: int
      - name: '*type_states'
        type: struct btf_dump_type_aux_state
      - name: type_states_cap
        type: size_t
      - name: '**cached_names'
        type: char
      - name: cached_names_cap
        type: size_t
      - name: '*emit_queue'
        type: __u32
      - name: emit_queue_cap
        type: int
      - name: emit_queue_cnt
        type: int
      - name: '*decl_stack'
        type: __u32
      - name: decl_stack_cap
        type: int
      - name: decl_stack_cnt
        type: int
      - name: '*type_names'
        type: struct hashmap
      - name: '*ident_names'
        type: struct hashmap
      - name: '*typed_dump'
        type: struct btf_dump_data
      item_type: struct
      name: btf_dump
      pos:
        line_end: 119
        line_start: 79
        source_file: /src/libbpf/src/btf_dump.c
    - fields:
      - name: '*ids'
        type: __u32
      - name: cnt
        type: int
      item_type: struct
      name: id_stack
      pos:
        line_end: 642
        line_start: 639
        source_file: /src/libbpf/src/btf_dump.c
    - fields:
      - name: '*name'
        type: char
      - name: bits
        type: int
      item_type: struct
      name: "pads[] = {\n\t\t{\"long\", d->ptr_sz * 8}, {\"int\", 32}, {\"short\",
        16}, {\"char\", 8}\n\t}"
      pos:
        line_end: 870
        line_start: 867
        source_file: /src/libbpf/src/btf_dump.c
    typedefs: []
    union:
    - fields:
      - name: ld
        type: long double
      - name: d
        type: double
      - name: f
        type: float
      item_type: union
      name: float_data
      pos:
        line_end: 1974
        line_start: 1970
        source_file: /src/libbpf/src/btf_dump.c
    - fields:
      - name: p
        type: unsigned int
      - name: lp
        type: unsigned long long
      item_type: union
      name: ptr_data
      pos:
        line_end: 2199
        line_start: 2196
        source_file: /src/libbpf/src/btf_dump.c
- function_names: []
  source_file: /src/libbpf/src/zip.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: compression
        type: __u16
      - name: '*name'
        type: char
      - name: name_length
        type: __u16
      - name: '*data'
        type: void
      - name: data_length
        type: __u32
      - name: data_offset
        type: __u32
      item_type: struct
      name: zip_entry
      pos:
        line_end: 35
        line_start: 20
        source_file: /src/libbpf/src/zip.h
    typedefs: []
    union: []
- function_names:
  - libbpf_netlink_open
  - libbpf_netlink_close
  - netlink_recvmsg
  - alloc_iov
  - libbpf_netlink_recv
  - libbpf_netlink_send_recv
  - parse_genl_family_id
  - libbpf_netlink_resolve_genl_family_id
  - __bpf_set_link_xdp_fd_replace
  - bpf_xdp_attach
  - bpf_xdp_detach
  - __dump_link_nlmsg
  - get_xdp_info
  - parse_xdp_features
  - bpf_xdp_query
  - bpf_xdp_query_id
  - clsact_config
  - qdisc_config
  - attach_point_to_config
  - tc_get_tcm_parent
  - tc_qdisc_modify
  - tc_qdisc_create_excl
  - tc_qdisc_delete
  - bpf_tc_hook_create
  - bpf_tc_hook_destroy
  - __get_tc_info
  - get_tc_info
  - tc_add_fd_and_name
  - bpf_tc_attach
  - __bpf_tc_detach
  - bpf_tc_detach
  - bpf_tc_query
  source_file: /src/libbpf/src/netlink.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOL_NETLINK
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/src/netlink.c
      type_or_value: '270'
    structs:
    - fields:
      - name: prog_id
        type: __u32
      - name: drv_prog_id
        type: __u32
      - name: hw_prog_id
        type: __u32
      - name: skb_prog_id
        type: __u32
      - name: attach_mode
        type: __u8
      item_type: struct
      name: xdp_link_info
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/libbpf/src/netlink.c
    - fields:
      - name: ifindex
        type: int
      - name: flags
        type: __u32
      - name: info
        type: struct xdp_link_info
      - name: feature_flags
        type: __u64
      item_type: struct
      name: xdp_id_md
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/libbpf/src/netlink.c
    - fields:
      - name: ifindex
        type: int
      - name: xdp_zc_max_segs
        type: __u32
      - name: flags
        type: __u64
      item_type: struct
      name: xdp_features_md
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/libbpf/src/netlink.c
    - fields:
      - name: '*opts'
        type: struct bpf_tc_opts
      - name: processed
        type: bool
      item_type: struct
      name: bpf_cb_ctx
      pos:
        line_end: 669
        line_start: 666
        source_file: /src/libbpf/src/netlink.c
    typedefs:
    - item_type: typedef
      name: (*libbpf_dump_nlmsg_t)(void *cookie, void *msg, struct nlattr **tb)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/libbpf/src/netlink.c
      type: int
    - item_type: typedef
      name: "(*__dump_nlmsg_t)(struct nlmsghdr *nlmsg, libbpf_dump_nlmsg_t,\n\t\t\t
        \     void *cookie)"
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/src/netlink.c
      type: int
    - item_type: typedef
      name: (*qdisc_config_t)(struct libbpf_nla_req *req, const struct bpf_tc_hook
        *hook)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/libbpf/src/netlink.c
      type: int
    union: []
- function_names:
  - ptr_to_u64
  - probe_fd
  - probe_kern_prog_name
  - probe_kern_global_data
  - probe_kern_btf
  - probe_kern_btf_func
  - probe_kern_btf_func_global
  - probe_kern_btf_datasec
  - probe_kern_btf_qmark_datasec
  - probe_kern_btf_float
  - probe_kern_btf_decl_tag
  - probe_kern_btf_type_tag
  - probe_kern_array_mmap
  - probe_kern_exp_attach_type
  - probe_kern_probe_read_kernel
  - probe_prog_bind_map
  - probe_module_btf
  - probe_perf_link
  - probe_uprobe_multi_link
  - probe_kern_bpf_cookie
  - probe_kern_btf_enum64
  - probe_kern_arg_ctx_tag
  - probe_ldimm64_full_range_off
  - probe_uprobe_syscall
  - probe_uprobe_syscall
  - probe_kern_btf_layout
  - probe_bpf_syscall_common_attrs
  - feat_supported
  source_file: /src/libbpf/src/features.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __NR_uprobe
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/libbpf/src/features.c
      type_or_value: '336'
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: probe
        type: feature_probe_fn
      item_type: struct
      name: kern_feature_desc
      pos:
        line_end: 629
        line_start: 626
        source_file: /src/libbpf/src/features.c
    typedefs:
    - item_type: typedef
      name: (*feature_probe_fn)(int /* token_fd */)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/libbpf/src/features.c
      type: int
    union: []
- function_names:
  - hash_bits
  - str_hash
  - hashmap_cast_ptr
  - hashmap__insert
  - hashmap__add
  - hashmap__set
  - hashmap__update
  - hashmap__append
  - hashmap__delete
  - hashmap__find
  - hashmap__for_each_entry
  - hashmap__for_each_entry_safe
  - hashmap__for_each_key_entry
  - hashmap__for_each_key_entry_safe
  source_file: /src/libbpf/src/hashmap.h
  types:
    enum:
    - enumerators:
      - name: HASHMAP_ADD
      - name: HASHMAP_SET
      - name: HASHMAP_APPEND
      - name: HASHMAP_UPDATE
      item_type: enum
      name: hashmap_insert_strategy
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/libbpf/src/hashmap.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct hashmap_entry
      item_type: struct
      name: hashmap_entry
      pos:
        line_end: 69
        line_start: 59
        source_file: /src/libbpf/src/hashmap.h
    - fields:
      - name: hash_fn
        type: hashmap_hash_fn
      - name: equal_fn
        type: hashmap_equal_fn
      - name: '*ctx'
        type: void
      - name: '**buckets'
        type: struct hashmap_entry
      - name: cap
        type: size_t
      - name: cap_bits
        type: size_t
      - name: sz
        type: size_t
      item_type: struct
      name: hashmap
      pos:
        line_end: 80
        line_start: 71
        source_file: /src/libbpf/src/hashmap.h
    typedefs:
    - item_type: typedef
      name: (*hashmap_hash_fn)(long key, void *ctx)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/libbpf/src/hashmap.h
      type: size_t
    - item_type: typedef
      name: (*hashmap_equal_fn)(long key1, long key2, void *ctx)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/libbpf/src/hashmap.h
      type: bool
    union: []
- function_names: []
  source_file: /src/libbpf/src/strset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hashmap_add_entry
  - hashmap_del_entry
  - hashmap__init
  - hashmap__new
  - hashmap__clear
  - hashmap__for_each_entry_safe
  - hashmap__free
  - hashmap__size
  - hashmap__capacity
  - hashmap_needs_to_grow
  - hashmap_grow
  - hashmap__for_each_entry_safe
  - hashmap_find_entry
  - hashmap_insert
  - hashmap_find
  - hashmap_delete
  source_file: /src/libbpf/src/hashmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASHMAP_MIN_CAP_BITS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/src/hashmap.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - __printf
  - __base_pr
  - libbpf_set_print
  - libbpf_print
  - pr_perm_msg
  - zfree
  - zclose
  - ptr_to_u64
  - libbpf_set_strict_mode
  - libbpf_major_version
  - libbpf_minor_version
  - libbpf_version_string
  - __S
  - _S
  - bpf_program__unload
  - bpf_program__exit
  - insn_is_subprog_call
  - is_call_insn
  - insn_is_pseudo_func
  - bpf_object__init_prog
  - bpf_object__add_programs
  - bpf_object_bswap_progs
  - find_member_by_offset
  - find_member_by_name
  - find_struct_ops_kern_types
  - bpf_map__is_struct_ops
  - is_valid_st_ops_program
  - bpf_object_adjust_struct_ops_autoload
  - bpf_map__init_kern_struct_ops
  - bpf_object__init_kern_struct_ops_maps
  - init_struct_ops_maps
  - bpf_object_init_struct_ops
  - bpf_object__new
  - bpf_object__elf_finish
  - bpf_object__elf_init
  - is_native_endianness
  - bpf_object__init_license
  - bpf_object__init_kversion
  - bpf_map_type__is_map_in_map
  - find_elf_sec_sz
  - find_elf_var_sym
  - create_placeholder_fd
  - bpf_object__add_map
  - array_map_mmap_sz
  - bpf_map_mmap_sz
  - bpf_map_mmap_resize
  - internal_map_name
  - map_is_mmapable
  - bpf_object__init_internal_map
  - bpf_object__init_global_data_maps
  - find_extern_by_name
  - find_extern_by_name_with_len
  - set_kcfg_value_tri
  - set_kcfg_value_str
  - parse_u64
  - is_kcfg_value_in_range
  - set_kcfg_value_num
  - bpf_object__process_kconfig_line
  - bpf_object__read_kconfig_file
  - bpf_object__read_kconfig_mem
  - bpf_object__init_kconfig_map
  - skip_mods_and_typedefs
  - resolve_func_ptr
  - __btf_kind_str
  - btf_kind_str
  - get_map_field_int
  - get_map_field_long
  - pathname_concat
  - build_map_pin_path
  - parse_btf_map_def
  - adjust_ringbuf_sz
  - map_is_ringbuf
  - fill_map_from_def
  - btf_var_linkage_str
  - bpf_object__init_user_btf_map
  - init_arena_map_data
  - bpf_object__init_user_btf_maps
  - bpf_object__init_maps
  - section_have_execinstr
  - starts_with_qmark
  - btf_needs_sanitization
  - bpf_object__sanitize_btf
  - libbpf_needs_btf
  - kernel_needs_btf
  - bpf_object__init_btf
  - for_each_btf_ext_sec
  - compare_vsi_off
  - btf_fixup_datasec
  - bpf_object_fixup_btf
  - prog_needs_vmlinux_btf
  - map_needs_vmlinux_btf
  - obj_needs_vmlinux_btf
  - bpf_object__for_each_program
  - bpf_object__for_each_map
  - bpf_object__load_vmlinux_btf
  - bpf_object__sanitize_and_load_btf
  - elf_sym_str
  - elf_sec_str
  - elf_sec_by_idx
  - elf_sec_by_name
  - elf_sec_hdr
  - elf_sec_name
  - elf_sec_data
  - elf_sym_by_idx
  - elf_rel_by_idx
  - is_sec_name_dwarf
  - ignore_elf_section
  - cmp_progs
  - bpf_object__elf_collect
  - sym_is_extern
  - sym_is_subprog
  - find_extern_btf_id
  - find_extern_sec_btf_id
  - find_kcfg_type
  - cmp_externs
  - find_int_btf_id
  - add_dummy_ksym_var
  - bpf_object__collect_externs
  - prog_is_subprog
  - bpf_object__find_program_by_name
  - bpf_object__for_each_program
  - bpf_object__shndx_is_data
  - bpf_object__shndx_is_maps
  - bpf_object__section_to_libbpf_map_type
  - bpf_prog_compute_hash
  - bpf_program__record_reloc
  - prog_contains_insn
  - find_prog_by_sec_insn
  - bpf_object__collect_prog_relos
  - map_fill_btf_type_info
  - bpf_get_map_info_from_fdinfo
  - map_is_created
  - bpf_map__autocreate
  - bpf_map__set_autocreate
  - bpf_map__set_autoattach
  - bpf_map__autoattach
  - bpf_map__reuse_fd
  - bpf_map__max_entries
  - bpf_map__inner_map
  - bpf_map__set_max_entries
  - bpf_object_prepare_token
  - bpf_object__probe_loading
  - kernel_supports
  - bpf_object_set_feat_cache
  - map_is_reuse_compat
  - bpf_object__reuse_map
  - bpf_object__populate_internal_map
  - bpf_object__create_map
  - init_map_in_map_slots
  - init_prog_array_slots
  - bpf_object_init_prog_arrays
  - map_set_def_max_entries
  - bpf_object__create_maps
  - bpf_core_is_flavor_sep
  - bpf_core_essential_name_len
  - bpf_core_free_cands
  - bpf_core_add_cands
  - load_module_btfs
  - bpf_core_find_cands
  - bpf_core_types_are_compat
  - bpf_core_types_match
  - bpf_core_hash_fn
  - bpf_core_equal_fn
  - record_relo_core
  - find_relo_core
  - bpf_core_resolve_relo
  - bpf_object__relocate_core
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - hashmap__for_each_entry
  - poison_map_ldimm64
  - poison_kfunc_call
  - find_jt_map
  - add_jt_map
  - find_subprog_idx
  - create_jt_map
  - bpf_object__relocate_data
  - adjust_prog_btf_ext_info
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - reloc_prog_func_and_line_info
  - cmp_relo_by_insn_idx
  - find_prog_insn_relo
  - append_subprog_relos
  - save_subprog_offsets
  - bpf_object__append_subprog_code
  - bpf_object__reloc_code
  - bpf_object__relocate_calls
  - bpf_object__free_relocs
  - cmp_relocs
  - bpf_object__sort_relos
  - bpf_prog_assign_exc_cb
  - need_func_arg_type_fixup
  - clone_func_btf_info
  - bpf_program_fixup_func_info
  - bpf_object__relocate
  - bpf_object__collect_map_relos
  - bpf_object__collect_relos
  - insn_is_helper_call
  - bpf_object__sanitize_prog
  - is_tracing_multi
  - find_attach_module
  - tracing_multi_mod_fd
  - libbpf_prepare_prog_load
  - bpf_object_load_prog
  - find_prev_line
  - patch_log
  - fixup_log_failed_core_relo
  - fixup_log_missing_map_load
  - fixup_log_missing_kfunc_call
  - fixup_verifier_log
  - bpf_program_record_relos
  - bpf_object__load_progs
  - bpf_object_prepare_progs
  - bpf_object_init_progs
  - bpf_object__for_each_program
  - bpf_object_open
  - bpf_object__open_file
  - bpf_object__open
  - bpf_object__open_mem
  - bpf_object_unload
  - bpf_object__sanitize_maps
  - bpf_object__for_each_map
  - libbpf_kallsyms_parse
  - kallsyms_cb
  - bpf_object__read_kallsyms_file
  - find_ksym_btf_id
  - bpf_object__resolve_ksym_var_btf_id
  - bpf_object__resolve_ksym_func_btf_id
  - bpf_object__resolve_ksyms_btf_id
  - bpf_object__resolve_externs
  - bpf_map_prepare_vdata
  - bpf_object_prepare_struct_ops
  - bpf_object_unpin
  - bpf_object_cleanup_btf
  - bpf_object_post_load_cleanup
  - bpf_object_prepare
  - bpf_object_load
  - bpf_object__prepare
  - bpf_object__load
  - make_parent_dir
  - check_path
  - bpf_program__pin
  - bpf_program__unpin
  - bpf_map__pin
  - bpf_map__unpin
  - bpf_map__set_pin_path
  - bpf_map__pin_path
  - bpf_map__is_pinned
  - sanitize_pin_path
  - bpf_object__pin_maps
  - bpf_object__for_each_map
  - bpf_object__unpin_maps
  - bpf_object__for_each_map
  - bpf_object__pin_programs
  - bpf_object__for_each_program
  - bpf_object__unpin_programs
  - bpf_object__for_each_program
  - bpf_object__pin
  - bpf_object__unpin
  - bpf_map__destroy
  - bpf_object__close
  - bpf_object__name
  - bpf_object__kversion
  - bpf_object__token_fd
  - bpf_object__btf
  - bpf_object__btf_fd
  - bpf_object__set_kversion
  - bpf_object__gen_loader
  - __bpf_program__iter
  - bpf_object__next_program
  - bpf_object__prev_program
  - bpf_program__set_ifindex
  - bpf_program__name
  - bpf_program__section_name
  - bpf_program__autoload
  - bpf_program__set_autoload
  - bpf_program__autoattach
  - bpf_program__set_autoattach
  - bpf_program__insns
  - bpf_program__insn_cnt
  - bpf_program__set_insns
  - bpf_program__fd
  - bpf_program__type
  - bpf_program__set_type
  - bpf_program__expected_attach_type
  - bpf_program__set_expected_attach_type
  - bpf_program__flags
  - bpf_program__set_flags
  - bpf_program__log_level
  - bpf_program__set_log_level
  - bpf_program__log_buf
  - bpf_program__set_log_buf
  - bpf_program__func_info
  - bpf_program__func_info_cnt
  - bpf_program__line_info
  - bpf_program__line_info_cnt
  - bpf_program__clone
  - SEC_DEF
  - libbpf_register_prog_handler
  - libbpf_unregister_prog_handler
  - sec_def_matches
  - find_sec_def
  - libbpf_get_type_names
  - libbpf_prog_type_by_name
  - libbpf_bpf_attach_type_str
  - libbpf_bpf_link_type_str
  - libbpf_bpf_map_type_str
  - libbpf_bpf_prog_type_str
  - find_struct_ops_map_by_offset
  - bpf_object__collect_st_ops_relos
  - btf_get_kernel_prefix_kind
  - find_btf_by_prefix_kind
  - find_attach_btf_id
  - libbpf_find_vmlinux_btf_id
  - libbpf_find_prog_btf_id
  - find_kernel_btf_id
  - libbpf_find_attach_btf_id
  - libbpf_attach_type_by_name
  - bpf_map__fd
  - map_uses_real_name
  - bpf_map__name
  - bpf_map__type
  - bpf_map__set_type
  - bpf_map__map_flags
  - bpf_map__set_map_flags
  - bpf_map__map_extra
  - bpf_map__set_map_extra
  - bpf_map__numa_node
  - bpf_map__set_numa_node
  - bpf_map__key_size
  - bpf_map__set_key_size
  - bpf_map__value_size
  - map_btf_datasec_resize
  - bpf_map__set_value_size
  - bpf_map__btf_key_type_id
  - bpf_map__btf_value_type_id
  - bpf_map__set_initial_value
  - bpf_map__initial_value
  - bpf_map__is_internal
  - bpf_map__ifindex
  - bpf_map__set_ifindex
  - bpf_map__set_inner_map_fd
  - bpf_map__set_exclusive_program
  - bpf_map__exclusive_program
  - __bpf_map__iter
  - bpf_object__next_map
  - bpf_object__prev_map
  - bpf_object__find_map_by_name
  - bpf_object__for_each_map
  - bpf_object__find_map_fd_by_name
  - validate_map_op
  - bpf_map__lookup_elem
  - bpf_map__update_elem
  - bpf_map__delete_elem
  - bpf_map__lookup_and_delete_elem
  - bpf_map__get_next_key
  - libbpf_get_error
  - bpf_link__update_program
  - bpf_link__disconnect
  - bpf_link__destroy
  - bpf_link__fd
  - bpf_link__pin_path
  - bpf_link__detach_fd
  - bpf_link__open
  - bpf_link__detach
  - bpf_link__pin
  - bpf_link__unpin
  - bpf_link_perf_detach
  - bpf_link_perf_dealloc
  - bpf_program__attach_perf_event_opts
  - bpf_program__attach_perf_event
  - parse_uint_from_file
  - determine_kprobe_perf_type
  - determine_uprobe_perf_type
  - determine_kprobe_retprobe_bit
  - determine_uprobe_retprobe_bit
  - perf_event_open_probe
  - append_to_file
  - use_debugfs
  - tracefs_path
  - tracefs_kprobe_events
  - tracefs_uprobe_events
  - tracefs_available_filter_functions
  - tracefs_available_filter_functions_addrs
  - gen_probe_legacy_event_name
  - add_kprobe_event_legacy
  - remove_kprobe_event_legacy
  - determine_kprobe_perf_type_legacy
  - perf_event_kprobe_open_legacy
  - arch_specific_syscall_pfx
  - probe_kern_syscall_wrapper
  - bpf_program__attach_kprobe_opts
  - bpf_program__attach_kprobe
  - bpf_program__attach_ksyscall
  - glob_match
  - avail_func_cmp
  - avail_kallsyms_cb
  - libbpf_available_kallsyms_parse
  - has_available_filter_functions_addrs
  - libbpf_available_kprobes_parse
  - bpf_program__attach_kprobe_multi_opts
  - attach_kprobe
  - attach_ksyscall
  - attach_kprobe_multi
  - attach_kprobe_session
  - attach_uprobe_multi
  - btf_type_is_modifier
  - btf_get_type_size
  - btf_type_is_traceable_func
  - collect_btf_func_ids_by_glob
  - collect_func_ids_by_glob
  - bpf_program__attach_tracing_multi
  - attach_tracing_multi
  - add_uprobe_event_legacy
  - remove_uprobe_event_legacy
  - determine_uprobe_perf_type_legacy
  - perf_event_uprobe_open_legacy
  - elf_find_func_offset_from_archive
  - arch_specific_lib_paths
  - resolve_full_path
  - bpf_program__attach_uprobe_multi
  - bpf_program__attach_uprobe_opts
  - attach_uprobe
  - bpf_program__attach_uprobe
  - bpf_program__attach_usdt
  - attach_usdt
  - determine_tracepoint_id
  - perf_event_open_tracepoint
  - bpf_program__attach_tracepoint_opts
  - bpf_program__attach_tracepoint
  - sec_name_match_prefix
  - attach_tp
  - bpf_program__attach_raw_tracepoint_opts
  - bpf_program__attach_raw_tracepoint
  - attach_raw_tp
  - bpf_program__attach_btf_id
  - bpf_program__attach_trace
  - bpf_program__attach_trace_opts
  - bpf_program__attach_lsm
  - attach_trace
  - attach_lsm
  - bpf_program_attach_fd
  - bpf_program__attach_cgroup
  - bpf_program__attach_netns
  - bpf_program__attach_sockmap
  - bpf_program__attach_xdp
  - bpf_program__attach_cgroup_opts
  - bpf_program__attach_tcx
  - bpf_program__attach_netkit
  - bpf_program__attach_freplace
  - bpf_program__attach_iter
  - attach_iter
  - bpf_program__attach_netfilter
  - bpf_program__attach
  - bpf_link__detach_struct_ops
  - bpf_map__attach_struct_ops
  - bpf_link__update_map
  - perf_event_read_simple
  - perf_buffer__free_cpu_buf
  - perf_buffer__free
  - perf_buffer__open_cpu_buf
  - perf_buffer__new
  - perf_buffer__new_raw
  - __perf_buffer__new
  - perf_buffer__process_record
  - perf_buffer__process_records
  - perf_buffer__epoll_fd
  - perf_buffer__poll
  - perf_buffer__buffer_cnt
  - perf_buffer__buffer_fd
  - perf_buffer__buffer
  - perf_buffer__consume_buffer
  - perf_buffer__consume
  - bpf_program__set_attach_target
  - bpf_program__assoc_struct_ops
  - parse_cpu_mask_str
  - parse_cpu_mask_file
  - libbpf_num_possible_cpus
  - populate_skeleton_maps
  - populate_skeleton_progs
  - bpf_object__open_skeleton
  - bpf_object__open_subskeleton
  - bpf_object__destroy_subskeleton
  - bpf_object__load_skeleton
  - bpf_object__attach_skeleton
  - bpf_object__detach_skeleton
  - bpf_object__destroy_skeleton
  source_file: /src/libbpf/src/libbpf.c
  types:
    enum:
    - enumerators:
      - name: RELO_LD64
      - name: RELO_CALL
      - name: RELO_EXTERN_LD64
      - name: RELO_DATA
      - name: RELO_EXTERN_CALL
      - name: RELO_SUBPROG_ADDR
      - name: RELO_CORE
      - name: RELO_INSN_ARRAY
      item_type: enum
      name: reloc_type
      pos:
        line_end: 379
        line_start: 370
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: SEC_NONE
        value: '0'
      - name: SEC_ATTACHABLE_OPT
        value: SEC_ATTACHABLE | SEC_EXP_ATTACH_OPT
      - name: SEC_ATTACHABLE
        value: '2'
      - name: SEC_ATTACH_BTF
        value: '4'
      - name: SEC_EXP_ATTACH_OPT
        value: '1'
      - name: SEC_SLEEPABLE
        value: '8'
      - name: SEC_XDP_FRAGS
        value: '16'
      - name: SEC_USDT
        value: '32'
      item_type: enum
      name: sec_def_flags
      pos:
        line_end: 426
        line_start: 404
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: LIBBPF_MAP_UNSPEC
      - name: LIBBPF_MAP_KCONFIG
      - name: LIBBPF_MAP_RODATA
      - name: LIBBPF_MAP_BSS
      - name: LIBBPF_MAP_DATA
      item_type: enum
      name: libbpf_map_type
      pos:
        line_end: 557
        line_start: 551
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: EXT_UNKNOWN
      - name: EXT_KSYM
      - name: EXT_KCFG
      item_type: enum
      name: extern_type
      pos:
        line_end: 607
        line_start: 603
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: KCFG_UNKNOWN
      - name: KCFG_CHAR
      - name: KCFG_TRISTATE
      - name: KCFG_INT
      - name: KCFG_BOOL
      - name: KCFG_CHAR_ARR
      item_type: enum
      name: kcfg_type
      pos:
        line_end: 616
        line_start: 609
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: SEC_UNUSED
        value: '0'
      - name: SEC_RODATA
      - name: SEC_DATA
      - name: SEC_BSS
      - name: SEC_RELO
      - name: SEC_ST_OPS
      item_type: enum
      name: sec_type
      pos:
        line_end: 668
        line_start: 661
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: OBJ_OPEN
      - name: OBJ_PREPARED
      - name: OBJ_LOADED
      item_type: enum
      name: bpf_object_state
      pos:
        line_end: 703
        line_start: 699
        source_file: /src/libbpf/src/libbpf.c
    - enumerators:
      - name: LIBBPF_PIN_NONE
      - name: LIBBPF_PIN_BY_NAME
      item_type: enum
      name: libbpf_pin_type
      pos:
        line_end: 2575
        line_start: 2571
        source_file: /src/libbpf/src/libbpf.c
    preproc_defs:
    - item_type: preproc_def
      name: BPF_FS_MAGIC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '0xcafe4a11'
    - item_type: preproc_def
      name: MAX_EVENT_NAME_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BPF_FS_DEFAULT_PATH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"/sys/fs/bpf"'
    - item_type: preproc_def
      name: BPF_INSN_SZ
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: (sizeof(struct bpf_insn))
    - item_type: preproc_def
      name: DATA_SEC
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".data"'
    - item_type: preproc_def
      name: BSS_SEC
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".bss"'
    - item_type: preproc_def
      name: RODATA_SEC
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".rodata"'
    - item_type: preproc_def
      name: KCONFIG_SEC
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".kconfig"'
    - item_type: preproc_def
      name: KSYMS_SEC
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".ksyms"'
    - item_type: preproc_def
      name: STRUCT_OPS_SEC
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".struct_ops"'
    - item_type: preproc_def
      name: STRUCT_OPS_LINK_SEC
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".struct_ops.link"'
    - item_type: preproc_def
      name: ARENA_SEC
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '".addr_space.1"'
    - item_type: preproc_def
      name: STRUCT_OPS_VALUE_PREFIX
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"bpf_struct_ops_"'
    - item_type: preproc_def
      name: MFD_CLOEXEC
      pos:
        line_end: 1767
        line_start: 1766
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: MFD_NOEXEC_SEAL
      pos:
        line_end: 1770
        line_start: 1769
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: 0x0008U
    - item_type: preproc_def
      name: POISON_LDIMM64_MAP_BASE
      pos:
        line_end: 6202
        line_start: 6201
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '2001000000'
    - item_type: preproc_def
      name: POISON_LDIMM64_MAP_PFX
      pos:
        line_end: 6203
        line_start: 6202
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"200100"'
    - item_type: preproc_def
      name: POISON_CALL_KFUNC_BASE
      pos:
        line_end: 6232
        line_start: 6231
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '2002000000'
    - item_type: preproc_def
      name: POISON_CALL_KFUNC_PFX
      pos:
        line_end: 6233
        line_start: 6232
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"2002"'
    - item_type: preproc_def
      name: MAX_TYPE_NAME_SIZE
      pos:
        line_end: 10333
        line_start: 10332
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BTF_TRACE_PREFIX
      pos:
        line_end: 10556
        line_start: 10555
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"btf_trace_"'
    - item_type: preproc_def
      name: BTF_LSM_PREFIX
      pos:
        line_end: 10557
        line_start: 10556
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"bpf_lsm_"'
    - item_type: preproc_def
      name: BTF_ITER_PREFIX
      pos:
        line_end: 10558
        line_start: 10557
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"bpf_iter_"'
    - item_type: preproc_def
      name: BTF_MAX_NAME_SIZE
      pos:
        line_end: 10559
        line_start: 10558
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '128'
    - item_type: preproc_def
      name: PERF_UPROBE_REF_CTR_OFFSET_BITS
      pos:
        line_end: 11654
        line_start: 11653
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PERF_UPROBE_REF_CTR_OFFSET_SHIFT
      pos:
        line_end: 11655
        line_start: 11654
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DEBUGFS
      pos:
        line_end: 11727
        line_start: 11726
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"/sys/kernel/debug/tracing"'
    - item_type: preproc_def
      name: TRACEFS
      pos:
        line_end: 11728
        line_start: 11727
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '"/sys/kernel/tracing"'
    - item_type: preproc_def
      name: MAX_BPF_FUNC_ARGS
      pos:
        line_end: 12531
        line_start: 12530
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '12'
    - item_type: preproc_def
      name: MAX_RESOLVE_DEPTH
      pos:
        line_end: 12547
        line_start: 12546
        source_file: /src/libbpf/src/libbpf.c
      type_or_value: '32'
    structs:
    - fields:
      - name: type
        type: enum reloc_type
      - name: insn_idx
        type: int
      item_type: struct
      name: reloc_desc
      pos:
        line_end: 401
        line_start: 381
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*sec'
        type: char
      - name: prog_type
        type: enum bpf_prog_type
      - name: expected_attach_type
        type: enum bpf_attach_type
      - name: cookie
        type: long
      - name: handler_id
        type: int
      - name: prog_setup_fn
        type: libbpf_prog_setup_fn_t
      - name: prog_prepare_load_fn
        type: libbpf_prog_prepare_load_fn_t
      - name: prog_attach_fn
        type: libbpf_prog_attach_fn_t
      item_type: struct
      name: bpf_sec_def
      pos:
        line_end: 438
        line_start: 428
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: sec_insn_off
        type: __u32
      - name: sub_insn_off
        type: __u32
      item_type: struct
      name: bpf_light_subprog
      pos:
        line_end: 443
        line_start: 440
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*name'
        type: char
      - name: '*sec_name'
        type: char
      - name: sec_idx
        type: size_t
      - name: '*sec_def'
        type: struct bpf_sec_def
      - name: sec_insn_off
        type: size_t
      - name: sec_insn_cnt
        type: size_t
      - name: sub_insn_off
        type: size_t
      - name: '*insns'
        type: struct bpf_insn
      - name: insns_cnt
        type: size_t
      - name: '*reloc_desc'
        type: struct reloc_desc
      - name: nr_reloc
        type: int
      - name: '*log_buf'
        type: char
      - name: log_size
        type: size_t
      - name: log_level
        type: __u32
      - name: '*obj'
        type: struct bpf_object
      - name: fd
        type: int
      - name: autoload
        type: bool
      - name: autoattach
        type: bool
      - name: sym_global
        type: bool
      - name: mark_btf_static
        type: bool
      - name: type
        type: enum bpf_prog_type
      - name: expected_attach_type
        type: enum bpf_attach_type
      - name: exception_cb_idx
        type: int
      - name: prog_ifindex
        type: int
      - name: attach_btf_obj_fd
        type: __u32
      - name: attach_btf_id
        type: __u32
      - name: attach_prog_fd
        type: __u32
      - name: '*func_info'
        type: void
      - name: func_info_rec_size
        type: __u32
      - name: func_info_cnt
        type: __u32
      - name: '*line_info'
        type: void
      - name: line_info_rec_size
        type: __u32
      - name: line_info_cnt
        type: __u32
      - name: prog_flags
        type: __u32
      - name: hash[SHA256_DIGEST_LENGTH]
        type: __u8
      - name: '*subprogs'
        type: struct bpf_light_subprog
      - name: subprog_cnt
        type: __u32
      item_type: struct
      name: bpf_program
      pos:
        line_end: 521
        line_start: 449
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '**progs'
        type: struct bpf_program
      - name: '*kern_func_off'
        type: __u32
      - name: '*data'
        type: void
      - name: '*kern_vdata'
        type: void
      - name: type_id
        type: __u32
      item_type: struct
      name: bpf_struct_ops
      pos:
        line_end: 540
        line_start: 523
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: type
        type: unsigned int
      - name: key_size
        type: unsigned int
      - name: value_size
        type: unsigned int
      - name: max_entries
        type: unsigned int
      - name: map_flags
        type: unsigned int
      item_type: struct
      name: bpf_map_def
      pos:
        line_end: 565
        line_start: 559
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*obj'
        type: struct bpf_object
      - name: '*name'
        type: char
      - name: '*real_name'
        type: char
      - name: fd
        type: int
      - name: sec_idx
        type: int
      - name: sec_offset
        type: size_t
      - name: map_ifindex
        type: int
      - name: inner_map_fd
        type: int
      - name: def
        type: struct bpf_map_def
      - name: numa_node
        type: __u32
      - name: btf_var_idx
        type: __u32
      - name: mod_btf_fd
        type: int
      - name: btf_key_type_id
        type: __u32
      - name: btf_value_type_id
        type: __u32
      - name: btf_vmlinux_value_type_id
        type: __u32
      - name: libbpf_type
        type: enum libbpf_map_type
      - name: '*mmaped'
        type: void
      - name: '*st_ops'
        type: struct bpf_struct_ops
      - name: '*inner_map'
        type: struct bpf_map
      - name: '**init_slots'
        type: void
      - name: init_slots_sz
        type: int
      - name: '*pin_path'
        type: char
      - name: pinned
        type: bool
      - name: reused
        type: bool
      - name: autocreate
        type: bool
      - name: autoattach
        type: bool
      - name: map_extra
        type: __u64
      - name: '*excl_prog'
        type: struct bpf_program
      item_type: struct
      name: bpf_map
      pos:
        line_end: 601
        line_start: 567
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: type
        type: enum extern_type
      - name: sym_idx
        type: int
      - name: btf_id
        type: int
      - name: sec_btf_id
        type: int
      - name: '*name'
        type: char
      - name: '*essent_name'
        type: char
      - name: is_set
        type: bool
      - name: is_weak
        type: bool
      item_type: struct
      name: extern_desc
      pos:
        line_end: 651
        line_start: 618
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*btf'
        type: struct btf
      - name: '*name'
        type: char
      - name: id
        type: __u32
      - name: fd
        type: int
      - name: fd_array_idx
        type: int
      item_type: struct
      name: module_btf
      pos:
        line_end: 659
        line_start: 653
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: sec_type
        type: enum sec_type
      - name: '*shdr'
        type: Elf64_Shdr
      - name: '*data'
        type: Elf_Data
      item_type: struct
      name: elf_sec_desc
      pos:
        line_end: 674
        line_start: 670
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: fd
        type: int
      - name: '*obj_buf'
        type: void
      - name: obj_buf_sz
        type: size_t
      - name: '*elf'
        type: Elf
      - name: '*ehdr'
        type: Elf64_Ehdr
      - name: '*symbols'
        type: Elf_Data
      - name: '*arena_data'
        type: Elf_Data
      - name: shstrndx
        type: size_t
      - name: strtabidx
        type: size_t
      - name: '*secs'
        type: struct elf_sec_desc
      - name: sec_cnt
        type: size_t
      - name: btf_maps_shndx
        type: int
      - name: btf_maps_sec_btf_id
        type: __u32
      - name: text_shndx
        type: int
      - name: symbols_shndx
        type: int
      - name: has_st_ops
        type: bool
      - name: arena_data_shndx
        type: int
      - name: jumptables_data_shndx
        type: int
      item_type: struct
      name: elf_state
      pos:
        line_end: 695
        line_start: 676
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: name[BPF_OBJ_NAME_LEN]
        type: char
      - name: license[64]
        type: char
      - name: kern_version
        type: __u32
      - name: state
        type: enum bpf_object_state
      - name: '*programs'
        type: struct bpf_program
      - name: nr_programs
        type: size_t
      - name: '*maps'
        type: struct bpf_map
      - name: nr_maps
        type: size_t
      - name: maps_cap
        type: size_t
      - name: '*kconfig'
        type: char
      - name: '*externs'
        type: struct extern_desc
      - name: nr_extern
        type: int
      - name: kconfig_map_idx
        type: int
      - name: has_subcalls
        type: bool
      - name: has_rodata
        type: bool
      - name: '*gen_loader'
        type: struct bpf_gen
      - name: efile
        type: struct elf_state
      - name: byteorder
        type: unsigned char
      - name: '*btf'
        type: struct btf
      - name: '*btf_ext'
        type: struct btf_ext
      - name: '*btf_vmlinux'
        type: struct btf
      - name: '*btf_custom_path'
        type: char
      - name: '*btf_vmlinux_override'
        type: struct btf
      - name: '*btf_modules'
        type: struct module_btf
      - name: btf_modules_loaded
        type: bool
      - name: btf_module_cnt
        type: size_t
      - name: btf_module_cap
        type: size_t
      - name: '*log_buf'
        type: char
      - name: log_size
        type: size_t
      - name: log_level
        type: __u32
      - name: '*fd_array'
        type: int
      - name: fd_array_cap
        type: size_t
      - name: fd_array_cnt
        type: size_t
      - name: '*usdt_man'
        type: struct usdt_manager
      - name: arena_map_idx
        type: int
      - name: '*arena_data'
        type: void
      - name: arena_data_sz
        type: size_t
      - name: arena_data_off
        type: size_t
      - name: '*jumptables_data'
        type: void
      - name: jumptables_data_sz
        type: size_t
      - name: '*jumptable_maps'
        type: "struct {\n\t\tstruct bpf_program *prog;\n\t\tunsigned int sym_off;\n\t\tint
          fd;\n\t}"
      - name: jumptable_map_cnt
        type: size_t
      - name: '*feat_cache'
        type: struct kern_feature_cache
      - name: '*token_path'
        type: char
      - name: token_fd
        type: int
      - name: path[]
        type: char
      item_type: struct
      name: bpf_object
      pos:
        line_end: 782
        line_start: 705
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: prog_type
        type: enum bpf_prog_type
      - name: '*ctx_name'
        type: char
      item_type: struct
      name: "global_ctx_map[] = {\n\t{ BPF_PROG_TYPE_CGROUP_DEVICE,           \"bpf_cgroup_dev_ctx\"
        },\n\t{ BPF_PROG_TYPE_CGROUP_SKB,              \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_CGROUP_SOCK,
        \            \"bpf_sock\" },\n\t{ BPF_PROG_TYPE_CGROUP_SOCK_ADDR,        \"bpf_sock_addr\"
        },\n\t{ BPF_PROG_TYPE_CGROUP_SOCKOPT,          \"bpf_sockopt\" },\n\t{ BPF_PROG_TYPE_CGROUP_SYSCTL,
        \          \"bpf_sysctl\" },\n\t{ BPF_PROG_TYPE_FLOW_DISSECTOR,          \"__sk_buff\"
        },\n\t{ BPF_PROG_TYPE_KPROBE,                  \"bpf_user_pt_regs_t\" },\n\t{
        BPF_PROG_TYPE_LWT_IN,                  \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_LWT_OUT,
        \                \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_LWT_SEG6LOCAL,           \"__sk_buff\"
        },\n\t{ BPF_PROG_TYPE_LWT_XMIT,                \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_NETFILTER,
        \              \"bpf_nf_ctx\" },\n\t{ BPF_PROG_TYPE_PERF_EVENT,              \"bpf_perf_event_data\"
        },\n\t{ BPF_PROG_TYPE_RAW_TRACEPOINT,          \"bpf_raw_tracepoint_args\"
        },\n\t{ BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, \"bpf_raw_tracepoint_args\"
        },\n\t{ BPF_PROG_TYPE_SCHED_ACT,               \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_SCHED_CLS,
        \              \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_SK_LOOKUP,               \"bpf_sk_lookup\"
        },\n\t{ BPF_PROG_TYPE_SK_MSG,                  \"sk_msg_md\" },\n\t{ BPF_PROG_TYPE_SK_REUSEPORT,
        \           \"sk_reuseport_md\" },\n\t{ BPF_PROG_TYPE_SK_SKB,                  \"__sk_buff\"
        },\n\t{ BPF_PROG_TYPE_SOCK_OPS,                \"bpf_sock_ops\" },\n\t{ BPF_PROG_TYPE_SOCKET_FILTER,
        \          \"__sk_buff\" },\n\t{ BPF_PROG_TYPE_XDP,                     \"xdp_md\"
        },\n\t/* all other program types don't have \"named\" context structs */\n}"
      pos:
        line_end: 7111
        line_start: 7108
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: link
        type: struct bpf_link
      - name: perf_event_fd
        type: int
      - name: '*legacy_probe_name'
        type: char
      - name: legacy_is_kprobe
        type: bool
      - name: legacy_is_retprobe
        type: bool
      item_type: struct
      name: bpf_link_perf
      pos:
        line_end: 11476
        line_start: 11469
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*pattern'
        type: char
      - name: '*addrs'
        type: unsigned long
      - name: cap
        type: size_t
      - name: cnt
        type: size_t
      item_type: struct
      name: kprobe_multi_resolve
      pos:
        line_end: 12077
        line_start: 12072
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '**syms'
        type: char
      - name: cnt
        type: size_t
      - name: '*res'
        type: struct kprobe_multi_resolve
      item_type: struct
      name: avail_kallsyms_data
      pos:
        line_end: 12083
        line_start: 12079
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: link
        type: struct bpf_link
      - name: map_fd
        type: int
      item_type: struct
      name: bpf_link_struct_ops
      pos:
        line_end: 14033
        line_start: 14030
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*attr'
        type: struct perf_event_attr
      - name: event_cb
        type: perf_buffer_event_fn
      - name: sample_cb
        type: perf_buffer_sample_fn
      - name: lost_cb
        type: perf_buffer_lost_fn
      - name: '*ctx'
        type: void
      - name: cpu_cnt
        type: int
      - name: '*cpus'
        type: int
      - name: '*map_keys'
        type: int
      item_type: struct
      name: perf_buffer_params
      pos:
        line_end: 14206
        line_start: 14195
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: '*pb'
        type: struct perf_buffer
      - name: '*base'
        type: void
      - name: '*buf'
        type: void
      - name: buf_size
        type: size_t
      - name: fd
        type: int
      - name: cpu
        type: int
      - name: map_key
        type: int
      item_type: struct
      name: perf_cpu_buf
      pos:
        line_end: 14216
        line_start: 14208
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: event_cb
        type: perf_buffer_event_fn
      - name: sample_cb
        type: perf_buffer_sample_fn
      - name: lost_cb
        type: perf_buffer_lost_fn
      - name: '*ctx'
        type: void
      - name: page_size
        type: size_t
      - name: mmap_size
        type: size_t
      - name: '**cpu_bufs'
        type: struct perf_cpu_buf
      - name: '*events'
        type: struct epoll_event
      - name: cpu_cnt
        type: int
      - name: epoll_fd
        type: int
      - name: map_fd
        type: int
      item_type: struct
      name: perf_buffer
      pos:
        line_end: 14231
        line_start: 14218
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: header
        type: struct perf_event_header
      - name: size
        type: uint32_t
      - name: data[]
        type: char
      item_type: struct
      name: perf_sample_raw
      pos:
        line_end: 14532
        line_start: 14528
        source_file: /src/libbpf/src/libbpf.c
    - fields:
      - name: header
        type: struct perf_event_header
      - name: id
        type: uint64_t
      - name: lost
        type: uint64_t
      - name: sample_id
        type: uint64_t
      item_type: struct
      name: perf_sample_lost
      pos:
        line_end: 14539
        line_start: 14534
        source_file: /src/libbpf/src/libbpf.c
    typedefs:
    - item_type: typedef
      name: "(*kallsyms_cb_t)(unsigned long long sym_addr, char sym_type,\n\t\t\t
        \    const char *sym_name, void *ctx)"
      pos:
        line_end: 8591
        line_start: 8590
        source_file: /src/libbpf/src/libbpf.c
      type: int
    - item_type: typedef
      name: "(*bpf_perf_event_print_t)(struct perf_event_header *hdr,\n\t\t\t\t\t\t\t
        \ void *private_data)"
      pos:
        line_end: 14143
        line_start: 14142
        source_file: /src/libbpf/src/libbpf.c
      type: bpf_perf_event_ret
    union: []
- function_names:
  - get_ubuntu_kernel_version
  - get_debian_kernel_version
  - get_kernel_version
  - probe_prog_load
  - libbpf_probe_bpf_prog_type
  - libbpf__load_raw_btf_hdr
  - libbpf__load_raw_btf
  - load_local_storage_btf
  - probe_map_create
  - libbpf_probe_bpf_map_type
  - libbpf_probe_bpf_helper
  source_file: /src/libbpf/src/libbpf_probes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/bpf_gen_internal.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: kind
        type: int
      - name: insn_idx
        type: int
      - name: is_weak
        type: bool
      - name: is_typeless
        type: bool
      - name: is_ld64
        type: bool
      item_type: struct
      name: ksym_relo_desc
      pos:
        line_end: 15
        line_start: 8
        source_file: /src/libbpf/src/bpf_gen_internal.h
    - fields:
      - name: '*name'
        type: char
      - name: ref
        type: int
      - name: kind
        type: int
      - name: insn
        type: int
      - name: is_ld64
        type: bool
      item_type: struct
      name: ksym_desc
      pos:
        line_end: 29
        line_start: 17
        source_file: /src/libbpf/src/bpf_gen_internal.h
    - fields:
      - name: '*opts'
        type: struct gen_loader_opts
      - name: '*data_start'
        type: void
      - name: '*data_cur'
        type: void
      - name: '*insn_start'
        type: void
      - name: '*insn_cur'
        type: void
      - name: swapped_endian
        type: bool
      - name: cleanup_label
        type: ssize_t
      - name: nr_progs
        type: __u32
      - name: nr_maps
        type: __u32
      - name: log_level
        type: int
      - name: error
        type: int
      - name: '*relos'
        type: struct ksym_relo_desc
      - name: relo_cnt
        type: int
      - name: '*core_relos'
        type: struct bpf_core_relo
      - name: core_relo_cnt
        type: int
      - name: attach_target[128]
        type: char
      - name: attach_kind
        type: int
      - name: '*ksyms'
        type: struct ksym_desc
      - name: nr_ksyms
        type: __u32
      - name: fd_array
        type: int
      - name: nr_fd_array
        type: int
      item_type: struct
      name: bpf_gen
      pos:
        line_end: 53
        line_start: 31
        source_file: /src/libbpf/src/bpf_gen_internal.h
    typedefs: []
    union: []
- function_names:
  - libbpf_nla_for_each_attr
  - libbpf_nla_data
  - libbpf_nla_getattr_u8
  - libbpf_nla_getattr_u16
  - libbpf_nla_getattr_u32
  - libbpf_nla_getattr_u64
  - libbpf_nla_getattr_str
  - libbpf_nla_len
  - nla_data
  - req_tail
  - nlattr_add
  - nlattr_begin_nested
  - nlattr_end_nested
  source_file: /src/libbpf/src/nlattr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBBPF_NLA_TYPE_MAX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libbpf/src/nlattr.h
      type_or_value: (__LIBBPF_NLA_TYPE_MAX - 1)
    structs:
    - fields:
      - name: type
        type: uint16_t
      - name: minlen
        type: uint16_t
      - name: maxlen
        type: uint16_t
      item_type: struct
      name: libbpf_nla_policy
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/libbpf/src/nlattr.h
    - fields:
      - name: nh
        type: struct nlmsghdr
      - name: buf[128]
        type: char
      item_type: struct
      name: libbpf_nla_req
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/libbpf/src/nlattr.h
    typedefs: []
    union: []
- function_names:
  - stack_off
  - attr_field
  - blob_fd_array_off
  - realloc_insn_buf
  - realloc_data_buf
  - emit
  - emit2
  - bpf_gen__init
  - add_data
  - add_map_fd
  - add_kfunc_btf_fd
  - insn_bytes_to_bpf_size
  - emit_rel_store
  - move_blob2blob
  - move_blob2ctx
  - move_ctx2blob
  - move_stack2blob
  - move_stack2ctx
  - emit_sys_bpf
  - is_simm16
  - emit_check_err
  - emit_debug
  - debug_regs
  - debug_ret
  - __emit_sys_close
  - emit_sys_close_stack
  - emit_sys_close_blob
  - bpf_gen__finish
  - bpf_gen__free
  - tgt_endian
  - bpf_gen__load_btf
  - bpf_gen__map_create
  - bpf_gen__record_attach_target
  - emit_find_attach_target
  - bpf_gen__record_extern
  - get_ksym_desc
  - emit_bpf_find_by_name_kind
  - emit_bpf_kallsyms_lookup_name
  - emit_relo_kfunc_btf
  - emit_ksym_relo_log
  - emit_relo_ksym_typeless
  - src_reg_mask
  - emit_relo_ksym_btf
  - bpf_gen__record_relo_core
  - emit_relo
  - emit_relos
  - cleanup_core_relo
  - cleanup_relos
  - info_blob_bswap
  - bpf_gen__prog_load
  - bpf_gen__map_update_elem
  - bpf_gen__populate_outer_map
  - bpf_gen__map_freeze
  source_file: /src/libbpf/src/gen_loader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_USED_MAPS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/src/gen_loader.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_USED_PROGS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libbpf/src/gen_loader.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_KFUNC_DESCS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/src/gen_loader.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_FD_ARRAY_SZ
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/src/gen_loader.c
      type_or_value: (MAX_USED_MAPS + MAX_KFUNC_DESCS)
    structs:
    - fields:
      - name: btf_fd
        type: __u32
      - name: inner_map_fd
        type: __u32
      - name: prog_fd[MAX_USED_PROGS]
        type: __u32
      item_type: struct
      name: loader_stack
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/libbpf/src/gen_loader.c
    typedefs: []
    union: []
- function_names:
  - ERRNO_OFFSET
  - ERRCODE_OFFSET
  - libbpf_strerror
  - libbpf_errstr
  - get_unaligned_be32
  - put_unaligned_be32
  - Ch
  - Maj
  - Sigma_0
  - Sigma_1
  - sigma_0
  - sigma_1
  - SHA256_ROUND
  - sha256_blocks
  - libbpf_sha256
  source_file: /src/libbpf/src/libbpf_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENOTSUPP
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/src/libbpf_utils.c
      type_or_value: '524'
    - item_type: preproc_def
      name: NR_ERRNO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libbpf/src/libbpf_utils.c
      type_or_value: (__LIBBPF_ERRNO__END - __LIBBPF_ERRNO__START)
    - item_type: preproc_def
      name: SHA256_BLOCK_LENGTH
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libbpf/src/libbpf_utils.c
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - __uint
  - __type
  - __array
  - __ulong
  - likely
  - unlikely
  - SEC
  - SEC
  - KERNEL_VERSION
  - offsetof
  - container_of
  - barrier
  - barrier_var
  - __bpf_unreachable
  - bpf_tail_call_static
  - bpf_ksym_exists
  - bpf_ksym_exists
  - bpf_ksym_exists
  - ___bpf_concat
  - ___bpf_apply
  - ___bpf_nth
  - ___bpf_narg
  - ___bpf_fill0
  - ___bpf_fill1
  - ___bpf_fill2
  - ___bpf_fill3
  - ___bpf_fill4
  - ___bpf_fill5
  - ___bpf_fill6
  - ___bpf_fill7
  - ___bpf_fill8
  - ___bpf_fill9
  - ___bpf_fill10
  - ___bpf_fill11
  - ___bpf_fill12
  - ___bpf_fill
  - BPF_SEQ_PRINTF
  - BPF_SNPRINTF
  - __bpf_printk
  - __bpf_vprintk
  - bpf_stream_printk
  - bpf_printk
  - cleanup
  - cleanup
  source_file: /src/libbpf/src/bpf_helpers.h
  types:
    enum:
    - enumerators:
      - name: LIBBPF_PIN_NONE
      - name: LIBBPF_PIN_BY_NAME
      item_type: enum
      name: libbpf_pin_type
      pos:
        line_end: 182
        line_start: 178
        source_file: /src/libbpf/src/bpf_helpers.h
    - enumerators:
      - name: TRI_NO
        value: '0'
      - name: TRI_YES
        value: '1'
      - name: TRI_MODULE
        value: '2'
      item_type: enum
      name: libbpf_tristate
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/libbpf/src/bpf_helpers.h
    preproc_defs:
    - item_type: preproc_def
      name: __always_inline
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: inline __attribute__((always_inline))
    - item_type: preproc_def
      name: __noinline
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((noinline))
    - item_type: preproc_def
      name: __weak
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((weak))
    - item_type: preproc_def
      name: __hidden
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((visibility("hidden")))
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: ((void *)0)
    - item_type: preproc_def
      name: __kconfig
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((section(".kconfig")))
    - item_type: preproc_def
      name: __ksym
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((section(".ksyms")))
    - item_type: preproc_def
      name: __kptr_untrusted
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((btf_type_tag("kptr_untrusted")))
    - item_type: preproc_def
      name: __kptr
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((btf_type_tag("kptr")))
    - item_type: preproc_def
      name: __percpu_kptr
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((btf_type_tag("percpu_kptr")))
    - item_type: preproc_def
      name: __uptr
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((btf_type_tag("uptr")))
    - item_type: preproc_def
      name: __arg_ctx
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute__((btf_decl_tag("arg:ctx")))
    - item_type: preproc_def
      name: __arg_nonnull
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute((btf_decl_tag("arg:nonnull")))
    - item_type: preproc_def
      name: __arg_nullable
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute((btf_decl_tag("arg:nullable")))
    - item_type: preproc_def
      name: __arg_trusted
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute((btf_decl_tag("arg:trusted")))
    - item_type: preproc_def
      name: __arg_untrusted
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute((btf_decl_tag("arg:untrusted")))
    - item_type: preproc_def
      name: __arg_arena
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: __attribute((btf_decl_tag("arg:arena")))
    - item_type: preproc_def
      name: BPF_PRINTK_FMT_MOD
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: static const
    - item_type: preproc_def
      name: __bpf_printk
      pos:
        line_end: 338
        line_start: 333
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: )
    - item_type: preproc_def
      name: ___p
      pos:
        line_end: 384
        line_start: 376
        source_file: /src/libbpf/src/bpf_helpers.h
      type_or_value: "__attribute__((unused)) = (\t\t\t\t\\\n\t\t\t\t\tbpf_iter_##type##_new(&___it,
        ##args),\t\t\t\\\n\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - nla_next
  - nla_ok
  - nla_type
  - validate_nla
  - nlmsg_len
  - libbpf_nla_parse
  - libbpf_nla_for_each_attr
  - libbpf_nla_parse_nested
  - libbpf_nla_dump_errormsg
  source_file: /src/libbpf/src/nlattr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptr_to_u64
  - libbpf_add_mem
  - libbpf_ensure_mem
  - btf_add_type_offs_mem
  - btf_add_type_idx_entry
  - btf_bswap_hdr
  - btf_parse_hdr
  - btf_parse_str_sec
  - btf_parse_layout_sec
  - btf_type_size_unknown
  - btf_type_size
  - btf_bswap_type_base
  - btf_bswap_type_rest
  - btf_parse_type_sec
  - btf_validate_str
  - btf_validate_id
  - btf_validate_type
  - btf_sanity_check
  - btf__type_cnt
  - btf__base_btf
  - btf_type_by_id
  - btf__type_by_id
  - determine_ptr_size
  - btf_ptr_sz
  - btf__pointer_size
  - btf__set_pointer_size
  - is_host_big_endian
  - btf__endianness
  - btf__set_endianness
  - btf_type_is_void
  - btf_type_is_void_or_null
  - btf__resolve_size
  - btf__align_of
  - btf__resolve_type
  - btf_check_sorted
  - btf_find_type_by_name_bsearch
  - btf_find_by_name_kind
  - btf__find_by_name
  - btf__find_by_name_kind_own
  - btf__find_by_name_kind
  - btf_is_modifiable
  - btf_free_raw_data
  - btf__free
  - btf_new_empty
  - btf__new_empty
  - btf__new_empty_split
  - btf__new_empty_opts
  - btf_new
  - btf__new
  - btf__new_split
  - btf_find_elf_sections
  - btf_parse_elf
  - btf__parse_elf
  - btf__parse_elf_split
  - btf_parse_raw
  - btf__parse_raw
  - btf__parse_raw_split
  - btf_parse_raw_mmap
  - btf_parse
  - btf__parse
  - btf__parse_split
  - btf_load_into_kernel
  - btf__load_into_kernel
  - btf__fd
  - btf__set_fd
  - btf_strs_data
  - btf_get_raw_data
  - btf__raw_data
  - btf__str_by_offset
  - btf__name_by_offset
  - btf_get_from_fd
  - btf_load_from_kernel
  - btf__load_from_kernel_by_id_split
  - btf__load_from_kernel_by_id
  - btf_invalidate_raw_data
  - btf_ensure_modifiable
  - btf__find_str
  - btf__add_str
  - btf_add_type_mem
  - btf_type_inc_vlen
  - btf_hdr_update_type_len
  - btf_hdr_update_str_len
  - btf_commit_type
  - btf_rewrite_str
  - btf_add_type
  - btf__add_type
  - btf__add_btf
  - btf__add_int
  - btf__add_float
  - validate_type_id
  - btf_add_ref_kind
  - btf__add_ptr
  - btf__add_array
  - btf_add_composite
  - btf__add_struct
  - btf__add_union
  - btf_last_type
  - btf__add_field
  - btf_add_enum_common
  - btf__add_enum
  - btf__add_enum_value
  - btf__add_enum64
  - btf__add_enum64_value
  - btf__add_fwd
  - btf__add_typedef
  - btf__add_volatile
  - btf__add_const
  - btf__add_restrict
  - btf__add_type_tag
  - btf__add_type_attr
  - btf__add_func
  - btf__add_func_proto
  - btf__add_func_param
  - btf__add_var
  - btf__add_datasec
  - btf__add_datasec_var_info
  - btf_add_decl_tag
  - btf__add_decl_tag
  - btf__add_decl_attr
  - btf_ext_parse_sec_info
  - btf_ext_parse_info
  - btf_ext_bswap_hdr
  - btf_ext_bswap_info_sec
  - btf_ext_bswap_info
  - btf_ext_parse
  - btf_ext__free
  - btf_ext__new
  - btf_ext_raw_data
  - btf_ext__raw_data
  - btf_ext__endianness
  - btf_ext__set_endianness
  - btf__dedup
  - hash_combine
  - for_each_dedup_cand
  - btf_dedup_table_add
  - btf_dedup_hypot_map_add
  - btf_dedup_clear_hypot_map
  - btf_dedup_free
  - btf_dedup_identity_hash_fn
  - btf_dedup_collision_hash_fn
  - btf_dedup_equal_fn
  - btf_dedup_new
  - btf_for_each_str_off
  - strs_dedup_remap_str_off
  - btf_dedup_strings
  - btf_hash_typedef
  - btf_hash_common
  - btf_equal_common
  - btf_equal_typedef
  - btf_hash_int_decl_tag
  - btf_equal_int_tag
  - btf_hash_enum
  - btf_equal_enum_members
  - btf_equal_enum64_members
  - btf_equal_enum
  - btf_is_enum_fwd
  - btf_compat_enum
  - btf_hash_struct
  - btf_shallow_equal_struct
  - btf_hash_array
  - btf_equal_array
  - btf_compat_array
  - btf_hash_fnproto
  - btf_equal_fnproto
  - btf_compat_fnproto
  - btf_dedup_prep
  - btf_dedup_prim_type
  - btf_dedup_prim_types
  - is_type_mapped
  - resolve_type_id
  - resolve_fwd_id
  - btf_fwd_kind
  - btf_dedup_identical_types
  - btf_dedup_is_equiv
  - btf_dedup_merge_hypot_map
  - btf_hash_by_kind
  - btf_equal_by_kind
  - btf_dedup_struct_type
  - for_each_dedup_cand
  - btf_dedup_struct_types
  - btf_dedup_ref_type
  - for_each_dedup_cand
  - for_each_dedup_cand
  - btf_dedup_ref_types
  - btf_dedup_fill_unique_names_map
  - btf_dedup_resolve_fwd
  - btf_dedup_resolve_fwds
  - btf_dedup_compact_types
  - btf_dedup_remap_type_id
  - btf_dedup_remap_types
  - btf__load_vmlinux_btf
  - btf__load_module_btf
  - btf_ext_visit_type_ids
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - btf_ext_visit_str_offs
  - for_each_btf_ext_sec
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - btf_add_distilled_type_ids
  - btf_add_distilled_types
  - btf_update_distilled_type_ids
  - btf__distill_base
  - btf_header
  - btf_set_base_btf
  - btf__relocate
  - btf_permute_remap_type_id
  - btf__permute
  source_file: /src/libbpf/src/btf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BTF_MAX_NR_TYPES
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/src/btf.c
      type_or_value: 0x7fffffffU
    - item_type: preproc_def
      name: BTF_MAX_STR_OFFSET
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/src/btf.c
      type_or_value: 0x7fffffffU
    - item_type: preproc_def
      name: MAX_RESOLVE_DEPTH
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/libbpf/src/btf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BTF_UNPROCESSED_ID
      pos:
        line_end: 3969
        line_start: 3968
        source_file: /src/libbpf/src/btf.c
      type_or_value: ((__u32)-1)
    - item_type: preproc_def
      name: BTF_IN_PROGRESS_ID
      pos:
        line_end: 3970
        line_start: 3969
        source_file: /src/libbpf/src/btf.c
      type_or_value: ((__u32)-2)
    structs:
    - fields:
      - name: '*raw_data'
        type: void
      - name: '*raw_data_swapped'
        type: void
      - name: raw_size
        type: __u32
      - name: swapped_endian
        type: bool
      - name: hdr
        type: struct btf_header
      - name: '*types_data'
        type: void
      - name: types_data_cap
        type: size_t
      - name: '*type_offs'
        type: __u32
      - name: type_offs_cap
        type: size_t
      - name: nr_types
        type: __u32
      - name: named_start_id
        type: int
      - name: '*base_btf'
        type: struct btf
      - name: start_id
        type: int
      - name: start_str_off
        type: int
      - name: '*strs_data'
        type: void
      - name: '*strs_set'
        type: struct strset
      - name: strs_deduped
        type: bool
      - name: owns_base
        type: bool
      - name: raw_data_is_mmap
        type: bool
      - name: modifiable
        type: bool
      - name: has_hdr_extra
        type: bool
      - name: '*layout'
        type: void
      - name: fd
        type: int
      - name: ptr_sz
        type: int
      item_type: struct
      name: btf
      pos:
        line_end: 184
        line_start: 61
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: '*btf_data'
        type: Elf_Data
      - name: '*btf_ext_data'
        type: Elf_Data
      - name: '*btf_base_data'
        type: Elf_Data
      item_type: struct
      name: btf_elf_secs
      pos:
        line_end: 1372
        line_start: 1368
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: '*src'
        type: struct btf
      - name: '*dst'
        type: struct btf
      - name: '*str_off_map'
        type: struct hashmap
      item_type: struct
      name: btf_pipe
      pos:
        line_end: 2164
        line_start: 2160
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: 'off'
        type: __u32
      - name: len
        type: __u32
      - name: min_rec_size
        type: __u32
      - name: '*ext_info'
        type: struct btf_ext_info
      - name: '*desc'
        type: char
      item_type: struct
      name: btf_ext_sec_info_param
      pos:
        line_end: 3352
        line_start: 3346
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: '*btf'
        type: struct btf
      - name: '*btf_ext'
        type: struct btf_ext
      - name: '*dedup_table'
        type: struct hashmap
      - name: '*map'
        type: __u32
      - name: '*hypot_map'
        type: __u32
      - name: '*hypot_list'
        type: __u32
      - name: hypot_cnt
        type: size_t
      - name: hypot_cap
        type: size_t
      - name: hypot_adjust_canon
        type: bool
      - name: opts
        type: struct btf_dedup_opts
      - name: '*strs_set'
        type: struct strset
      item_type: struct
      name: btf_dedup
      pos:
        line_end: 4005
        line_start: 3971
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: pipe
        type: struct btf_pipe
      - name: '*id_map'
        type: int
      - name: split_start_id
        type: unsigned int
      - name: split_start_str
        type: unsigned int
      - name: diff_id
        type: int
      item_type: struct
      name: btf_distill
      pos:
        line_end: 5926
        line_start: 5920
        source_file: /src/libbpf/src/btf.c
    - fields:
      - name: '*btf'
        type: struct btf
      - name: '*id_map'
        type: __u32
      - name: start_offs
        type: __u32
      item_type: struct
      name: btf_permute
      pos:
        line_end: 6249
        line_start: 6245
        source_file: /src/libbpf/src/btf.c
    typedefs: []
    union: []
- function_names:
  - ELF64_ST_VISIBILITY
  - BTF_INFO_ENC
  - BTF_TYPE_ENC
  - BTF_INT_ENC
  - BTF_TYPE_INT_ENC
  - BTF_MEMBER_ENC
  - BTF_PARAM_ENC
  - BTF_VAR_SECINFO_ENC
  - BTF_TYPE_FLOAT_ENC
  - BTF_TYPE_DECL_TAG_ENC
  - BTF_TYPE_TYPE_TAG_ENC
  - likely
  - unlikely
  - min
  - max
  - offsetofend
  - __alias
  - str_has_pfx
  - str_has_sfx
  - DEFAULT_VERSION
  - COMPAT_VERSION
  - COMPAT_VERSION
  - DEFAULT_VERSION
  - DEFAULT_VERSION
  - __pr
  - pr_warn
  - pr_info
  - pr_debug
  - errstr
  - __has_builtin
  - libbpf_reallocarray
  - libbpf_strlcpy
  - btf_func_linkage
  - btf_type_info
  - libbpf_is_mem_zeroed
  - libbpf_validate_opts
  - OPTS_VALID
  - OPTS_HAS
  - OPTS_GET
  - OPTS_SET
  - OPTS_ZEROED
  - for_each_btf_ext_sec
  - for_each_btf_ext_rec
  - bpf_func_info_bswap
  - bpf_line_info_bswap
  - bpf_core_relo_bswap
  - libbpf_err
  - libbpf_err_errno
  - libbpf_err_ptr
  - libbpf_ptr
  - str_is_empty
  - is_ldimm64_insn
  - bpf_insn_bswap
  - dup_good_fd
  - ensure_good_fd
  - sys_dup3
  - sys_memfd_create
  - reuse_fd
  - is_pow_of_2
  - ror32
  source_file: /src/libbpf/src/libbpf_internal.h
  types:
    enum:
    - enumerators:
      - name: MAP_DEF_MAP_TYPE
        value: '0x001'
      - name: MAP_DEF_VALUE_SIZE
        value: '0x010'
      - name: MAP_DEF_VALUE_TYPE
        value: '0x008'
      - name: MAP_DEF_KEY_TYPE
        value: '0x002'
      - name: MAP_DEF_KEY_SIZE
        value: '0x004'
      - name: MAP_DEF_MAX_ENTRIES
        value: '0x020'
      - name: MAP_DEF_MAP_FLAGS
        value: '0x040'
      - name: MAP_DEF_NUMA_NODE
        value: '0x080'
      - name: MAP_DEF_PINNING
        value: '0x100'
      - name: MAP_DEF_INNER_MAP
        value: '0x200'
      - name: MAP_DEF_ALL
        value: '0x7ff'
      - name: MAP_DEF_MAP_EXTRA
        value: '0x400'
      item_type: enum
      name: map_def_parts
      pos:
        line_end: 278
        line_start: 264
        source_file: /src/libbpf/src/libbpf_internal.h
    - enumerators:
      - name: FEAT_PROG_NAME
      - name: FEAT_BTF_DATASEC
      - name: FEAT_BTF
      - name: FEAT_ARRAY_MMAP
      - name: FEAT_PROBE_READ_KERN
      - name: FEAT_PERF_LINK
      - name: FEAT_SYSCALL_WRAPPER
      - name: FEAT_BPF_COOKIE
      - name: FEAT_MODULE_BTF
      - name: FEAT_BTF_TYPE_TAG
      - name: FEAT_UPROBE_SYSCALL
      - name: FEAT_BTF_QMARK_DATASEC
      - name: FEAT_UPROBE_MULTI_LINK
      - name: FEAT_BPF_SYSCALL_COMMON_ATTRS
      - name: FEAT_BTF_FUNC
      - name: FEAT_GLOBAL_DATA
      - name: FEAT_BTF_GLOBAL_FUNC
      - name: FEAT_EXP_ATTACH_TYPE
      - name: FEAT_PROG_BIND_MAP
      - name: FEAT_BTF_DECL_TAG
      - name: FEAT_BTF_ENUM64
      - name: FEAT_BTF_FLOAT
      - name: FEAT_MEMCG_ACCOUNT
      - name: FEAT_ARG_CTX_TAG
      - name: FEAT_BTF_LAYOUT
      - name: FEAT_LDIMM64_FULL_RANGE_OFF
      - name: __FEAT_CNT
      item_type: enum
      name: kern_feature_id
      pos:
        line_end: 404
        line_start: 350
        source_file: /src/libbpf/src/libbpf_internal.h
    - enumerators:
      - name: FEAT_UNKNOWN
        value: '0'
      - name: FEAT_MISSING
        value: '2'
      - name: FEAT_SUPPORTED
        value: '1'
      item_type: enum
      name: kern_feature_result
      pos:
        line_end: 410
        line_start: 406
        source_file: /src/libbpf/src/libbpf_internal.h
    - enumerators:
      - name: BTF_FIELD_ITER_IDS
      - name: BTF_FIELD_ITER_STRS
      item_type: enum
      name: btf_field_iter_kind
      pos:
        line_end: 572
        line_start: 569
        source_file: /src/libbpf/src/libbpf_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: AT_EACCESS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EM_BPF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '247'
    - item_type: preproc_def
      name: R_BPF_64_64
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: R_BPF_64_ABS64
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '2'
    - item_type: preproc_def
      name: R_BPF_64_ABS32
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '3'
    - item_type: preproc_def
      name: R_BPF_64_32
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '10'
    - item_type: preproc_def
      name: SHT_LLVM_ADDRSIG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '0x6FFF4C03'
    - item_type: preproc_def
      name: ELF_C_READ_MMAP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: ELF_C_READ
    - item_type: preproc_def
      name: JUMPTABLES_SEC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '".jumptables"'
    - item_type: preproc_def
      name: PROG_LOAD_ATTEMPTS
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SHA256_DIGEST_LENGTH
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/libbpf/src/libbpf_internal.h
      type_or_value: '32'
    structs:
    - fields:
      - name: (*detach)(struct bpf_link *link)
        type: int
      - name: (*dealloc)(struct bpf_link *link)
        type: void
      - name: '*pin_path'
        type: char
      - name: fd
        type: int
      - name: disconnected
        type: bool
      item_type: struct
      name: bpf_link
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: parts
        type: enum map_def_parts
      - name: map_type
        type: __u32
      - name: key_type_id
        type: __u32
      - name: key_size
        type: __u32
      - name: value_type_id
        type: __u32
      - name: value_size
        type: __u32
      - name: max_entries
        type: __u32
      - name: map_flags
        type: __u32
      - name: numa_node
        type: __u32
      - name: pinning
        type: __u32
      - name: map_extra
        type: __u64
      item_type: struct
      name: btf_map_def
      pos:
        line_end: 292
        line_start: 280
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: res[__FEAT_CNT]
        type: enum kern_feature_result
      - name: token_fd
        type: int
      item_type: struct
      name: kern_feature_cache
      pos:
        line_end: 415
        line_start: 412
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: '*info'
        type: void
      - name: rec_size
        type: __u32
      - name: len
        type: __u32
      - name: '*sec_idxs'
        type: __u32
      - name: sec_cnt
        type: int
      item_type: struct
      name: btf_ext_info
      pos:
        line_end: 458
        line_start: 443
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: magic
        type: __u16
      - name: version
        type: __u8
      - name: flags
        type: __u8
      - name: hdr_len
        type: __u32
      - name: func_info_off
        type: __u32
      - name: func_info_len
        type: __u32
      - name: line_info_off
        type: __u32
      - name: line_info_len
        type: __u32
      - name: core_relo_off
        type: __u32
      - name: core_relo_len
        type: __u32
      item_type: struct
      name: btf_ext_header
      pos:
        line_end: 507
        line_start: 492
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: '*data_swapped'
        type: void
      - name: swapped_endian
        type: bool
      - name: func_info
        type: struct btf_ext_info
      - name: line_info
        type: struct btf_ext_info
      - name: core_relo_info
        type: struct btf_ext_info
      - name: data_size
        type: __u32
      item_type: struct
      name: btf_ext
      pos:
        line_end: 520
        line_start: 509
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: sec_name_off
        type: __u32
      - name: num_info
        type: __u32
      - name: data[]
        type: __u8
      item_type: struct
      name: btf_ext_info_sec
      pos:
        line_end: 527
        line_start: 522
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: insn_off
        type: __u32
      - name: type_id
        type: __u32
      item_type: struct
      name: bpf_func_info_min
      pos:
        line_end: 533
        line_start: 530
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: insn_off
        type: __u32
      - name: file_name_off
        type: __u32
      - name: line_off
        type: __u32
      - name: line_col
        type: __u32
      item_type: struct
      name: bpf_line_info_min
      pos:
        line_end: 541
        line_start: 536
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: t_off_cnt
        type: int
      - name: m_sz
        type: int
      - name: m_off_cnt
        type: int
      item_type: struct
      name: btf_field_desc
      pos:
        line_end: 581
        line_start: 574
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: desc
        type: struct btf_field_desc
      - name: '*p'
        type: void
      - name: m_idx
        type: int
      - name: off_idx
        type: int
      - name: vlen
        type: int
      item_type: struct
      name: btf_field_iter
      pos:
        line_end: 589
        line_start: 583
        source_file: /src/libbpf/src/libbpf_internal.h
    - fields:
      - name: '*elf'
        type: Elf
      - name: fd
        type: int
      item_type: struct
      name: elf_fd
      pos:
        line_end: 756
        line_start: 753
        source_file: /src/libbpf/src/libbpf_internal.h
    typedefs:
    - item_type: typedef
      name: (*info_rec_bswap_fn)(void *)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/libbpf/src/libbpf_internal.h
      type: void
    - item_type: typedef
      name: (*type_id_visit_fn)(__u32 *type_id, void *ctx)
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/libbpf/src/libbpf_internal.h
      type: int
    - item_type: typedef
      name: (*str_off_visit_fn)(__u32 *str_off, void *ctx)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/libbpf/src/libbpf_internal.h
      type: int
    union: []
- function_names:
  - pr_warn_elf
  - bpf_linker__free
  - bpf_linker__new
  - bpf_linker__new_fd
  - add_dst_sec
  - add_new_sym
  - init_output_elf
  - bpf_linker_add_file
  - bpf_linker__add_file
  - bpf_linker__add_fd
  - bpf_linker__add_buf
  - is_dwarf_sec_name
  - is_ignored_sec
  - add_src_sec
  - linker_load_obj_file
  - linker_sanity_check_elf
  - linker_sanity_check_elf_symtab
  - linker_sanity_check_elf_relos
  - check_btf_type_id
  - check_btf_str_off
  - linker_sanity_check_btf
  - linker_sanity_check_btf_ext
  - init_sec
  - find_dst_sec_by_name
  - secs_match
  - sec_content_is_same
  - is_exec_sec
  - exec_sec_bswap
  - extend_sec
  - is_data_sec
  - is_relo_sec
  - linker_append_sec_data
  - linker_append_elf_syms
  - get_sym_by_idx
  - find_glob_sym
  - add_glob_sym
  - glob_sym_btf_matches
  - map_defs_match
  - glob_map_defs_match
  - glob_syms_match
  - btf_is_non_static
  - find_glob_sym_btf
  - find_src_sec_by_name
  - complete_extern_btf_info
  - sym_update_bind
  - sym_update_type
  - sym_update_visibility
  - linker_append_elf_sym
  - linker_append_elf_relos
  - find_sym_by_name
  - linker_fixup_btf
  - linker_append_btf
  - add_btf_ext_rec
  - linker_append_btf_ext
  - bpf_linker__finalize
  - emit_elf_data_sec
  - finalize_btf
  - emit_btf_ext_data
  - finalize_btf_ext
  source_file: /src/libbpf/src/linker.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BTF_EXTERN_SEC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libbpf/src/linker.c
      type_or_value: '".extern"'
    structs:
    - fields:
      - name: '*sec_name'
        type: char
      - name: id
        type: int
      - name: dst_id
        type: int
      - name: dst_off
        type: int
      - name: skipped
        type: bool
      - name: ephemeral
        type: bool
      - name: sec_idx
        type: size_t
      - name: '*scn'
        type: Elf_Scn
      - name: '*shdr'
        type: Elf64_Shdr
      - name: '*data'
        type: Elf_Data
      - name: sec_type_id
        type: int
      item_type: struct
      name: src_sec
      pos:
        line_end: 51
        line_start: 30
        source_file: /src/libbpf/src/linker.c
    - fields:
      - name: '*filename'
        type: char
      - name: fd
        type: int
      - name: '*elf'
        type: Elf
      - name: shstrs_sec_idx
        type: size_t
      - name: symtab_sec_idx
        type: size_t
      - name: '*btf'
        type: struct btf
      - name: '*btf_ext'
        type: struct btf_ext
      - name: '*secs'
        type: struct src_sec
      - name: sec_cnt
        type: int
      - name: '*sym_map'
        type: int
      - name: '*btf_type_map'
        type: int
      item_type: struct
      name: src_obj
      pos:
        line_end: 73
        line_start: 53
        source_file: /src/libbpf/src/linker.c
    - fields:
      - name: rec_cnt
        type: size_t
      - name: rec_sz
        type: __u32
      - name: '*recs'
        type: void
      item_type: struct
      name: btf_ext_sec_data
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/libbpf/src/linker.c
    - fields:
      - name: sym_idx
        type: int
      - name: sec_id
        type: int
      - name: name_off
        type: int
      - name: btf_id
        type: int
      - name: underlying_btf_id
        type: int
      - name: var_idx
        type: int
      - name: is_extern
        type: bool
      - name: is_weak
        type: bool
      item_type: struct
      name: glob_sym
      pos:
        line_end: 103
        line_start: 82
        source_file: /src/libbpf/src/linker.c
    - fields:
      - name: '*sec_name'
        type: char
      - name: id
        type: int
      - name: ephemeral
        type: bool
      - name: sec_idx
        type: size_t
      - name: '*scn'
        type: Elf_Scn
      - name: '*shdr'
        type: Elf64_Shdr
      - name: '*data'
        type: Elf_Data
      - name: sec_sz
        type: int
      - name: '*raw_data'
        type: void
      - name: sec_sym_idx
        type: int
      - name: has_btf
        type: bool
      - name: sec_var_cnt
        type: int
      - name: '*sec_vars'
        type: struct btf_var_secinfo
      - name: func_info
        type: struct btf_ext_sec_data
      - name: line_info
        type: struct btf_ext_sec_data
      - name: core_relo_info
        type: struct btf_ext_sec_data
      item_type: struct
      name: dst_sec
      pos:
        line_end: 135
        line_start: 105
        source_file: /src/libbpf/src/linker.c
    - fields:
      - name: '*filename'
        type: char
      - name: fd
        type: int
      - name: '*elf'
        type: Elf
      - name: '*elf_hdr'
        type: Elf64_Ehdr
      - name: swapped_endian
        type: bool
      - name: '*secs'
        type: struct dst_sec
      - name: sec_cnt
        type: int
      - name: '*strtab_strs'
        type: struct strset
      - name: strtab_sec_idx
        type: size_t
      - name: symtab_sec_idx
        type: size_t
      - name: '*btf'
        type: struct btf
      - name: '*btf_ext'
        type: struct btf_ext
      - name: glob_sym_cnt
        type: int
      - name: '*glob_syms'
        type: struct glob_sym
      - name: fd_is_owned
        type: bool
      item_type: struct
      name: bpf_linker
      pos:
        line_end: 160
        line_start: 137
        source_file: /src/libbpf/src/linker.c
    typedefs: []
    union: []
- function_names:
  - skel_sys_bpf
  - close
  - skel_alloc
  - skel_free
  - skel_free_map_data
  - skel_prep_map_data
  - skel_finalize_map_data
  - skel_alloc
  - skel_free
  - skel_free_map_data
  - skel_prep_map_data
  - skel_finalize_map_data
  - skel_closenz
  - offsetofend
  - skel_map_create
  - skel_map_update_elem
  - skel_map_delete_elem
  - skel_map_get_fd_by_id
  - skel_raw_tracepoint_open
  - skel_link_create
  - skel_map_freeze
  - bpf_load_and_run
  source_file: /src/libbpf/src/skel_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/src/skel_internal.h
      type_or_value: '4355'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libbpf/src/skel_internal.h
      type_or_value: '6319'
    - item_type: preproc_def
      name: __NR_bpf
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/src/skel_internal.h
      type_or_value: '5315'
    - item_type: preproc_def
      name: set_err
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/libbpf/src/skel_internal.h
      type_or_value: err = -errno
    structs:
    - fields:
      - name: map_fd
        type: int
      - name: max_entries
        type: __u32
      - name: initial_value
        type: __aligned_u64
      item_type: struct
      name: bpf_map_desc
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/libbpf/src/skel_internal.h
    - fields:
      - name: prog_fd
        type: int
      item_type: struct
      name: bpf_prog_desc
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/libbpf/src/skel_internal.h
    - fields:
      - name: sz
        type: __u32
      - name: flags
        type: __u32
      - name: log_level
        type: __u32
      - name: log_size
        type: __u32
      - name: log_buf
        type: __u64
      item_type: struct
      name: bpf_loader_ctx
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/libbpf/src/skel_internal.h
    - fields:
      - name: '*ctx'
        type: struct bpf_loader_ctx
      - name: '*data'
        type: void
      - name: '*insns'
        type: void
      - name: data_sz
        type: __u32
      - name: insns_sz
        type: __u32
      - name: '*errstr'
        type: char
      - name: '*signature'
        type: void
      - name: signature_sz
        type: __u32
      - name: keyring_id
        type: __s32
      - name: '*excl_prog_hash'
        type: void
      - name: excl_prog_hash_sz
        type: __u32
      item_type: struct
      name: bpf_load_and_run_opts
      pos:
        line_end: 72
        line_start: 60
        source_file: /src/libbpf/src/skel_internal.h
    typedefs: []
    union: []
- function_names:
  - check_access
  - try_parse_end_of_cd
  - find_cd
  - zip_archive_open
  - zip_archive_close
  - local_file_header_at_offset
  - get_entry_at_offset
  - zip_archive_find_entry
  source_file: /src/libbpf/src/zip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: END_OF_CD_RECORD_MAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libbpf/src/zip.c
      type_or_value: '0x06054b50'
    - item_type: preproc_def
      name: CD_FILE_HEADER_MAGIC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libbpf/src/zip.c
      type_or_value: '0x02014b50'
    - item_type: preproc_def
      name: FLAG_ENCRYPTED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/src/zip.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FLAG_HAS_DATA_DESCRIPTOR
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libbpf/src/zip.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: LOCAL_FILE_HEADER_MAGIC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libbpf/src/zip.c
      type_or_value: '0x04034b50'
    structs:
    - fields:
      - name: magic
        type: __u32
      - name: this_disk
        type: __u16
      - name: cd_disk
        type: __u16
      - name: cd_records
        type: __u16
      - name: cd_records_total
        type: __u16
      - name: cd_size
        type: __u32
      - name: cd_offset
        type: __u32
      - name: comment_length
        type: __u16
      item_type: struct
      name: end_of_cd_record
      pos:
        line_end: 73
        line_start: 36
        source_file: /src/libbpf/src/zip.c
    - fields:
      - name: magic
        type: __u32
      - name: version
        type: __u16
      - name: min_version
        type: __u16
      - name: flags
        type: __u16
      - name: compression
        type: __u16
      - name: last_modified_time
        type: __u16
      - name: last_modified_date
        type: __u16
      - name: crc
        type: __u32
      - name: compressed_size
        type: __u32
      - name: uncompressed_size
        type: __u32
      - name: file_name_length
        type: __u16
      - name: extra_field_length
        type: __u16
      - name: file_comment_length
        type: __u16
      - name: disk
        type: __u16
      - name: internal_attributes
        type: __u16
      - name: external_attributes
        type: __u32
      - name: offset
        type: __u32
      item_type: struct
      name: cd_file_header
      pos:
        line_end: 104
        line_start: 80
        source_file: /src/libbpf/src/zip.c
    - fields:
      - name: magic
        type: __u32
      - name: min_version
        type: __u16
      - name: flags
        type: __u16
      - name: compression
        type: __u16
      - name: last_modified_time
        type: __u16
      - name: last_modified_date
        type: __u16
      - name: crc
        type: __u32
      - name: compressed_size
        type: __u32
      - name: uncompressed_size
        type: __u32
      - name: file_name_length
        type: __u16
      - name: extra_field_length
        type: __u16
      item_type: struct
      name: local_file_header
      pos:
        line_end: 123
        line_start: 109
        source_file: /src/libbpf/src/zip.c
    - fields:
      - name: '*data'
        type: void
      - name: size
        type: __u32
      - name: cd_offset
        type: __u32
      - name: cd_records
        type: __u32
      item_type: struct
      name: zip_archive
      pos:
        line_end: 132
        line_start: 127
        source_file: /src/libbpf/src/zip.c
    typedefs: []
    union: []
- function_names:
  - btf_var_secinfos
  - btf_field_iter_init
  - btf_field_iter_next
  source_file: /src/libbpf/src/btf_iter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIBBPF_DEPRECATED
  - LIBBPF_DEPRECATED_SINCE
  - __LIBBPF_CURRENT_VERSION_GEQ
  - __LIBBPF_MARK_DEPRECATED_1_0
  - ___libbpf_cat
  - ___libbpf_select
  - ___libbpf_nth
  - ___libbpf_cnt
  - ___libbpf_overload
  - LIBBPF_OPTS
  - LIBBPF_OPTS_RESET
  source_file: /src/libbpf/src/libbpf_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBBPF_API
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/src/libbpf_common.h
      type_or_value: __attribute__((visibility("default")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - bpf_object__for_each_program
  - bpf_object__for_each_map
  - BPF_TC_PARENT
  source_file: /src/libbpf/src/libbpf.h
  types:
    enum:
    - enumerators:
      - name: __LIBBPF_ERRNO__START
        value: '4000'
      - name: LIBBPF_ERRNO__FORMAT
      - name: LIBBPF_ERRNO__KVERSION
      - name: LIBBPF_ERRNO__ENDIAN
      - name: LIBBPF_ERRNO__LIBELF
        value: __LIBBPF_ERRNO__START
      - name: LIBBPF_ERRNO__INTERNAL
      - name: LIBBPF_ERRNO__RELOC
      - name: LIBBPF_ERRNO__LOAD
      - name: LIBBPF_ERRNO__VERIFY
      - name: LIBBPF_ERRNO__PROG2BIG
      - name: LIBBPF_ERRNO__WRNGPID
      - name: LIBBPF_ERRNO__NLPARSE
      - name: __LIBBPF_ERRNO__END
      - name: LIBBPF_ERRNO__KVER
      - name: LIBBPF_ERRNO__INVSEQ
      - name: LIBBPF_ERRNO__PROGTYPE
      item_type: enum
      name: libbpf_errno
      pos:
        line_end: 66
        line_start: 47
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: LIBBPF_WARN
      - name: LIBBPF_INFO
      - name: LIBBPF_DEBUG
      item_type: enum
      name: libbpf_print_level
      pos:
        line_end: 118
        line_start: 114
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: PROBE_ATTACH_MODE_DEFAULT
        value: '0'
      - name: PROBE_ATTACH_MODE_LINK
      - name: PROBE_ATTACH_MODE_LEGACY
      - name: PROBE_ATTACH_MODE_PERF
      item_type: enum
      name: probe_attach_mode
      pos:
        line_end: 552
        line_start: 543
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: BPF_TC_INGRESS
        value: 1 << 0
      - name: BPF_TC_QDISC
        value: 1 << 3
      - name: BPF_TC_CUSTOM
        value: 1 << 2
      - name: BPF_TC_EGRESS
        value: 1 << 1
      item_type: enum
      name: bpf_tc_attach_point
      pos:
        line_end: 1411
        line_start: 1406
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: BPF_TC_F_REPLACE
        value: 1 << 0
      item_type: enum
      name: bpf_tc_flags
      pos:
        line_end: 1418
        line_start: 1416
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: LIBBPF_PERF_EVENT_DONE
        value: '0'
      - name: LIBBPF_PERF_EVENT_ERROR
        value: '-1'
      - name: LIBBPF_PERF_EVENT_CONT
        value: '-2'
      item_type: enum
      name: bpf_perf_event_ret
      pos:
        line_end: 1707
        line_start: 1703
        source_file: /src/libbpf/src/libbpf.h
    - enumerators:
      - name: TRI_NO
        value: '0'
      - name: TRI_YES
        value: '1'
      - name: TRI_MODULE
        value: '2'
      item_type: enum
      name: libbpf_tristate
      pos:
        line_end: 1926
        line_start: 1922
        source_file: /src/libbpf/src/libbpf.h
    preproc_defs:
    - item_type: preproc_def
      name: bpf_object_open_opts__last_field
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: bpf_token_path
    - item_type: preproc_def
      name: bpf_perf_event_opts__last_field
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: dont_enable
    - item_type: preproc_def
      name: bpf_kprobe_opts__last_field
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: attach_mode
    - item_type: preproc_def
      name: bpf_kprobe_multi_opts__last_field
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: unique_match
    - item_type: preproc_def
      name: bpf_uprobe_multi_opts__last_field
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: session
    - item_type: preproc_def
      name: bpf_ksyscall_opts__last_field
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: retprobe
    - item_type: preproc_def
      name: bpf_tracing_multi_opts__last_field
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: cnt
    - item_type: preproc_def
      name: bpf_uprobe_opts__last_field
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: attach_mode
    - item_type: preproc_def
      name: bpf_usdt_opts__last_field
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: usdt_cookie
    - item_type: preproc_def
      name: bpf_tracepoint_opts__last_field
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: bpf_cookie
    - item_type: preproc_def
      name: bpf_raw_tracepoint_opts__last_field
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: cookie
    - item_type: preproc_def
      name: bpf_trace_opts__last_field
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: cookie
    - item_type: preproc_def
      name: bpf_netfilter_opts__last_field
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: flags
    - item_type: preproc_def
      name: bpf_tcx_opts__last_field
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: expected_revision
    - item_type: preproc_def
      name: bpf_netkit_opts__last_field
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: expected_revision
    - item_type: preproc_def
      name: bpf_cgroup_opts__last_field
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: expected_revision
    - item_type: preproc_def
      name: bpf_iter_attach_opts__last_field
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: link_info_len
    - item_type: preproc_def
      name: bpf_map__for_each
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: bpf_object__for_each_map
    - item_type: preproc_def
      name: bpf_xdp_set_link_opts__last_field
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: old_fd
    - item_type: preproc_def
      name: bpf_xdp_attach_opts__last_field
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: old_prog_fd
    - item_type: preproc_def
      name: bpf_xdp_query_opts__last_field
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: xdp_zc_max_segs
    - item_type: preproc_def
      name: bpf_tc_hook__last_field
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: qdisc
    - item_type: preproc_def
      name: bpf_tc_opts__last_field
      pos:
        line_end: 1441
        line_start: 1440
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: priority
    - item_type: preproc_def
      name: ring_buffer_opts__last_field
      pos:
        line_end: 1463
        line_start: 1462
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: sz
    - item_type: preproc_def
      name: user_ring_buffer_opts__last_field
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: sz
    - item_type: preproc_def
      name: perf_buffer_opts__last_field
      pos:
        line_end: 1684
        line_start: 1683
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: sample_period
    - item_type: preproc_def
      name: perf_buffer_raw_opts__last_field
      pos:
        line_end: 1729
        line_start: 1728
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: map_keys
    - item_type: preproc_def
      name: gen_loader_opts__last_field
      pos:
        line_end: 1919
        line_start: 1918
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: gen_hash
    - item_type: preproc_def
      name: bpf_linker_opts__last_field
      pos:
        line_end: 1933
        line_start: 1932
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: sz
    - item_type: preproc_def
      name: bpf_linker_file_opts__last_field
      pos:
        line_end: 1939
        line_start: 1938
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: sz
    - item_type: preproc_def
      name: libbpf_prog_handler_opts__last_field
      pos:
        line_end: 2007
        line_start: 2006
        source_file: /src/libbpf/src/libbpf.h
      type_or_value: prog_attach_fn
    structs:
    - fields:
      - name: sz
        type: size_t
      - name: '*object_name'
        type: char
      - name: relaxed_maps
        type: bool
      - name: '*pin_root_path'
        type: char
      - name: '*kconfig'
        type: char
      - name: '*btf_custom_path'
        type: char
      - name: '*kernel_log_buf'
        type: char
      - name: kernel_log_size
        type: size_t
      - name: kernel_log_level
        type: __u32
      - name: '*bpf_token_path'
        type: char
      item_type: struct
      name: bpf_object_open_opts
      pos:
        line_end: 228
        line_start: 139
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: bpf_cookie
        type: __u64
      - name: force_ioctl_attach
        type: bool
      - name: dont_enable
        type: bool
      item_type: struct
      name: bpf_perf_event_opts
      pos:
        line_end: 527
        line_start: 517
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: bpf_cookie
        type: __u64
      - name: offset
        type: size_t
      - name: retprobe
        type: bool
      - name: attach_mode
        type: enum probe_attach_mode
      item_type: struct
      name: bpf_kprobe_opts
      pos:
        line_end: 566
        line_start: 554
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '**syms'
        type: char
      - name: '*addrs'
        type: unsigned long
      - name: '*cookies'
        type: __u64
      - name: cnt
        type: size_t
      - name: retprobe
        type: bool
      - name: session
        type: bool
      - name: unique_match
        type: bool
      item_type: struct
      name: bpf_kprobe_multi_opts
      pos:
        line_end: 620
        line_start: 602
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '**syms'
        type: char
      - name: '*offsets'
        type: unsigned long
      - name: '*ref_ctr_offsets'
        type: unsigned long
      - name: '*cookies'
        type: __u64
      - name: cnt
        type: size_t
      - name: retprobe
        type: bool
      - name: session
        type: bool
      item_type: struct
      name: bpf_uprobe_multi_opts
      pos:
        line_end: 647
        line_start: 629
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: bpf_cookie
        type: __u64
      - name: retprobe
        type: bool
      item_type: struct
      name: bpf_ksyscall_opts
      pos:
        line_end: 690
        line_start: 682
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*ids'
        type: __u32
      - name: '*cookies'
        type: __u64
      - name: cnt
        type: size_t
      item_type: struct
      name: bpf_tracing_multi_opts
      pos:
        line_end: 735
        line_start: 728
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: ref_ctr_offset
        type: size_t
      - name: bpf_cookie
        type: __u64
      - name: retprobe
        type: bool
      - name: '*func_name'
        type: char
      - name: attach_mode
        type: enum probe_attach_mode
      item_type: struct
      name: bpf_uprobe_opts
      pos:
        line_end: 765
        line_start: 743
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: usdt_cookie
        type: __u64
      item_type: struct
      name: bpf_usdt_opts
      pos:
        line_end: 814
        line_start: 808
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: bpf_cookie
        type: __u64
      item_type: struct
      name: bpf_tracepoint_opts
      pos:
        line_end: 844
        line_start: 839
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: cookie
        type: __u64
      item_type: struct
      name: bpf_raw_tracepoint_opts
      pos:
        line_end: 861
        line_start: 857
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: cookie
        type: __u64
      item_type: struct
      name: bpf_trace_opts
      pos:
        line_end: 877
        line_start: 872
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: pf
        type: __u32
      - name: hooknum
        type: __u32
      - name: priority
        type: __s32
      - name: flags
        type: __u32
      item_type: struct
      name: bpf_netfilter_opts
      pos:
        line_end: 907
        line_start: 899
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: relative_fd
        type: __u32
      - name: relative_id
        type: __u32
      - name: expected_revision
        type: __u64
      item_type: struct
      name: bpf_tcx_opts
      pos:
        line_end: 922
        line_start: 914
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: relative_fd
        type: __u32
      - name: relative_id
        type: __u32
      - name: expected_revision
        type: __u64
      item_type: struct
      name: bpf_netkit_opts
      pos:
        line_end: 937
        line_start: 929
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: flags
        type: __u32
      - name: relative_fd
        type: __u32
      - name: relative_id
        type: __u32
      - name: expected_revision
        type: __u64
      item_type: struct
      name: bpf_cgroup_opts
      pos:
        line_end: 952
        line_start: 944
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*link_info'
        type: union bpf_iter_link_info
      - name: link_info_len
        type: __u32
      item_type: struct
      name: bpf_iter_attach_opts
      pos:
        line_end: 968
        line_start: 964
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: old_fd
        type: int
      item_type: struct
      name: bpf_xdp_set_link_opts
      pos:
        line_end: 1375
        line_start: 1371
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: old_prog_fd
        type: int
      item_type: struct
      name: bpf_xdp_attach_opts
      pos:
        line_end: 1382
        line_start: 1378
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: prog_id
        type: __u32
      - name: drv_prog_id
        type: __u32
      - name: hw_prog_id
        type: __u32
      - name: skb_prog_id
        type: __u32
      - name: attach_mode
        type: __u8
      - name: feature_flags
        type: __u64
      - name: xdp_zc_max_segs
        type: __u32
      item_type: struct
      name: bpf_xdp_query_opts
      pos:
        line_end: 1395
        line_start: 1385
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: ifindex
        type: int
      - name: attach_point
        type: enum bpf_tc_attach_point
      - name: parent
        type: __u32
      - name: handle
        type: __u32
      - name: '*qdisc'
        type: char
      item_type: struct
      name: bpf_tc_hook
      pos:
        line_end: 1428
        line_start: 1420
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: prog_fd
        type: int
      - name: flags
        type: __u32
      - name: prog_id
        type: __u32
      - name: handle
        type: __u32
      - name: priority
        type: __u32
      item_type: struct
      name: bpf_tc_opts
      pos:
        line_end: 1439
        line_start: 1431
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: ring_buffer_opts
      pos:
        line_end: 1460
        line_start: 1458
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: user_ring_buffer_opts
      pos:
        line_end: 1560
        line_start: 1558
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: sample_period
        type: __u32
      item_type: struct
      name: perf_buffer_opts
      pos:
        line_end: 1682
        line_start: 1678
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: cpu_cnt
        type: int
      - name: '*cpus'
        type: int
      - name: '*map_keys'
        type: int
      item_type: struct
      name: perf_buffer_raw_opts
      pos:
        line_end: 1727
        line_start: 1715
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: '*name'
        type: char
      - name: '**map'
        type: struct bpf_map
      - name: '**mmaped'
        type: void
      - name: '**link'
        type: struct bpf_link
      item_type: struct
      name: bpf_map_skeleton
      pos:
        line_end: 1846
        line_start: 1841
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: '*name'
        type: char
      - name: '**prog'
        type: struct bpf_program
      - name: '**link'
        type: struct bpf_link
      item_type: struct
      name: bpf_prog_skeleton
      pos:
        line_end: 1852
        line_start: 1848
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*name'
        type: char
      - name: '*data'
        type: void
      - name: data_sz
        type: size_t
      - name: '**obj'
        type: struct bpf_object
      - name: map_cnt
        type: int
      - name: map_skel_sz
        type: int
      - name: '*maps'
        type: struct bpf_map_skeleton
      - name: prog_cnt
        type: int
      - name: prog_skel_sz
        type: int
      - name: '*progs'
        type: struct bpf_prog_skeleton
      item_type: struct
      name: bpf_object_skeleton
      pos:
        line_end: 1870
        line_start: 1854
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: '*name'
        type: char
      - name: '**map'
        type: struct bpf_map
      - name: '**addr'
        type: void
      item_type: struct
      name: bpf_var_skeleton
      pos:
        line_end: 1884
        line_start: 1880
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*obj'
        type: struct bpf_object
      - name: map_cnt
        type: int
      - name: map_skel_sz
        type: int
      - name: '*maps'
        type: struct bpf_map_skeleton
      - name: prog_cnt
        type: int
      - name: prog_skel_sz
        type: int
      - name: '*progs'
        type: struct bpf_prog_skeleton
      - name: var_cnt
        type: int
      - name: var_skel_sz
        type: int
      - name: '*vars'
        type: struct bpf_var_skeleton
      item_type: struct
      name: bpf_object_subskeleton
      pos:
        line_end: 1902
        line_start: 1886
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: '*data'
        type: char
      - name: '*insns'
        type: char
      - name: data_sz
        type: __u32
      - name: insns_sz
        type: __u32
      - name: gen_hash
        type: bool
      item_type: struct
      name: gen_loader_opts
      pos:
        line_end: 1916
        line_start: 1909
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: bpf_linker_opts
      pos:
        line_end: 1931
        line_start: 1928
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      item_type: struct
      name: bpf_linker_file_opts
      pos:
        line_end: 1937
        line_start: 1934
        source_file: /src/libbpf/src/libbpf.h
    - fields:
      - name: sz
        type: size_t
      - name: cookie
        type: long
      - name: prog_setup_fn
        type: libbpf_prog_setup_fn_t
      - name: prog_prepare_load_fn
        type: libbpf_prog_prepare_load_fn_t
      - name: prog_attach_fn
        type: libbpf_prog_attach_fn_t
      item_type: struct
      name: libbpf_prog_handler_opts
      pos:
        line_end: 2005
        line_start: 1982
        source_file: /src/libbpf/src/libbpf.h
    typedefs:
    - item_type: typedef
      name: "(*libbpf_print_fn_t)(enum libbpf_print_level level,\n\t\t\t\t const char
        *, va_list ap)"
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libbpf/src/libbpf.h
      type: int
    - item_type: typedef
      name: (*ring_buffer_sample_fn)(void *ctx, void *data, size_t size)
      pos:
        line_end: 1456
        line_start: 1456
        source_file: /src/libbpf/src/libbpf.h
      type: int
    - item_type: typedef
      name: "(*perf_buffer_sample_fn)(void *ctx, int cpu,\n\t\t\t\t      void *data,
        __u32 size)"
      pos:
        line_end: 1674
        line_start: 1673
        source_file: /src/libbpf/src/libbpf.h
      type: void
    - item_type: typedef
      name: (*perf_buffer_lost_fn)(void *ctx, int cpu, __u64 cnt)
      pos:
        line_end: 1675
        line_start: 1675
        source_file: /src/libbpf/src/libbpf.h
      type: void
    - item_type: typedef
      name: (*perf_buffer_event_fn)(void *ctx, int cpu, struct perf_event_header *event)
      pos:
        line_end: 1712
        line_start: 1711
        source_file: /src/libbpf/src/libbpf.h
      type: bpf_perf_event_ret
    - item_type: typedef
      name: (*libbpf_prog_setup_fn_t)(struct bpf_program *prog, long cookie)
      pos:
        line_end: 1964
        line_start: 1964
        source_file: /src/libbpf/src/libbpf.h
      type: int
    - item_type: typedef
      name: "(*libbpf_prog_prepare_load_fn_t)(struct bpf_program *prog,\n\t\t\t\t\t
        \    struct bpf_prog_load_opts *opts, long cookie)"
      pos:
        line_end: 1970
        line_start: 1969
        source_file: /src/libbpf/src/libbpf.h
      type: int
    - item_type: typedef
      name: "(*libbpf_prog_attach_fn_t)(const struct bpf_program *prog, long cookie,\n\t\t\t\t
        \      struct bpf_link **link)"
      pos:
        line_end: 1980
        line_start: 1979
        source_file: /src/libbpf/src/libbpf.h
      type: int
    union: []
- function_names:
  - strset_hash_fn
  - strset_equal_fn
  - strset__new
  - strset__free
  - strset__data_size
  - strset__data
  - strset_add_str_mem
  - strset_str_append
  - strset__find_str
  - strset__add_str
  source_file: /src/libbpf/src/strset.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*strs_data'
        type: void
      - name: strs_data_len
        type: size_t
      - name: strs_data_cap
        type: size_t
      - name: strs_data_max_len
        type: size_t
      - name: '*strs_hash'
        type: struct hashmap
      item_type: struct
      name: strset
      pos:
        line_end: 19
        line_start: 11
        source_file: /src/libbpf/src/strset.c
    typedefs: []
    union: []
- function_names:
  - __CORE_RELO
  - __CORE_BITFIELD_PROBE_READ
  - __CORE_BITFIELD_PROBE_READ
  - BPF_CORE_READ_BITFIELD_PROBED
  - BPF_CORE_READ_BITFIELD
  - BPF_CORE_WRITE_BITFIELD
  - ___bpf_typeof
  - ___bpf_typeof1
  - ___bpf_typeof
  - ___bpf_field_ref1
  - ___bpf_field_ref2
  - ___bpf_field_ref1
  - ___bpf_field_ref2
  - ___bpf_field_ref
  - bpf_core_field_exists
  - bpf_core_field_size
  - bpf_core_field_offset
  - bpf_core_type_id_local
  - bpf_core_type_id_kernel
  - bpf_core_type_exists
  - bpf_core_type_matches
  - bpf_core_type_size
  - bpf_core_enum_value_exists
  - bpf_core_enum_value_exists
  - bpf_core_enum_value
  - bpf_core_enum_value
  - bpf_core_read
  - bpf_core_read_user
  - bpf_core_read_str
  - bpf_core_read_user_str
  - bpf_core_cast
  - ___concat
  - ___apply
  - ___nth
  - ___narg
  - ___empty
  - ___last1
  - ___last2
  - ___last3
  - ___last4
  - ___last5
  - ___last6
  - ___last7
  - ___last8
  - ___last9
  - ___last10
  - ___last
  - ___nolast2
  - ___nolast3
  - ___nolast4
  - ___nolast5
  - ___nolast6
  - ___nolast7
  - ___nolast8
  - ___nolast9
  - ___nolast10
  - ___nolast
  - ___arrow1
  - ___arrow2
  - ___arrow3
  - ___arrow4
  - ___arrow5
  - ___arrow6
  - ___arrow7
  - ___arrow8
  - ___arrow9
  - ___arrow10
  - ___arrow
  - ___type
  - ___type
  - ___type
  - ___read
  - ___rd_first
  - ___rd_last
  - ___rd_p1
  - ___rd_p2
  - ___rd_p3
  - ___rd_p4
  - ___rd_p5
  - ___rd_p6
  - ___rd_p7
  - ___rd_p8
  - ___rd_p9
  - ___read_ptrs
  - ___core_read0
  - ___core_readN
  - ___core_read
  - BPF_CORE_READ_INTO
  - BPF_CORE_READ_USER_INTO
  - BPF_PROBE_READ_INTO
  - BPF_PROBE_READ_USER_INTO
  - BPF_CORE_READ_STR_INTO
  - BPF_CORE_READ_USER_STR_INTO
  - BPF_PROBE_READ_STR_INTO
  - BPF_PROBE_READ_USER_STR_INTO
  - BPF_CORE_READ
  - BPF_CORE_READ_USER
  - BPF_PROBE_READ
  - BPF_PROBE_READ_USER
  source_file: /src/libbpf/src/bpf_core_read.h
  types:
    enum:
    - enumerators:
      - name: BPF_FIELD_BYTE_OFFSET
        value: '0'
      - name: BPF_FIELD_LSHIFT_U64
        value: '4'
      - name: BPF_FIELD_BYTE_SIZE
        value: '1'
      - name: BPF_FIELD_EXISTS
        value: '2'
      - name: BPF_FIELD_SIGNED
        value: '3'
      - name: BPF_FIELD_RSHIFT_U64
        value: '5'
      item_type: enum
      name: bpf_field_info_kind
      pos:
        line_end: 21
        line_start: 14
        source_file: /src/libbpf/src/bpf_core_read.h
    - enumerators:
      - name: BPF_TYPE_ID_LOCAL
        value: '0'
      - name: BPF_TYPE_ID_TARGET
        value: '1'
      item_type: enum
      name: bpf_type_id_kind
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/libbpf/src/bpf_core_read.h
    - enumerators:
      - name: BPF_TYPE_EXISTS
        value: '0'
      - name: BPF_TYPE_SIZE
        value: '1'
      - name: BPF_TYPE_MATCHES
        value: '2'
      item_type: enum
      name: bpf_type_info_kind
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/libbpf/src/bpf_core_read.h
    - enumerators:
      - name: BPF_ENUMVAL_EXISTS
        value: '0'
      - name: BPF_ENUMVAL_VALUE
        value: '1'
      item_type: enum
      name: bpf_enum_value_kind
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/libbpf/src/bpf_core_read.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/src/libbpf_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBBPF_MAJOR_VERSION
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/libbpf/src/libbpf_version.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBBPF_MINOR_VERSION
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/libbpf/src/libbpf_version.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/asm/barrier.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIST_HEAD_INIT
  - LIST_HEAD
  - INIT_LIST_HEAD
  - __list_add
  - list_add
  - __list_del
  - __list_del_entry
  - list_del
  - list_empty
  - list_entry
  - list_first_entry
  - list_next_entry
  - list_for_each_entry
  source_file: /src/libbpf/include/linux/list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POISON_POINTER_DELTA
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/linux/list.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIST_POISON1
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libbpf/include/linux/list.h
      type_or_value: ((void *) 0x100 + POISON_POINTER_DELTA)
    - item_type: preproc_def
      name: LIST_POISON2
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/libbpf/include/linux/list.h
      type_or_value: ((void *) 0x200 + POISON_POINTER_DELTA)
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_signed_type
  - __type_half_max
  - type_max
  - type_min
  - unlikely
  - check_mul_overflow
  - __unsigned_mul_overflow
  - __signed_mul_overflow
  - check_mul_overflow
  source_file: /src/libbpf/include/linux/overflow.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GCC_VERSION
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/libbpf/include/linux/overflow.h
      type_or_value: "(__GNUC__ * 10000           \\\n                     + __GNUC_MINOR__
        * 100     \\\n                     + __GNUC_PATCHLEVEL__)"
    - item_type: preproc_def
      name: COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/include/linux/overflow.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ring_buffer_read_head
  - ring_buffer_write_tail
  source_file: /src/libbpf/include/linux/ring_buffer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - offsetof
  - container_of
  - max
  - min
  - roundup
  - ARRAY_SIZE
  - __KERNEL_DIV_ROUND_UP
  - be32_to_cpu
  - cpu_to_be32
  - be64_to_cpu
  - cpu_to_be64
  - be32_to_cpu
  - cpu_to_be32
  - be64_to_cpu
  - cpu_to_be64
  source_file: /src/libbpf/include/linux/kernel.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - likely
  - unlikely
  - READ_ONCE
  - WRITE_ONCE
  - barrier
  - smp_rmb
  - smp_wmb
  - smp_mb
  - smp_store_release
  - smp_load_acquire
  - smp_rmb
  - smp_wmb
  - smp_mb
  - smp_mb
  - smp_rmb
  - smp_wmb
  - smp_store_release
  - smp_load_acquire
  source_file: /src/libbpf/include/linux/compiler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_ERR_VALUE
  - ERR_PTR
  - PTR_ERR
  - IS_ERR
  - IS_ERR_OR_NULL
  - PTR_ERR_OR_ZERO
  source_file: /src/libbpf/include/linux/err.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ERRNO
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libbpf/include/linux/err.h
      type_or_value: '4095'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/linux/types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __bitwise
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/include/linux/types.h
      type_or_value: __bitwise__
    - item_type: preproc_def
      name: __aligned_u64
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libbpf/include/linux/types.h
      type_or_value: __u64 __attribute__((aligned(8)))
    structs:
    - fields:
      - name: '*next'
        type: struct list_head
      item_type: struct
      name: list_head
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/libbpf/include/linux/types.h
    typedefs:
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/libbpf/include/linux/types.h
      type: __u16
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/libbpf/include/linux/types.h
      type: __u16
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/libbpf/include/linux/types.h
      type: __u32
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/libbpf/include/linux/types.h
      type: __u32
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/libbpf/include/linux/types.h
      type: __u64
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/libbpf/include/linux/types.h
      type: __u64
    - item_type: typedef
      name: __poll_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/libbpf/include/linux/types.h
      type: unsigned __bitwise
    union: []
- function_names:
  - BPF_RAW_INSN
  - BPF_ALU32_IMM
  - BPF_ALU64_IMM
  - BPF_MOV64_IMM
  - BPF_CALL_REL
  - BPF_EXIT_INSN
  - BPF_EMIT_CALL
  - BPF_LDX_MEM
  - BPF_STX_MEM
  - BPF_ST_MEM
  - BPF_MOV64_REG
  - BPF_MOV32_IMM
  - BPF_LD_IMM64_RAW_FULL
  - BPF_LD_MAP_FD
  - BPF_LD_MAP_VALUE
  - BPF_JMP_REG
  - BPF_JMP_IMM
  - BPF_JMP32_IMM
  source_file: /src/libbpf/include/linux/filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PERF_MEM_S
  source_file: /src/libbpf/include/uapi/linux/perf_event.h
  types:
    enum:
    - enumerators:
      - name: PERF_TYPE_HARDWARE
        value: '0'
      - name: PERF_TYPE_RAW
        value: '4'
      - name: PERF_TYPE_HW_CACHE
        value: '3'
      - name: PERF_TYPE_TRACEPOINT
        value: '2'
      - name: PERF_TYPE_SOFTWARE
        value: '1'
      - name: PERF_TYPE_BREAKPOINT
        value: '5'
      - name: PERF_TYPE_MAX
      item_type: enum
      name: perf_type_id
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_COUNT_HW_CPU_CYCLES
        value: '0'
      - name: PERF_COUNT_HW_BRANCH_INSTRUCTIONS
        value: '4'
      - name: PERF_COUNT_HW_INSTRUCTIONS
        value: '1'
      - name: PERF_COUNT_HW_CACHE_REFERENCES
        value: '2'
      - name: PERF_COUNT_HW_CACHE_MISSES
        value: '3'
      - name: PERF_COUNT_HW_BRANCH_MISSES
        value: '5'
      - name: PERF_COUNT_HW_BUS_CYCLES
        value: '6'
      - name: PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
        value: '7'
      - name: PERF_COUNT_HW_STALLED_CYCLES_BACKEND
        value: '8'
      - name: PERF_COUNT_HW_REF_CPU_CYCLES
        value: '9'
      - name: PERF_COUNT_HW_MAX
      item_type: enum
      name: perf_hw_id
      pos:
        line_end: 78
        line_start: 62
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_COUNT_HW_CACHE_L1D
        value: '0'
      - name: PERF_COUNT_HW_CACHE_DTLB
        value: '3'
      - name: PERF_COUNT_HW_CACHE_ITLB
        value: '4'
      - name: PERF_COUNT_HW_CACHE_L1I
        value: '1'
      - name: PERF_COUNT_HW_CACHE_LL
        value: '2'
      - name: PERF_COUNT_HW_CACHE_BPU
        value: '5'
      - name: PERF_COUNT_HW_CACHE_NODE
        value: '6'
      - name: PERF_COUNT_HW_CACHE_MAX
      item_type: enum
      name: perf_hw_cache_id
      pos:
        line_end: 97
        line_start: 87
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_COUNT_HW_CACHE_OP_READ
        value: '0'
      - name: PERF_COUNT_HW_CACHE_OP_MAX
      - name: PERF_COUNT_HW_CACHE_OP_WRITE
        value: '1'
      - name: PERF_COUNT_HW_CACHE_OP_PREFETCH
        value: '2'
      item_type: enum
      name: perf_hw_cache_op_id
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_COUNT_HW_CACHE_RESULT_ACCESS
        value: '0'
      - name: PERF_COUNT_HW_CACHE_RESULT_MISS
        value: '1'
      - name: PERF_COUNT_HW_CACHE_RESULT_MAX
      item_type: enum
      name: perf_hw_cache_op_result_id
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_COUNT_SW_CPU_CLOCK
        value: '0'
      - name: PERF_COUNT_SW_CPU_MIGRATIONS
        value: '4'
      - name: PERF_COUNT_SW_PAGE_FAULTS
        value: '2'
      - name: PERF_COUNT_SW_CONTEXT_SWITCHES
        value: '3'
      - name: PERF_COUNT_SW_TASK_CLOCK
        value: '1'
      - name: PERF_COUNT_SW_PAGE_FAULTS_MIN
        value: '5'
      - name: PERF_COUNT_SW_PAGE_FAULTS_MAJ
        value: '6'
      - name: PERF_COUNT_SW_ALIGNMENT_FAULTS
        value: '7'
      - name: PERF_COUNT_SW_EMULATION_FAULTS
        value: '8'
      - name: PERF_COUNT_SW_DUMMY
        value: '9'
      - name: PERF_COUNT_SW_MAX
      - name: PERF_COUNT_SW_CGROUP_SWITCHES
        value: '11'
      - name: PERF_COUNT_SW_BPF_OUTPUT
        value: '10'
      item_type: enum
      name: perf_sw_ids
      pos:
        line_end: 135
        line_start: 120
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_SAMPLE_IP
        value: 1U << 0
      - name: PERF_SAMPLE_TID
        value: 1U << 1
      - name: PERF_SAMPLE_CALLCHAIN
        value: 1U << 5
      - name: PERF_SAMPLE_STREAM_ID
        value: 1U << 9
      - name: PERF_SAMPLE_STACK_USER
        value: 1U << 13
      - name: PERF_SAMPLE_TRANSACTION
        value: 1U << 17
      - name: PERF_SAMPLE_PHYS_ADDR
        value: 1U << 19
      - name: PERF_SAMPLE_CODE_PAGE_SIZE
        value: 1U << 23
      - name: PERF_SAMPLE_READ
        value: 1U << 4
      - name: PERF_SAMPLE_PERIOD
        value: 1U << 8
      - name: PERF_SAMPLE_REGS_USER
        value: 1U << 12
      - name: PERF_SAMPLE_IDENTIFIER
        value: 1U << 16
      - name: PERF_SAMPLE_REGS_INTR
        value: 1U << 18
      - name: PERF_SAMPLE_DATA_PAGE_SIZE
        value: 1U << 22
      - name: PERF_SAMPLE_ADDR
        value: 1U << 3
      - name: PERF_SAMPLE_CPU
        value: 1U << 7
      - name: PERF_SAMPLE_DATA_SRC
        value: 1U << 15
      - name: PERF_SAMPLE_BRANCH_STACK
        value: 1U << 11
      - name: PERF_SAMPLE_CGROUP
        value: 1U << 21
      - name: PERF_SAMPLE_MAX
        value: 1U << 25
      - name: PERF_SAMPLE_TIME
        value: 1U << 2
      - name: PERF_SAMPLE_ID
        value: 1U << 6
      - name: PERF_SAMPLE_RAW
        value: 1U << 10
      - name: PERF_SAMPLE_WEIGHT
        value: 1U << 14
      - name: PERF_SAMPLE_AUX
        value: 1U << 20
      - name: PERF_SAMPLE_WEIGHT_STRUCT
        value: 1U << 24
      item_type: enum
      name: perf_event_sample_format
      pos:
        line_end: 169
        line_start: 141
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_SAMPLE_BRANCH_MAX_SHIFT
      - name: PERF_SAMPLE_BRANCH_KERNEL_SHIFT
        value: '1'
      - name: PERF_SAMPLE_BRANCH_ANY_SHIFT
        value: '3'
      - name: PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT
        value: '5'
      - name: PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT
        value: '7'
      - name: PERF_SAMPLE_BRANCH_NO_TX_SHIFT
        value: '9'
      - name: PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT
        value: '17'
      - name: PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT
        value: '11'
      - name: PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT
        value: '15'
      - name: PERF_SAMPLE_BRANCH_CALL_SHIFT
        value: '13'
      - name: PERF_SAMPLE_BRANCH_COUNTERS_SHIFT
        value: '19'
      - name: PERF_SAMPLE_BRANCH_USER_SHIFT
        value: '0'
      - name: PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT
        value: '4'
      - name: PERF_SAMPLE_BRANCH_HV_SHIFT
        value: '2'
      - name: PERF_SAMPLE_BRANCH_IND_CALL_SHIFT
        value: '6'
      - name: PERF_SAMPLE_BRANCH_IN_TX_SHIFT
        value: '8'
      - name: PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT
        value: '12'
      - name: PERF_SAMPLE_BRANCH_COND_SHIFT
        value: '10'
      - name: PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT
        value: '16'
      - name: PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT
        value: '14'
      - name: PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT
        value: '18'
      item_type: enum
      name: perf_branch_sample_type_shift
      pos:
        line_end: 213
        line_start: 183
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_SAMPLE_BRANCH_HV
        value: 1U << PERF_SAMPLE_BRANCH_HV_SHIFT
      - name: PERF_SAMPLE_BRANCH_IND_CALL
        value: 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT
      - name: PERF_SAMPLE_BRANCH_COND
        value: 1U << PERF_SAMPLE_BRANCH_COND_SHIFT
      - name: PERF_SAMPLE_BRANCH_NO_FLAGS
        value: 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT
      - name: PERF_SAMPLE_BRANCH_MAX
        value: 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT
      - name: PERF_SAMPLE_BRANCH_USER
        value: 1U << PERF_SAMPLE_BRANCH_USER_SHIFT
      - name: PERF_SAMPLE_BRANCH_KERNEL
        value: 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT
      - name: PERF_SAMPLE_BRANCH_ANY_RETURN
        value: 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT
      - name: PERF_SAMPLE_BRANCH_NO_TX
        value: 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT
      - name: PERF_SAMPLE_BRANCH_CALL
        value: 1U << PERF_SAMPLE_BRANCH_CALL_SHIFT
      - name: PERF_SAMPLE_BRANCH_COUNTERS
        value: 1U << PERF_SAMPLE_BRANCH_COUNTERS_SHIFT
      - name: PERF_SAMPLE_BRANCH_ANY_CALL
        value: 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT
      - name: PERF_SAMPLE_BRANCH_IN_TX
        value: 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT
      - name: PERF_SAMPLE_BRANCH_IND_JUMP
        value: 1U << PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT
      - name: PERF_SAMPLE_BRANCH_PRIV_SAVE
        value: 1U << PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT
      - name: PERF_SAMPLE_BRANCH_TYPE_SAVE
        value: 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT
      - name: PERF_SAMPLE_BRANCH_ANY
        value: 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT
      - name: PERF_SAMPLE_BRANCH_ABORT_TX
        value: 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT
      - name: PERF_SAMPLE_BRANCH_NO_CYCLES
        value: 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT
      - name: PERF_SAMPLE_BRANCH_HW_INDEX
        value: 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT
      - name: PERF_SAMPLE_BRANCH_CALL_STACK
        value: 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT
      item_type: enum
      name: perf_branch_sample_type
      pos:
        line_end: 245
        line_start: 215
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_SAMPLE_REGS_ABI_NONE
        value: '0'
      - name: PERF_SAMPLE_REGS_ABI_64
        value: '2'
      - name: PERF_SAMPLE_REGS_ABI_32
        value: '1'
      item_type: enum
      name: perf_sample_regs_abi
      pos:
        line_end: 318
        line_start: 314
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_FORMAT_TOTAL_TIME_ENABLED
        value: 1U << 0
      - name: PERF_FORMAT_ID
        value: 1U << 2
      - name: PERF_FORMAT_TOTAL_TIME_RUNNING
        value: 1U << 1
      - name: PERF_FORMAT_LOST
        value: 1U << 4
      - name: PERF_FORMAT_GROUP
        value: 1U << 3
      - name: PERF_FORMAT_MAX
        value: 1U << 5
      item_type: enum
      name: perf_event_read_format
      pos:
        line_end: 372
        line_start: 364
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_IOC_FLAG_GROUP
        value: 1U << 0
      item_type: enum
      name: perf_event_ioc_flags
      pos:
        line_end: 590
        line_start: 588
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_RECORD_EXIT
        value: '4'
      - name: PERF_RECORD_LOST
        value: '2'
      - name: PERF_RECORD_UNTHROTTLE
        value: '6'
      - name: PERF_RECORD_FORK
        value: '7'
      - name: PERF_RECORD_SAMPLE
        value: '9'
      - name: PERF_RECORD_LOST_SAMPLES
        value: '13'
      - name: PERF_RECORD_KSYMBOL
        value: '17'
      - name: PERF_RECORD_CGROUP
        value: '19'
      - name: PERF_RECORD_AUX
        value: '11'
      - name: PERF_RECORD_SWITCH_CPU_WIDE
        value: '15'
      - name: PERF_RECORD_AUX_OUTPUT_HW_ID
        value: '21'
      - name: PERF_RECORD_MAX
      - name: PERF_RECORD_MMAP
        value: '1'
      - name: PERF_RECORD_THROTTLE
        value: '5'
      - name: PERF_RECORD_COMM
        value: '3'
      - name: PERF_RECORD_READ
        value: '8'
      - name: PERF_RECORD_MMAP2
        value: '10'
      - name: PERF_RECORD_BPF_EVENT
        value: '18'
      - name: PERF_RECORD_ITRACE_START
        value: '12'
      - name: PERF_RECORD_NAMESPACES
        value: '16'
      - name: PERF_RECORD_SWITCH
        value: '14'
      - name: PERF_RECORD_TEXT_POKE
        value: '20'
      - name: PERF_RECORD_CALLCHAIN_DEFERRED
        value: '22'
      item_type: enum
      name: perf_event_type
      pos:
        line_end: 1262
        line_start: 862
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_RECORD_KSYMBOL_TYPE_UNKNOWN
        value: '0'
      - name: PERF_RECORD_KSYMBOL_TYPE_MAX
      - name: PERF_RECORD_KSYMBOL_TYPE_OOL
        value: '2'
      - name: PERF_RECORD_KSYMBOL_TYPE_BPF
        value: '1'
      item_type: enum
      name: perf_record_ksymbol_type
      pos:
        line_end: 1273
        line_start: 1264
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_BPF_EVENT_UNKNOWN
        value: '0'
      - name: PERF_BPF_EVENT_PROG_LOAD
        value: '1'
      - name: PERF_BPF_EVENT_MAX
      - name: PERF_BPF_EVENT_PROG_UNLOAD
        value: '2'
      item_type: enum
      name: perf_bpf_event_type
      pos:
        line_end: 1282
        line_start: 1277
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - enumerators:
      - name: PERF_CONTEXT_HV
        value: (__u64)-32
      - name: PERF_CONTEXT_GUEST
        value: (__u64)-2048
      - name: PERF_CONTEXT_KERNEL
        value: (__u64)-128
      - name: PERF_CONTEXT_USER_DEFERRED
        value: (__u64)-640
      - name: PERF_CONTEXT_USER
        value: (__u64)-512
      - name: PERF_CONTEXT_GUEST_KERNEL
        value: (__u64)-2176
      - name: PERF_CONTEXT_GUEST_USER
        value: (__u64)-2560
      - name: PERF_CONTEXT_MAX
        value: (__u64)-4095
      item_type: enum
      name: perf_callchain_context
      pos:
        line_end: 1298
        line_start: 1287
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    preproc_defs:
    - item_type: preproc_def
      name: PERF_PMU_TYPE_SHIFT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PERF_HW_EVENT_MASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: PERF_SAMPLE_WEIGHT_TYPE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT)
    - item_type: preproc_def
      name: PERF_BR_ARM64_FIQ
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: PERF_BR_NEW_ARCH_1
    - item_type: preproc_def
      name: PERF_BR_ARM64_DEBUG_HALT
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: PERF_BR_NEW_ARCH_2
    - item_type: preproc_def
      name: PERF_BR_ARM64_DEBUG_EXIT
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: PERF_BR_NEW_ARCH_3
    - item_type: preproc_def
      name: PERF_BR_ARM64_DEBUG_INST
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: PERF_BR_NEW_ARCH_4
    - item_type: preproc_def
      name: PERF_BR_ARM64_DEBUG_DATA
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: PERF_BR_NEW_ARCH_5
    - item_type: preproc_def
      name: PERF_SAMPLE_BRANCH_PLM_ALL
      pos:
        line_end: 310
        line_start: 306
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "(PERF_SAMPLE_BRANCH_USER|\\\n\t PERF_SAMPLE_BRANCH_KERNEL|\\\n\t
        PERF_SAMPLE_BRANCH_HV)"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER0
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER1
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "72\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER2
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "80\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER3
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "96\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER4
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "104\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER5
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "112\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER6
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "120\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER7
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER8
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "136\t"
    - item_type: preproc_def
      name: PERF_ATTR_SIZE_VER9
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "144\t"
    - item_type: preproc_def
      name: PERF_EVENT_IOC_ENABLE
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IO  ('$', 0)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_DISABLE
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IO  ('$', 1)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_REFRESH
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IO  ('$', 2)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_RESET
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IO  ('$', 3)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_PERIOD
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOW ('$', 4, __u64)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_SET_OUTPUT
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IO  ('$', 5)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_SET_FILTER
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOW ('$', 6, char *)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_ID
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOR ('$', 7, __u64 *)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_SET_BPF
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOW ('$', 8, __u32)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_PAUSE_OUTPUT
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOW ('$', 9, __u32)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_QUERY_BPF
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOWR('$', 10, struct perf_event_query_bpf *)
    - item_type: preproc_def
      name: PERF_EVENT_IOC_MODIFY_ATTRIBUTES
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: _IOW ('$', 11, struct perf_event_attr *)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_CPUMODE_MASK
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (7 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_CPUMODE_UNKNOWN
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (0 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_KERNEL
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_USER
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (2 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_HYPERVISOR
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (3 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_GUEST_KERNEL
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (4 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_GUEST_USER
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (5 << 0)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_MMAP_DATA
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_COMM_EXEC
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_FORK_EXEC
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_SWITCH_OUT
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_EXACT_IP
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_SWITCH_OUT_PREEMPT
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_MMAP_BUILD_ID
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: PERF_RECORD_MISC_EXT_RESERVED
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER
      pos:
        line_end: 1276
        line_start: 1275
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PERF_MAX_STACK_DEPTH
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '127'
    - item_type: preproc_def
      name: PERF_MAX_CONTEXTS_PER_STACK
      pos:
        line_end: 1286
        line_start: 1285
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PERF_AUX_FLAG_TRUNCATED
      pos:
        line_end: 1304
        line_start: 1303
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: PERF_AUX_FLAG_OVERWRITE
      pos:
        line_end: 1305
        line_start: 1304
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: PERF_AUX_FLAG_PARTIAL
      pos:
        line_end: 1306
        line_start: 1305
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: PERF_AUX_FLAG_COLLISION
      pos:
        line_end: 1307
        line_start: 1306
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "0x0008\t"
    - item_type: preproc_def
      name: PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK
      pos:
        line_end: 1308
        line_start: 1307
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: "0xff00\t"
    - item_type: preproc_def
      name: PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT
      pos:
        line_end: 1311
        line_start: 1310
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0000 '
    - item_type: preproc_def
      name: PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW
      pos:
        line_end: 1312
        line_start: 1311
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0100 '
    - item_type: preproc_def
      name: PERF_FLAG_FD_NO_GROUP
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1UL << 0)
    - item_type: preproc_def
      name: PERF_FLAG_FD_OUTPUT
      pos:
        line_end: 1315
        line_start: 1314
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: (1UL << 1)
    - item_type: preproc_def
      name: PERF_FLAG_PID_CGROUP
      pos:
        line_end: 1316
        line_start: 1315
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '(1UL << 2) '
    - item_type: preproc_def
      name: PERF_FLAG_FD_CLOEXEC
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '(1UL << 3) '
    - item_type: preproc_def
      name: PERF_MEM_OP_NA
      pos:
        line_end: 1360
        line_start: 1359
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_OP_LOAD
      pos:
        line_end: 1361
        line_start: 1360
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_OP_STORE
      pos:
        line_end: 1362
        line_start: 1361
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_OP_PFETCH
      pos:
        line_end: 1363
        line_start: 1362
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: PERF_MEM_OP_EXEC
      pos:
        line_end: 1364
        line_start: 1363
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: PERF_MEM_OP_SHIFT
      pos:
        line_end: 1365
        line_start: 1364
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PERF_MEM_LVL_NA
      pos:
        line_end: 1374
        line_start: 1373
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_HIT
      pos:
        line_end: 1375
        line_start: 1374
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_MISS
      pos:
        line_end: 1376
        line_start: 1375
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_L1
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_LFB
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_L2
      pos:
        line_end: 1379
        line_start: 1378
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0020 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_L3
      pos:
        line_end: 1380
        line_start: 1379
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0040 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_LOC_RAM
      pos:
        line_end: 1381
        line_start: 1380
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0080 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_REM_RAM1
      pos:
        line_end: 1382
        line_start: 1381
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0100 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_REM_RAM2
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0200 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_REM_CCE1
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0400 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_REM_CCE2
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0800 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_IO
      pos:
        line_end: 1386
        line_start: 1385
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x1000 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_UNC
      pos:
        line_end: 1387
        line_start: 1386
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x2000 '
    - item_type: preproc_def
      name: PERF_MEM_LVL_SHIFT
      pos:
        line_end: 1388
        line_start: 1387
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PERF_MEM_REMOTE_REMOTE
      pos:
        line_end: 1390
        line_start: 1389
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_REMOTE_SHIFT
      pos:
        line_end: 1391
        line_start: 1390
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '37'
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L1
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L2
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L3
      pos:
        line_end: 1395
        line_start: 1394
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0003 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L4
      pos:
        line_end: 1396
        line_start: 1395
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L2_MHB
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0005 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_MSC
      pos:
        line_end: 1398
        line_start: 1397
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0006 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_L0
      pos:
        line_end: 1399
        line_start: 1398
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0007 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_UNC
      pos:
        line_end: 1400
        line_start: 1399
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_CXL
      pos:
        line_end: 1401
        line_start: 1400
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0009 '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_IO
      pos:
        line_end: 1402
        line_start: 1401
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000a '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_ANY_CACHE
      pos:
        line_end: 1403
        line_start: 1402
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000b '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_LFB
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000c '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_RAM
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000d '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_PMEM
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000e '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_NA
      pos:
        line_end: 1407
        line_start: 1406
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x000f '
    - item_type: preproc_def
      name: PERF_MEM_LVLNUM_SHIFT
      pos:
        line_end: 1409
        line_start: 1408
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '33'
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_NA
      pos:
        line_end: 1412
        line_start: 1411
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_NONE
      pos:
        line_end: 1413
        line_start: 1412
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_HIT
      pos:
        line_end: 1414
        line_start: 1413
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_MISS
      pos:
        line_end: 1415
        line_start: 1414
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_HITM
      pos:
        line_end: 1416
        line_start: 1415
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOP_SHIFT
      pos:
        line_end: 1417
        line_start: 1416
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '19'
    - item_type: preproc_def
      name: PERF_MEM_SNOOPX_FWD
      pos:
        line_end: 1419
        line_start: 1418
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOPX_PEER
      pos:
        line_end: 1420
        line_start: 1419
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_SNOOPX_SHIFT
      pos:
        line_end: 1421
        line_start: 1420
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '38'
    - item_type: preproc_def
      name: PERF_MEM_LOCK_NA
      pos:
        line_end: 1424
        line_start: 1423
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_LOCK_LOCKED
      pos:
        line_end: 1425
        line_start: 1424
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_LOCK_SHIFT
      pos:
        line_end: 1426
        line_start: 1425
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '24'
    - item_type: preproc_def
      name: PERF_MEM_TLB_NA
      pos:
        line_end: 1429
        line_start: 1428
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_HIT
      pos:
        line_end: 1430
        line_start: 1429
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_MISS
      pos:
        line_end: 1431
        line_start: 1430
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_L1
      pos:
        line_end: 1432
        line_start: 1431
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_L2
      pos:
        line_end: 1433
        line_start: 1432
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_WK
      pos:
        line_end: 1434
        line_start: 1433
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0020 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_OS
      pos:
        line_end: 1435
        line_start: 1434
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0040 '
    - item_type: preproc_def
      name: PERF_MEM_TLB_SHIFT
      pos:
        line_end: 1436
        line_start: 1435
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PERF_MEM_BLK_NA
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_BLK_DATA
      pos:
        line_end: 1440
        line_start: 1439
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_BLK_ADDR
      pos:
        line_end: 1441
        line_start: 1440
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_BLK_SHIFT
      pos:
        line_end: 1442
        line_start: 1441
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '40'
    - item_type: preproc_def
      name: PERF_MEM_HOPS_0
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: PERF_MEM_HOPS_1
      pos:
        line_end: 1446
        line_start: 1445
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: PERF_MEM_HOPS_2
      pos:
        line_end: 1447
        line_start: 1446
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0003 '
    - item_type: preproc_def
      name: PERF_MEM_HOPS_3
      pos:
        line_end: 1448
        line_start: 1447
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: PERF_MEM_HOPS_SHIFT
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '43'
    - item_type: preproc_def
      name: PERF_MEM_REGION_NA
      pos:
        line_end: 1453
        line_start: 1452
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0  '
    - item_type: preproc_def
      name: PERF_MEM_REGION_RSVD
      pos:
        line_end: 1454
        line_start: 1453
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_L_SHARE
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_L_NON_SHARE
      pos:
        line_end: 1456
        line_start: 1455
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x03 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_O_IO
      pos:
        line_end: 1457
        line_start: 1456
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_O_SHARE
      pos:
        line_end: 1458
        line_start: 1457
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x05 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_O_NON_SHARE
      pos:
        line_end: 1459
        line_start: 1458
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x06 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MMIO
      pos:
        line_end: 1460
        line_start: 1459
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x07 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM0
      pos:
        line_end: 1461
        line_start: 1460
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM1
      pos:
        line_end: 1462
        line_start: 1461
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x09 '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM2
      pos:
        line_end: 1463
        line_start: 1462
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0a '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM3
      pos:
        line_end: 1464
        line_start: 1463
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0b '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM4
      pos:
        line_end: 1465
        line_start: 1464
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0c '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM5
      pos:
        line_end: 1466
        line_start: 1465
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0d '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM6
      pos:
        line_end: 1467
        line_start: 1466
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0e '
    - item_type: preproc_def
      name: PERF_MEM_REGION_MEM7
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '0x0f '
    - item_type: preproc_def
      name: PERF_MEM_REGION_SHIFT
      pos:
        line_end: 1469
        line_start: 1468
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '46'
    - item_type: preproc_def
      name: PERF_BRANCH_ENTRY_INFO_BITS_MAX
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
      type_or_value: '33'
    structs:
    - fields:
      - name: type
        type: __u32
      - name: size
        type: __u32
      - name: config
        type: __u64
      - name: sample_type
        type: __u64
      - name: read_format
        type: __u64
      - name: disabled
        type: __u64
      - name: bp_type
        type: __u32
      - name: branch_sample_type
        type: __u64
      - name: sample_regs_user
        type: __u64
      - name: sample_stack_user
        type: __u32
      - name: clockid
        type: __s32
      - name: sample_regs_intr
        type: __u64
      - name: aux_watermark
        type: __u32
      - name: sample_max_stack
        type: __u16
      - name: __reserved_2
        type: __u16
      - name: aux_sample_size
        type: __u32
      - name: sig_data
        type: __u64
      - name: config3
        type: __u64
      - name: config4
        type: __u64
      item_type: struct
      name: perf_event_attr
      pos:
        line_end: 549
        line_start: 392
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: ids_len
        type: __u32
      - name: prog_cnt
        type: __u32
      - name: ids[]
        type: __u32
      item_type: struct
      name: perf_event_query_bpf
      pos:
        line_end: 570
        line_start: 556
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: version
        type: __u32
      - name: compat_version
        type: __u32
      - name: lock
        type: __u32
      - name: index
        type: __u32
      - name: offset
        type: __s64
      - name: time_enabled
        type: __u64
      - name: time_running
        type: __u64
      - name: pmc_width
        type: __u16
      - name: time_shift
        type: __u16
      - name: time_mult
        type: __u32
      - name: time_offset
        type: __u64
      - name: time_zero
        type: __u64
      - name: size
        type: __u32
      - name: __reserved_1
        type: __u32
      - name: time_cycles
        type: __u64
      - name: time_mask
        type: __u64
      - name: __reserved[116*8]
        type: __u8
      - name: data_head
        type: __u64
      - name: data_tail
        type: __u64
      - name: data_offset
        type: __u64
      - name: data_size
        type: __u64
      - name: aux_head
        type: __u64
      - name: aux_tail
        type: __u64
      - name: aux_offset
        type: __u64
      - name: aux_size
        type: __u64
      item_type: struct
      name: perf_event_mmap_page
      pos:
        line_end: 768
        line_start: 595
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: type
        type: __u32
      - name: misc
        type: __u16
      - name: size
        type: __u16
      item_type: struct
      name: perf_event_header
      pos:
        line_end: 843
        line_start: 839
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: dev
        type: __u64
      - name: ino
        type: __u64
      item_type: struct
      name: perf_ns_link_info
      pos:
        line_end: 848
        line_start: 845
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: from
        type: __u64
      - name: to
        type: __u64
      - name: mispred
        type: __u64
      item_type: struct
      name: perf_branch_entry
      pos:
        line_end: 1503
        line_start: 1490
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    typedefs: []
    union:
    - fields:
      - name: val
        type: __u64
      item_type: union
      name: perf_mem_data_src
      pos:
        line_end: 1335
        line_start: 1319
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: val
        type: __u64
      item_type: union
      name: perf_mem_data_src
      pos:
        line_end: 1353
        line_start: 1337
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
    - fields:
      - name: full
        type: __u64
      item_type: union
      name: perf_sample_weight
      pos:
        line_end: 1525
        line_start: 1508
        source_file: /src/libbpf/include/uapi/linux/perf_event.h
- function_names:
  - BTF_INFO_KIND
  - BTF_INFO_VLEN
  - BTF_INFO_KFLAG
  - BTF_INT_ENCODING
  - BTF_INT_OFFSET
  - BTF_INT_BITS
  - BTF_MEMBER_BITFIELD_SIZE
  - BTF_MEMBER_BIT_OFFSET
  source_file: /src/libbpf/include/uapi/linux/btf.h
  types:
    enum:
    - enumerators:
      - name: BTF_MAX_KIND
        value: '0x0000007f'
      - name: BTF_MAX_VLEN
        value: '0x00ffffff'
      - name: BTF_MAX_NAME_OFFSET
        value: '0x00ffffff'
      - name: BTF_MAX_TYPE
        value: '0x000fffff'
      item_type: enum
      name: btf_max
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - enumerators:
      - name: BTF_FUNC_STATIC
        value: '0'
      - name: BTF_FUNC_GLOBAL
        value: '1'
      - name: BTF_FUNC_EXTERN
        value: '2'
      item_type: enum
      name: btf_func_linkage
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/libbpf/include/uapi/linux/btf.h
    preproc_defs:
    - item_type: preproc_def
      name: BTF_MAGIC
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libbpf/include/uapi/linux/btf.h
      type_or_value: '0xeB9F'
    - item_type: preproc_def
      name: BTF_VERSION
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libbpf/include/uapi/linux/btf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BTF_INT_SIGNED
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libbpf/include/uapi/linux/btf.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: BTF_INT_CHAR
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libbpf/include/uapi/linux/btf.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: BTF_INT_BOOL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libbpf/include/uapi/linux/btf.h
      type_or_value: (1 << 2)
    structs:
    - fields:
      - name: info_sz
        type: __u8
      - name: elem_sz
        type: __u8
      - name: flags
        type: __u16
      item_type: struct
      name: btf_layout
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: magic
        type: __u16
      - name: version
        type: __u8
      - name: flags
        type: __u8
      - name: hdr_len
        type: __u32
      - name: type_off
        type: __u32
      - name: type_len
        type: __u32
      - name: str_off
        type: __u32
      - name: str_len
        type: __u32
      - name: layout_off
        type: __u32
      - name: layout_len
        type: __u32
      item_type: struct
      name: btf_header
      pos:
        line_end: 33
        line_start: 20
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: name_off
        type: __u32
      - name: info
        type: __u32
      item_type: struct
      name: btf_type
      pos:
        line_end: 67
        line_start: 46
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: name_off
        type: __u32
      - name: val
        type: __s32
      item_type: struct
      name: btf_enum
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: type
        type: __u32
      - name: index_type
        type: __u32
      - name: nelems
        type: __u32
      item_type: struct
      name: btf_array
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: name_off
        type: __u32
      - name: type
        type: __u32
      - name: offset
        type: __u32
      item_type: struct
      name: btf_member
      pos:
        line_end: 146
        line_start: 136
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: name_off
        type: __u32
      - name: type
        type: __u32
      item_type: struct
      name: btf_param
      pos:
        line_end: 162
        line_start: 159
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: linkage
        type: __u32
      item_type: struct
      name: btf_var
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: type
        type: __u32
      - name: offset
        type: __u32
      - name: size
        type: __u32
      item_type: struct
      name: btf_var_secinfo
      pos:
        line_end: 191
        line_start: 187
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: component_idx
        type: __s32
      item_type: struct
      name: btf_decl_tag
      pos:
        line_end: 202
        line_start: 200
        source_file: /src/libbpf/include/uapi/linux/btf.h
    - fields:
      - name: name_off
        type: __u32
      - name: val_lo32
        type: __u32
      - name: val_hi32
        type: __u32
      item_type: struct
      name: btf_enum64
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/libbpf/include/uapi/linux/btf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/uapi/linux/fcntl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_SETLEASE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 0)
    - item_type: preproc_def
      name: F_GETLEASE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 1)
    - item_type: preproc_def
      name: F_NOTIFY
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 2)
    - item_type: preproc_def
      name: F_DUPFD_QUERY
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 3)
    - item_type: preproc_def
      name: F_CREATED_QUERY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 4)
    - item_type: preproc_def
      name: F_CANCELLK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 5)
    - item_type: preproc_def
      name: F_DUPFD_CLOEXEC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 6)
    - item_type: preproc_def
      name: F_SETPIPE_SZ
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 7)
    - item_type: preproc_def
      name: F_GETPIPE_SZ
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 8)
    - item_type: preproc_def
      name: F_ADD_SEALS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 9)
    - item_type: preproc_def
      name: F_GET_SEALS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 10)
    - item_type: preproc_def
      name: F_SEAL_SEAL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: F_SEAL_SHRINK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: F_SEAL_GROW
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: F_SEAL_WRITE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x0008\t"
    - item_type: preproc_def
      name: F_SEAL_FUTURE_WRITE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x0010  '
    - item_type: preproc_def
      name: F_SEAL_EXEC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x0020  '
    - item_type: preproc_def
      name: F_GET_RW_HINT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 11)
    - item_type: preproc_def
      name: F_SET_RW_HINT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 12)
    - item_type: preproc_def
      name: F_GET_FILE_RW_HINT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 13)
    - item_type: preproc_def
      name: F_SET_FILE_RW_HINT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 14)
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_NOT_SET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_NONE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_SHORT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_MEDIUM
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_LONG
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RWH_WRITE_LIFE_EXTREME
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '5'
    - item_type: preproc_def
      name: RWF_WRITE_LIFE_NOT_SET
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: RWH_WRITE_LIFE_NOT_SET
    - item_type: preproc_def
      name: F_GETDELEG
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 15)
    - item_type: preproc_def
      name: F_SETDELEG
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: (F_LINUX_SPECIFIC_BASE + 16)
    - item_type: preproc_def
      name: DN_ACCESS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: DN_MODIFY
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: DN_CREATE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000004\t"
    - item_type: preproc_def
      name: DN_DELETE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000008\t"
    - item_type: preproc_def
      name: DN_RENAME
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000010\t"
    - item_type: preproc_def
      name: DN_ATTRIB
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x00000020\t"
    - item_type: preproc_def
      name: DN_MULTISHOT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x80000000\t"
    - item_type: preproc_def
      name: AT_FDCWD
      pos:
        line_end: 108
        line_start: 105
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-100    '
    - item_type: preproc_def
      name: PIDFD_SELF_THREAD
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-10000 '
    - item_type: preproc_def
      name: PIDFD_SELF_THREAD_GROUP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-10001 '
    - item_type: preproc_def
      name: FD_PIDFS_ROOT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-10002 '
    - item_type: preproc_def
      name: FD_NSFS_ROOT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-10003 '
    - item_type: preproc_def
      name: FD_INVALID
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '-10009 '
    - item_type: preproc_def
      name: AT_SYMLINK_NOFOLLOW
      pos:
        line_end: 133
        line_start: 131
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x100   '
    - item_type: preproc_def
      name: AT_SYMLINK_FOLLOW
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x400   '
    - item_type: preproc_def
      name: AT_NO_AUTOMOUNT
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x800\t"
    - item_type: preproc_def
      name: AT_EMPTY_PATH
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x1000\t"
    - item_type: preproc_def
      name: AT_STATX_SYNC_TYPE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x6000\t"
    - item_type: preproc_def
      name: AT_STATX_SYNC_AS_STAT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x0000\t"
    - item_type: preproc_def
      name: AT_STATX_FORCE_SYNC
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x2000\t"
    - item_type: preproc_def
      name: AT_STATX_DONT_SYNC
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x4000\t"
    - item_type: preproc_def
      name: AT_RECURSIVE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x8000\t"
    - item_type: preproc_def
      name: AT_RENAME_NOREPLACE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: AT_RENAME_EXCHANGE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: AT_RENAME_WHITEOUT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: AT_EACCESS
      pos:
        line_end: 178
        line_start: 176
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: AT_REMOVEDIR
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: '0x200   '
    - item_type: preproc_def
      name: AT_HANDLE_FID
      pos:
        line_end: 185
        line_start: 182
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: AT_HANDLE_MNT_ID_UNIQUE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x001\t"
    - item_type: preproc_def
      name: AT_HANDLE_CONNECTABLE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x002\t"
    - item_type: preproc_def
      name: AT_EXECVE_CHECK
      pos:
        line_end: 191
        line_start: 189
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
      type_or_value: "0x10000\t"
    structs:
    - fields:
      - name: d_flags
        type: __u32
      - name: d_type
        type: __u16
      - name: __pad
        type: __u16
      item_type: struct
      name: delegation
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/libbpf/include/uapi/linux/fcntl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/uapi/linux/netdev.h
  types:
    enum:
    - enumerators:
      - name: NETDEV_XDP_ACT_BASIC
        value: '1'
      - name: NETDEV_XDP_ACT_HW_OFFLOAD
        value: '16'
      - name: NETDEV_XDP_ACT_NDO_XMIT
        value: '4'
      - name: NETDEV_XDP_ACT_REDIRECT
        value: '2'
      - name: NETDEV_XDP_ACT_XSK_ZEROCOPY
        value: '8'
      - name: NETDEV_XDP_ACT_RX_SG
        value: '32'
      - name: NETDEV_XDP_ACT_NDO_XMIT_SG
        value: '64'
      - name: NETDEV_XDP_ACT_MASK
        value: '127'
      item_type: enum
      name: netdev_xdp_act
      pos:
        line_end: 39
        line_start: 28
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    - enumerators:
      - name: NETDEV_XDP_RX_METADATA_TIMESTAMP
        value: '1'
      - name: NETDEV_XDP_RX_METADATA_VLAN_TAG
        value: '4'
      - name: NETDEV_XDP_RX_METADATA_HASH
        value: '2'
      item_type: enum
      name: netdev_xdp_rx_metadata
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    - enumerators:
      - name: NETDEV_XSK_FLAGS_TX_TIMESTAMP
        value: '1'
      - name: NETDEV_XSK_FLAGS_TX_CHECKSUM
        value: '2'
      - name: NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO
        value: '4'
      item_type: enum
      name: netdev_xsk_flags
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    - enumerators:
      - name: NETDEV_QUEUE_TYPE_RX
      - name: NETDEV_QUEUE_TYPE_TX
      item_type: enum
      name: netdev_queue_type
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    - enumerators:
      - name: NETDEV_QSTATS_SCOPE_QUEUE
        value: '1'
      item_type: enum
      name: netdev_qstats_scope
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    - enumerators:
      - name: NETDEV_NAPI_THREADED_DISABLED
      - name: NETDEV_NAPI_THREADED_ENABLED
      - name: NETDEV_NAPI_THREADED_BUSY_POLL
      item_type: enum
      name: netdev_napi_threaded
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/libbpf/include/uapi/linux/netdev.h
    preproc_defs:
    - item_type: preproc_def
      name: NETDEV_FAMILY_NAME
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/uapi/linux/netdev.h
      type_or_value: '"netdev"'
    - item_type: preproc_def
      name: NETDEV_FAMILY_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libbpf/include/uapi/linux/netdev.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NETDEV_MCGRP_MGMT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libbpf/include/uapi/linux/netdev.h
      type_or_value: '"mgmt"'
    - item_type: preproc_def
      name: NETDEV_MCGRP_PAGE_POOL
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/libbpf/include/uapi/linux/netdev.h
      type_or_value: '"page-pool"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - __struct_group_tag
  - __struct_group
  - __DECLARE_FLEX_ARRAY
  - __DECLARE_FLEX_ARRAY
  source_file: /src/libbpf/include/uapi/linux/stddef.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __always_inline
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/uapi/linux/stddef.h
      type_or_value: inline
    - item_type: preproc_def
      name: __kernel_nonstring
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libbpf/include/uapi/linux/stddef.h
      type_or_value: __nonstring
    structs: []
    typedefs: []
    union: []
- function_names:
  - BPF_CLASS
  - BPF_SIZE
  - BPF_MODE
  - BPF_OP
  - BPF_SRC
  source_file: /src/libbpf/include/uapi/linux/bpf_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_LD
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_LDX
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: BPF_ST
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: BPF_STX
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: BPF_ALU
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: BPF_JMP
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: BPF_RET
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: BPF_MISC
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: BPF_W
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: BPF_H
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: BPF_B
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: BPF_IMM
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_ABS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_IND
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_MEM
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MSH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_ADD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_SUB
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_MUL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_DIV
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_OR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_AND
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: BPF_LSH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_RSH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: BPF_NEG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MOD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x90'
    - item_type: preproc_def
      name: BPF_XOR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_JA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_JEQ
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_JGT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_JGE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_JSET
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_K
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_X
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_MAXINSNS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libbpf/include/uapi/linux/bpf_common.h
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ___BPF_FUNC_MAPPER
  - __BPF_FUNC_MAPPER_APPLY
  - __BPF_FUNC_MAPPER
  - __BPF_ENUM_FN
  - BPF_F_ADJ_ROOM_ENCAP_L2
  - __bpf_md_ptr
  - BPF_LINE_INFO_LINE_NUM
  - BPF_LINE_INFO_LINE_COL
  source_file: /src/libbpf/include/uapi/linux/bpf.h
  types:
    enum:
    - enumerators:
      - name: BPF_MAY_GOTO
        value: '0'
      item_type: enum
      name: bpf_cond_pseudo_jmp
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_CGROUP_ITER_ORDER_UNSPEC
        value: '0'
      - name: BPF_CGROUP_ITER_ANCESTORS_UP
      - name: BPF_CGROUP_ITER_DESCENDANTS_POST
      - name: BPF_CGROUP_ITER_SELF_ONLY
      - name: BPF_CGROUP_ITER_DESCENDANTS_PRE
      - name: BPF_CGROUP_ITER_CHILDREN
      item_type: enum
      name: bpf_cgroup_iter_order
      pos:
        line_end: 129
        line_start: 115
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_MAP_UPDATE_ELEM
      - name: BPF_OBJ_PIN
      - name: BPF_PROG_GET_FD_BY_ID
      - name: BPF_PROG_TEST_RUN
      - name: BPF_RAW_TRACEPOINT_OPEN
      - name: BPF_MAP_LOOKUP_AND_DELETE_ELEM
      - name: BPF_MAP_LOOKUP_AND_DELETE_BATCH
      - name: BPF_LINK_UPDATE
      - name: BPF_ITER_CREATE
      - name: BPF_PROG_STREAM_READ_BY_FD
      - name: BPF_MAP_CREATE
      - name: BPF_MAP_DELETE_ELEM
      - name: BPF_OBJ_GET
      - name: BPF_MAP_GET_FD_BY_ID
      - name: BPF_PROG_RUN
        value: BPF_PROG_TEST_RUN
      - name: BPF_BTF_LOAD
      - name: BPF_MAP_FREEZE
      - name: BPF_MAP_UPDATE_BATCH
      - name: BPF_LINK_GET_FD_BY_ID
      - name: BPF_LINK_DETACH
      - name: BPF_PROG_ASSOC_STRUCT_OPS
      - name: BPF_MAP_GET_NEXT_KEY
      - name: BPF_PROG_ATTACH
      - name: BPF_PROG_GET_NEXT_ID
      - name: BPF_OBJ_GET_INFO_BY_FD
      - name: BPF_BTF_GET_FD_BY_ID
      - name: BPF_BTF_GET_NEXT_ID
      - name: BPF_MAP_DELETE_BATCH
      - name: BPF_LINK_GET_NEXT_ID
      - name: BPF_PROG_BIND_MAP
      - name: __MAX_BPF_CMD
      - name: BPF_COMMON_ATTRS
        value: 1 << 16
      - name: BPF_MAP_LOOKUP_ELEM
      - name: BPF_PROG_LOAD
      - name: BPF_PROG_DETACH
      - name: BPF_PROG_QUERY
      - name: BPF_MAP_GET_NEXT_ID
      - name: BPF_TASK_FD_QUERY
      - name: BPF_MAP_LOOKUP_BATCH
      - name: BPF_LINK_CREATE
      - name: BPF_ENABLE_STATS
      - name: BPF_TOKEN_CREATE
      item_type: enum
      name: bpf_cmd
      pos:
        line_end: 997
        line_start: 954
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_MAP_TYPE_ARRAY
      - name: BPF_MAP_TYPE_PERCPU_ARRAY
      - name: BPF_MAP_TYPE_SOCKHASH
      - name: BPF_MAP_TYPE_DEVMAP
      - name: BPF_MAP_TYPE_LRU_PERCPU_HASH
      - name: BPF_MAP_TYPE_REUSEPORT_SOCKARRAY
      - name: BPF_MAP_TYPE_QUEUE
      - name: BPF_MAP_TYPE_STRUCT_OPS
      - name: BPF_MAP_TYPE_BLOOM_FILTER
      - name: BPF_MAP_TYPE_INSN_ARRAY
      - name: BPF_MAP_TYPE_UNSPEC
      - name: BPF_MAP_TYPE_PROG_ARRAY
      - name: BPF_MAP_TYPE_STACK_TRACE
      - name: BPF_MAP_TYPE_LPM_TRIE
      - name: BPF_MAP_TYPE_SOCKMAP
      - name: BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED
      - name: BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED
      - name: BPF_MAP_TYPE_STACK
      - name: BPF_MAP_TYPE_RINGBUF
      - name: BPF_MAP_TYPE_USER_RINGBUF
      - name: BPF_MAP_TYPE_RHASH
      - name: BPF_MAP_TYPE_PERF_EVENT_ARRAY
      - name: BPF_MAP_TYPE_CGROUP_ARRAY
      - name: BPF_MAP_TYPE_CPUMAP
      - name: BPF_MAP_TYPE_ARRAY_OF_MAPS
      - name: BPF_MAP_TYPE_CGROUP_STORAGE
        value: BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED
      - name: BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE
        value: BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED
      - name: BPF_MAP_TYPE_SK_STORAGE
      - name: BPF_MAP_TYPE_INODE_STORAGE
      - name: BPF_MAP_TYPE_CGRP_STORAGE
      - name: BPF_MAP_TYPE_HASH
      - name: BPF_MAP_TYPE_PERCPU_HASH
      - name: BPF_MAP_TYPE_LRU_HASH
      - name: BPF_MAP_TYPE_XSKMAP
      - name: BPF_MAP_TYPE_HASH_OF_MAPS
      - name: BPF_MAP_TYPE_DEVMAP_HASH
      - name: BPF_MAP_TYPE_TASK_STORAGE
      - name: BPF_MAP_TYPE_ARENA
      - name: __MAX_BPF_MAP_TYPE
      item_type: enum
      name: bpf_map_type
      pos:
        line_end: 1051
        line_start: 999
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_PROG_TYPE_KPROBE
      - name: BPF_PROG_TYPE_XDP
      - name: BPF_PROG_TYPE_LWT_IN
      - name: BPF_PROG_TYPE_CGROUP_SOCK_ADDR
      - name: BPF_PROG_TYPE_SK_SKB
      - name: BPF_PROG_TYPE_LIRC_MODE2
      - name: BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE
      - name: BPF_PROG_TYPE_EXT
      - name: BPF_PROG_TYPE_NETFILTER
      - name: BPF_PROG_TYPE_UNSPEC
      - name: BPF_PROG_TYPE_SCHED_CLS
      - name: BPF_PROG_TYPE_PERF_EVENT
      - name: BPF_PROG_TYPE_CGROUP_DEVICE
      - name: BPF_PROG_TYPE_LWT_OUT
      - name: BPF_PROG_TYPE_SK_REUSEPORT
      - name: BPF_PROG_TYPE_CGROUP_SOCKOPT
      - name: BPF_PROG_TYPE_LSM
      - name: BPF_PROG_TYPE_SCHED_ACT
      - name: BPF_PROG_TYPE_CGROUP_SKB
      - name: BPF_PROG_TYPE_LWT_XMIT
      - name: BPF_PROG_TYPE_SK_MSG
      - name: BPF_PROG_TYPE_FLOW_DISSECTOR
      - name: BPF_PROG_TYPE_TRACING
      - name: BPF_PROG_TYPE_SK_LOOKUP
      - name: __MAX_BPF_PROG_TYPE
      - name: BPF_PROG_TYPE_SOCKET_FILTER
      - name: BPF_PROG_TYPE_TRACEPOINT
      - name: BPF_PROG_TYPE_CGROUP_SOCK
      - name: BPF_PROG_TYPE_SOCK_OPS
      - name: BPF_PROG_TYPE_RAW_TRACEPOINT
      - name: BPF_PROG_TYPE_LWT_SEG6LOCAL
      - name: BPF_PROG_TYPE_CGROUP_SYSCTL
      - name: BPF_PROG_TYPE_STRUCT_OPS
      - name: BPF_PROG_TYPE_SYSCALL
      item_type: enum
      name: bpf_prog_type
      pos:
        line_end: 1096
        line_start: 1061
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_CGROUP_INET_EGRESS
      - name: BPF_SK_SKB_STREAM_VERDICT
      - name: BPF_CGROUP_INET6_BIND
      - name: BPF_CGROUP_INET6_POST_BIND
      - name: BPF_FLOW_DISSECTOR
      - name: BPF_CGROUP_GETSOCKOPT
      - name: BPF_TRACE_FEXIT
      - name: BPF_CGROUP_INET4_GETPEERNAME
      - name: BPF_XDP_DEVMAP
      - name: BPF_XDP
      - name: BPF_TRACE_UPROBE_SESSION
      - name: BPF_TRACE_FEXIT_MULTI
      - name: BPF_NETKIT_PRIMARY
      - name: __MAX_BPF_ATTACH_TYPE
      - name: BPF_TRACE_UPROBE_MULTI
      - name: BPF_CGROUP_UNIX_RECVMSG
      - name: BPF_CGROUP_INET_SOCK_CREATE
      - name: BPF_CGROUP_DEVICE
      - name: BPF_CGROUP_INET4_CONNECT
      - name: BPF_CGROUP_UDP4_SENDMSG
      - name: BPF_CGROUP_SYSCTL
      - name: BPF_CGROUP_SETSOCKOPT
      - name: BPF_MODIFY_RETURN
      - name: BPF_CGROUP_INET6_GETPEERNAME
      - name: BPF_CGROUP_INET_SOCK_RELEASE
      - name: BPF_SK_SKB_VERDICT
      - name: BPF_TRACE_KPROBE_MULTI
      - name: BPF_NETFILTER
      - name: BPF_TRACE_FSESSION
      - name: BPF_TRACE_FSESSION_MULTI
      - name: BPF_PERF_EVENT
      - name: BPF_NETKIT_PEER
      - name: BPF_CGROUP_INET_INGRESS
      - name: BPF_CGROUP_SOCK_OPS
      - name: BPF_SK_MSG_VERDICT
      - name: BPF_CGROUP_INET6_CONNECT
      - name: BPF_CGROUP_UDP6_SENDMSG
      - name: BPF_CGROUP_UDP4_RECVMSG
      - name: BPF_TRACE_RAW_TP
      - name: BPF_LSM_MAC
      - name: BPF_CGROUP_INET4_GETSOCKNAME
      - name: BPF_XDP_CPUMAP
      - name: BPF_CGROUP_UNIX_CONNECT
      - name: BPF_CGROUP_UNIX_GETPEERNAME
      - name: BPF_TCX_INGRESS
      - name: BPF_LSM_CGROUP
      - name: BPF_SK_SKB_STREAM_PARSER
      - name: BPF_CGROUP_INET4_BIND
      - name: BPF_LIRC_MODE2
      - name: BPF_CGROUP_INET4_POST_BIND
      - name: BPF_CGROUP_UDP6_RECVMSG
      - name: BPF_TRACE_FENTRY
      - name: BPF_TRACE_ITER
      - name: BPF_CGROUP_INET6_GETSOCKNAME
      - name: BPF_SK_LOOKUP
      - name: BPF_SK_REUSEPORT_SELECT_OR_MIGRATE
      - name: BPF_TRACE_KPROBE_SESSION
      - name: BPF_TRACE_FENTRY_MULTI
      - name: BPF_CGROUP_UNIX_SENDMSG
      - name: BPF_SK_REUSEPORT_SELECT
      - name: BPF_CGROUP_UNIX_GETSOCKNAME
      - name: BPF_TCX_EGRESS
      - name: BPF_STRUCT_OPS
      item_type: enum
      name: bpf_attach_type
      pos:
        line_end: 1162
        line_start: 1098
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_LINK_TYPE_UNSPEC
        value: '0'
      - name: BPF_LINK_TYPE_RAW_TRACEPOINT
        value: '1'
      - name: BPF_LINK_TYPE_CGROUP
        value: '3'
      - name: BPF_LINK_TYPE_ITER
        value: '4'
      - name: BPF_LINK_TYPE_TRACING
        value: '2'
      - name: BPF_LINK_TYPE_NETNS
        value: '5'
      - name: BPF_LINK_TYPE_XDP
        value: '6'
      - name: BPF_LINK_TYPE_PERF_EVENT
        value: '7'
      - name: BPF_LINK_TYPE_KPROBE_MULTI
        value: '8'
      - name: BPF_LINK_TYPE_STRUCT_OPS
        value: '9'
      - name: BPF_LINK_TYPE_NETFILTER
        value: '10'
      - name: BPF_LINK_TYPE_TCX
        value: '11'
      - name: BPF_LINK_TYPE_SOCKMAP
        value: '14'
      - name: BPF_LINK_TYPE_UPROBE_MULTI
        value: '12'
      - name: BPF_LINK_TYPE_TRACING_MULTI
        value: '15'
      - name: BPF_LINK_TYPE_NETKIT
        value: '13'
      - name: __MAX_BPF_LINK_TYPE
      item_type: enum
      name: bpf_link_type
      pos:
        line_end: 1187
        line_start: 1169
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_PERF_EVENT_UNSPEC
        value: '0'
      - name: BPF_PERF_EVENT_UPROBE
        value: '1'
      - name: BPF_PERF_EVENT_URETPROBE
        value: '2'
      - name: BPF_PERF_EVENT_KPROBE
        value: '3'
      - name: BPF_PERF_EVENT_KRETPROBE
        value: '4'
      - name: BPF_PERF_EVENT_TRACEPOINT
        value: '5'
      - name: BPF_PERF_EVENT_EVENT
        value: '6'
      item_type: enum
      name: bpf_perf_event_type
      pos:
        line_end: 1199
        line_start: 1191
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_ADDR_SPACE_CAST
        value: '1'
      item_type: enum
      name: bpf_addr_space_cast
      pos:
        line_end: 1397
        line_start: 1395
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_STATS_RUN_TIME
        value: '0'
      item_type: enum
      name: bpf_stats_type
      pos:
        line_end: 1491
        line_start: 1488
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_STACK_BUILD_ID_EMPTY
        value: '0'
      - name: BPF_STACK_BUILD_ID_VALID
        value: '1'
      - name: BPF_STACK_BUILD_ID_IP
        value: '2'
      item_type: enum
      name: bpf_stack_build_id_status
      pos:
        line_end: 1500
        line_start: 1493
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: ___BPF_FUNC_MAPPER
      item_type: enum
      name: bpf_func_id
      pos:
        line_end: 6162
        line_start: 6161
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_ADJ_ROOM_NET
      - name: BPF_ADJ_ROOM_MAC
      item_type: enum
      name: bpf_adj_room_mode
      pos:
        line_end: 6317
        line_start: 6314
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_HDR_START_MAC
      - name: BPF_HDR_START_NET
      item_type: enum
      name: bpf_hdr_start_off
      pos:
        line_end: 6323
        line_start: 6320
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_LWT_ENCAP_SEG6
      - name: BPF_LWT_ENCAP_IP
      - name: BPF_LWT_ENCAP_SEG6_INLINE
      item_type: enum
      name: bpf_lwt_encap_mode
      pos:
        line_end: 6330
        line_start: 6326
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_OK
        value: '0'
      - name: BPF_DROP
        value: '2'
      - name: BPF_LWT_REROUTE
        value: '128'
      - name: BPF_REDIRECT
        value: '7'
      - name: BPF_FLOW_DISSECTOR_CONTINUE
        value: '129'
      item_type: enum
      name: bpf_ret_code
      pos:
        line_end: 6471
        line_start: 6451
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: TCX_NEXT
        value: '-1'
      - name: TCX_PASS
        value: '0'
      - name: TCX_DROP
        value: '2'
      - name: TCX_REDIRECT
        value: '7'
      item_type: enum
      name: tcx_action_base
      pos:
        line_end: 6565
        line_start: 6560
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: XDP_ABORTED
        value: '0'
      - name: XDP_PASS
      - name: XDP_TX
      - name: XDP_REDIRECT
      - name: XDP_DROP
      item_type: enum
      name: xdp_action
      pos:
        line_end: 6584
        line_start: 6578
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: SK_DROP
        value: '0'
      - name: SK_PASS
      item_type: enum
      name: sk_action
      pos:
        line_end: 6629
        line_start: 6626
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_MTU_CHK_SEGS
        value: (1U << 0)
      item_type: enum
      name: bpf_check_mtu_flags
      pos:
        line_end: 7446
        line_start: 7444
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_MTU_CHK_RET_SUCCESS
      - name: BPF_MTU_CHK_RET_FRAG_NEEDED
      - name: BPF_MTU_CHK_RET_SEGS_TOOBIG
      item_type: enum
      name: bpf_check_mtu_ret
      pos:
        line_end: 7452
        line_start: 7448
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_FD_TYPE_RAW_TRACEPOINT
      - name: BPF_FD_TYPE_UPROBE
      - name: BPF_FD_TYPE_KRETPROBE
      - name: BPF_FD_TYPE_KPROBE
      - name: BPF_FD_TYPE_TRACEPOINT
      - name: BPF_FD_TYPE_URETPROBE
      item_type: enum
      name: bpf_task_fd_type
      pos:
        line_end: 7461
        line_start: 7454
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_CORE_FIELD_BYTE_OFFSET
        value: '0'
      - name: BPF_CORE_FIELD_EXISTS
        value: '2'
      - name: BPF_CORE_FIELD_BYTE_SIZE
        value: '1'
      - name: BPF_CORE_FIELD_LSHIFT_U64
        value: '4'
      - name: BPF_CORE_FIELD_SIGNED
        value: '3'
      - name: BPF_CORE_FIELD_RSHIFT_U64
        value: '5'
      - name: BPF_CORE_TYPE_ID_LOCAL
        value: '6'
      - name: BPF_CORE_TYPE_ID_TARGET
        value: '7'
      - name: BPF_CORE_TYPE_EXISTS
        value: '8'
      - name: BPF_CORE_TYPE_SIZE
        value: '9'
      - name: BPF_CORE_ENUMVAL_EXISTS
        value: '10'
      - name: BPF_CORE_ENUMVAL_VALUE
        value: '11'
      - name: BPF_CORE_TYPE_MATCHES
        value: '12'
      item_type: enum
      name: bpf_core_relo_kind
      pos:
        line_end: 7641
        line_start: 7627
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - enumerators:
      - name: BPF_F_PAD_ZEROS
        value: (1ULL << 0)
      item_type: enum
      name: bpf_kfunc_flags
      pos:
        line_end: 7724
        line_start: 7722
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    preproc_defs:
    - item_type: preproc_def
      name: BPF_JMP32
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x06\t"
    - item_type: preproc_def
      name: BPF_ALU64
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: BPF_DW
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x18\t"
    - item_type: preproc_def
      name: BPF_MEMSX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: BPF_ATOMIC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: BPF_XADD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: BPF_MOV
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xb0\t"
    - item_type: preproc_def
      name: BPF_ARSH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: BPF_END
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xd0\t"
    - item_type: preproc_def
      name: BPF_TO_LE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: BPF_TO_BE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: BPF_FROM_LE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: BPF_TO_LE
    - item_type: preproc_def
      name: BPF_FROM_BE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: BPF_TO_BE
    - item_type: preproc_def
      name: BPF_JNE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x50\t"
    - item_type: preproc_def
      name: BPF_JLT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xa0\t"
    - item_type: preproc_def
      name: BPF_JLE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xb0\t"
    - item_type: preproc_def
      name: BPF_JSGT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x60\t"
    - item_type: preproc_def
      name: BPF_JSGE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x70\t"
    - item_type: preproc_def
      name: BPF_JSLT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: BPF_JSLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xd0\t"
    - item_type: preproc_def
      name: BPF_JCOND
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0xe0\t"
    - item_type: preproc_def
      name: BPF_CALL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: BPF_EXIT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x90\t"
    - item_type: preproc_def
      name: BPF_FETCH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: BPF_XCHG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "(0xe0 | BPF_FETCH)\t"
    - item_type: preproc_def
      name: BPF_CMPXCHG
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "(0xf0 | BPF_FETCH)\t"
    - item_type: preproc_def
      name: BPF_LOAD_ACQ
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: BPF_STORE_REL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: "0x110\t"
    - item_type: preproc_def
      name: MAX_BPF_REG
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: __MAX_BPF_REG
    - item_type: preproc_def
      name: MAX_BPF_ATTACH_TYPE
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: __MAX_BPF_ATTACH_TYPE
    - item_type: preproc_def
      name: MAX_BPF_LINK_TYPE
      pos:
        line_end: 1190
        line_start: 1189
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: __MAX_BPF_LINK_TYPE
    - item_type: preproc_def
      name: BPF_F_ALLOW_OVERRIDE
      pos:
        line_end: 1246
        line_start: 1245
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: BPF_F_ALLOW_MULTI
      pos:
        line_end: 1247
        line_start: 1246
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: BPF_F_REPLACE
      pos:
        line_end: 1249
        line_start: 1248
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: BPF_F_BEFORE
      pos:
        line_end: 1250
        line_start: 1249
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: BPF_F_AFTER
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: BPF_F_ID
      pos:
        line_end: 1252
        line_start: 1251
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 5)
    - item_type: preproc_def
      name: BPF_F_PREORDER
      pos:
        line_end: 1253
        line_start: 1252
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 6)
    - item_type: preproc_def
      name: BPF_F_LINK
      pos:
        line_end: 1254
        line_start: 1253
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: 'BPF_F_LINK '
    - item_type: preproc_def
      name: BPF_F_STRICT_ALIGNMENT
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: BPF_F_ANY_ALIGNMENT
      pos:
        line_end: 1275
        line_start: 1274
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: BPF_F_TEST_RND_HI32
      pos:
        line_end: 1293
        line_start: 1292
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: BPF_F_TEST_STATE_FREQ
      pos:
        line_end: 1296
        line_start: 1295
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: BPF_F_SLEEPABLE
      pos:
        line_end: 1304
        line_start: 1303
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: BPF_F_XDP_HAS_FRAGS
      pos:
        line_end: 1309
        line_start: 1308
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 5)
    - item_type: preproc_def
      name: BPF_F_XDP_DEV_BOUND_ONLY
      pos:
        line_end: 1314
        line_start: 1313
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 6)
    - item_type: preproc_def
      name: BPF_F_TEST_REG_INVARIANTS
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 7)
    - item_type: preproc_def
      name: BPF_F_NETFILTER_IP_DEFRAG
      pos:
        line_end: 1340
        line_start: 1339
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: BPF_PSEUDO_MAP_FD
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BPF_PSEUDO_MAP_IDX
      pos:
        line_end: 1354
        line_start: 1353
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '5'
    - item_type: preproc_def
      name: BPF_PSEUDO_MAP_VALUE
      pos:
        line_end: 1364
        line_start: 1363
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BPF_PSEUDO_MAP_IDX_VALUE
      pos:
        line_end: 1365
        line_start: 1364
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '6'
    - item_type: preproc_def
      name: BPF_PSEUDO_BTF_ID
      pos:
        line_end: 1376
        line_start: 1375
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '3'
    - item_type: preproc_def
      name: BPF_PSEUDO_FUNC
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '4'
    - item_type: preproc_def
      name: BPF_PSEUDO_CALL
      pos:
        line_end: 1390
        line_start: 1389
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BPF_PSEUDO_KFUNC_CALL
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BPF_F_QUERY_EFFECTIVE
      pos:
        line_end: 1477
        line_start: 1476
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: BPF_F_TEST_RUN_ON_CPU
      pos:
        line_end: 1482
        line_start: 1481
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: BPF_F_TEST_XDP_LIVE_FRAMES
      pos:
        line_end: 1484
        line_start: 1483
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: BPF_F_TEST_SKB_CHECKSUM_COMPLETE
      pos:
        line_end: 1486
        line_start: 1485
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: BPF_BUILD_ID_SIZE
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '20'
    - item_type: preproc_def
      name: BPF_OBJ_NAME_LEN
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: 16U
    - item_type: preproc_def
      name: XDP_PACKET_HEADROOM
      pos:
        line_end: 6572
        line_start: 6571
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '256'
    - item_type: preproc_def
      name: BPF_TAG_SIZE
      pos:
        line_end: 6690
        line_start: 6689
        source_file: /src/libbpf/include/uapi/linux/bpf.h
      type_or_value: '8'
    structs:
    - fields:
      - name: code
        type: __u8
      - name: dst_reg
        type: __u8
      - name: src_reg
        type: __u8
      - name: 'off'
        type: __s16
      - name: imm
        type: __s32
      item_type: struct
      name: bpf_insn
      pos:
        line_end: 85
        line_start: 79
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: prefixlen
        type: __u32
      - name: data[0]
        type: __u8
      item_type: struct
      name: bpf_lpm_trie_key
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: prefixlen
        type: __u32
      item_type: struct
      name: bpf_lpm_trie_key_hdr
      pos:
        line_end: 99
        line_start: 97
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: data[]
        type: __u8
      item_type: struct
      name: bpf_lpm_trie_key_u8
      pos:
        line_end: 108
        line_start: 102
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: cgroup_inode_id
        type: __u64
      - name: attach_type
        type: __u32
      item_type: struct
      name: bpf_cgroup_storage_key
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: status
        type: __s32
      - name: build_id[BPF_BUILD_ID_SIZE]
        type: unsigned char
      item_type: struct
      name: bpf_stack_build_id
      pos:
        line_end: 1510
        line_start: 1503
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: log_buf
        type: __aligned_u64
      - name: log_size
        type: __u32
      - name: log_level
        type: __u32
      - name: log_true_size
        type: __u32
      item_type: struct
      name: bpf_common_attr
      pos:
        line_end: 1517
        line_start: 1512
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: len
        type: __u32
      - name: pkt_type
        type: __u32
      - name: mark
        type: __u32
      - name: queue_mapping
        type: __u32
      - name: protocol
        type: __u32
      - name: vlan_present
        type: __u32
      - name: vlan_tci
        type: __u32
      - name: vlan_proto
        type: __u32
      - name: priority
        type: __u32
      - name: ingress_ifindex
        type: __u32
      - name: ifindex
        type: __u32
      - name: tc_index
        type: __u32
      - name: cb[5]
        type: __u32
      - name: hash
        type: __u32
      - name: tc_classid
        type: __u32
      - name: data
        type: __u32
      - name: data_end
        type: __u32
      - name: napi_id
        type: __u32
      - name: family
        type: __u32
      - name: remote_ip4
        type: __u32
      - name: local_ip4
        type: __u32
      - name: remote_ip6[4]
        type: __u32
      - name: local_ip6[4]
        type: __u32
      - name: remote_port
        type: __u32
      - name: local_port
        type: __u32
      - name: data_meta
        type: __u32
      - name: tstamp
        type: __u64
      - name: wire_len
        type: __u32
      - name: gso_segs
        type: __u32
      - name: gso_size
        type: __u32
      - name: tstamp_type
        type: __u8
      - name: hwtstamp
        type: __u64
      item_type: struct
      name: __sk_buff
      pos:
        line_end: 6409
        line_start: 6369
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: tunnel_id
        type: __u32
      - name: tunnel_tos
        type: __u8
      - name: tunnel_ttl
        type: __u8
      - name: tunnel_label
        type: __u32
      item_type: struct
      name: bpf_tunnel_key
      pos:
        line_end: 6428
        line_start: 6411
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: reqid
        type: __u32
      - name: spi
        type: __u32
      - name: family
        type: __u16
      - name: ext
        type: __u16
      item_type: struct
      name: bpf_xfrm_state
      pos:
        line_end: 6442
        line_start: 6433
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: bound_dev_if
        type: __u32
      - name: family
        type: __u32
      - name: type
        type: __u32
      - name: protocol
        type: __u32
      - name: mark
        type: __u32
      - name: priority
        type: __u32
      - name: src_ip4
        type: __u32
      - name: src_ip6[4]
        type: __u32
      - name: src_port
        type: __u32
      - name: dst_port
        type: __be16
      - name: dst_ip4
        type: __u32
      - name: dst_ip6[4]
        type: __u32
      - name: state
        type: __u32
      - name: rx_queue_mapping
        type: __s32
      item_type: struct
      name: bpf_sock
      pos:
        line_end: 6490
        line_start: 6473
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: snd_cwnd
        type: __u32
      - name: srtt_us
        type: __u32
      - name: rtt_min
        type: __u32
      - name: snd_ssthresh
        type: __u32
      - name: rcv_nxt
        type: __u32
      - name: snd_nxt
        type: __u32
      - name: snd_una
        type: __u32
      - name: mss_cache
        type: __u32
      - name: ecn_flags
        type: __u32
      - name: rate_delivered
        type: __u32
      - name: rate_interval_us
        type: __u32
      - name: packets_out
        type: __u32
      - name: retrans_out
        type: __u32
      - name: total_retrans
        type: __u32
      - name: segs_in
        type: __u32
      - name: data_segs_in
        type: __u32
      - name: segs_out
        type: __u32
      - name: data_segs_out
        type: __u32
      - name: lost_out
        type: __u32
      - name: sacked_out
        type: __u32
      - name: bytes_received
        type: __u64
      - name: bytes_acked
        type: __u64
      - name: dsack_dups
        type: __u32
      - name: delivered
        type: __u32
      - name: delivered_ce
        type: __u32
      - name: icsk_retransmits
        type: __u32
      item_type: struct
      name: bpf_tcp_sock
      pos:
        line_end: 6535
        line_start: 6492
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields: []
      item_type: struct
      name: bpf_sock_tuple
      pos:
        line_end: 6552
        line_start: 6537
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: queue_id
        type: __u32
      item_type: struct
      name: bpf_xdp_sock
      pos:
        line_end: 6569
        line_start: 6567
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: data
        type: __u32
      - name: data_end
        type: __u32
      - name: data_meta
        type: __u32
      - name: ingress_ifindex
        type: __u32
      - name: rx_queue_index
        type: __u32
      - name: egress_ifindex
        type: __u32
      item_type: struct
      name: xdp_md
      pos:
        line_end: 6598
        line_start: 6589
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: ifindex
        type: __u32
      - name: bpf_prog
        type: "union {\n\t\tint   fd;  /* prog fd on map write */\n\t\t__u32 id;  /*
          prog id on map read */\n\t}"
      item_type: struct
      name: bpf_devmap_val
      pos:
        line_end: 6611
        line_start: 6605
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: qsize
        type: __u32
      - name: bpf_prog
        type: "union {\n\t\tint   fd;\t/* prog fd on map write */\n\t\t__u32 id;\t/*
          prog id on map read */\n\t}"
      item_type: struct
      name: bpf_cpumap_val
      pos:
        line_end: 6624
        line_start: 6618
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: family
        type: __u32
      - name: remote_ip4
        type: __u32
      - name: local_ip4
        type: __u32
      - name: remote_ip6[4]
        type: __u32
      - name: local_ip6[4]
        type: __u32
      - name: remote_port
        type: __u32
      - name: local_port
        type: __u32
      - name: size
        type: __u32
      item_type: struct
      name: sk_msg_md
      pos:
        line_end: 6648
        line_start: 6634
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: len
        type: __u32
      - name: eth_protocol
        type: __u32
      - name: ip_protocol
        type: __u32
      - name: bind_inany
        type: __u32
      - name: hash
        type: __u32
      item_type: struct
      name: sk_reuseport_md
      pos:
        line_end: 6687
        line_start: 6650
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: type
        type: __u32
      - name: id
        type: __u32
      - name: tag[BPF_TAG_SIZE]
        type: __u8
      - name: jited_prog_len
        type: __u32
      - name: xlated_prog_len
        type: __u32
      - name: jited_prog_insns
        type: __aligned_u64
      - name: xlated_prog_insns
        type: __aligned_u64
      - name: load_time
        type: __u64
      - name: created_by_uid
        type: __u32
      - name: nr_map_ids
        type: __u32
      - name: map_ids
        type: __aligned_u64
      - name: name[BPF_OBJ_NAME_LEN]
        type: char
      - name: ifindex
        type: __u32
      - name: gpl_compatible
        type: __u32
      - name: netns_dev
        type: __u64
      - name: netns_ino
        type: __u64
      - name: nr_jited_ksyms
        type: __u32
      - name: nr_jited_func_lens
        type: __u32
      - name: jited_ksyms
        type: __aligned_u64
      - name: jited_func_lens
        type: __aligned_u64
      - name: btf_id
        type: __u32
      - name: func_info_rec_size
        type: __u32
      - name: func_info
        type: __aligned_u64
      - name: nr_func_info
        type: __u32
      - name: nr_line_info
        type: __u32
      - name: line_info
        type: __aligned_u64
      - name: jited_line_info
        type: __aligned_u64
      - name: nr_jited_line_info
        type: __u32
      - name: line_info_rec_size
        type: __u32
      - name: jited_line_info_rec_size
        type: __u32
      - name: nr_prog_tags
        type: __u32
      - name: prog_tags
        type: __aligned_u64
      - name: run_time_ns
        type: __u64
      - name: run_cnt
        type: __u64
      - name: recursion_misses
        type: __u64
      - name: verified_insns
        type: __u32
      - name: attach_btf_obj_id
        type: __u32
      - name: attach_btf_id
        type: __u32
      item_type: struct
      name: bpf_prog_info
      pos:
        line_end: 6732
        line_start: 6691
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: type
        type: __u32
      - name: id
        type: __u32
      - name: key_size
        type: __u32
      - name: value_size
        type: __u32
      - name: max_entries
        type: __u32
      - name: map_flags
        type: __u32
      - name: name[BPF_OBJ_NAME_LEN]
        type: char
      - name: ifindex
        type: __u32
      - name: btf_vmlinux_value_type_id
        type: __u32
      - name: netns_dev
        type: __u64
      - name: netns_ino
        type: __u64
      - name: btf_id
        type: __u32
      - name: btf_key_type_id
        type: __u32
      - name: btf_value_type_id
        type: __u32
      - name: btf_vmlinux_id
        type: __u32
      - name: map_extra
        type: __u64
      - name: hash
        type: __aligned_u64
      - name: hash_size
        type: __u32
      item_type: struct
      name: bpf_map_info
      pos:
        line_end: 6754
        line_start: 6734
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: btf
        type: __aligned_u64
      - name: btf_size
        type: __u32
      - name: id
        type: __u32
      - name: name
        type: __aligned_u64
      - name: name_len
        type: __u32
      - name: kernel_btf
        type: __u32
      item_type: struct
      name: bpf_btf_info
      pos:
        line_end: 6763
        line_start: 6756
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: type
        type: __u32
      - name: id
        type: __u32
      - name: prog_id
        type: __u32
      item_type: struct
      name: bpf_link_info
      pos:
        line_end: 6899
        line_start: 6765
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: allowed_cmds
        type: __u64
      - name: allowed_maps
        type: __u64
      - name: allowed_progs
        type: __u64
      - name: allowed_attachs
        type: __u64
      item_type: struct
      name: bpf_token_info
      pos:
        line_end: 6906
        line_start: 6901
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: user_family
        type: __u32
      - name: user_ip4
        type: __u32
      - name: user_ip6[4]
        type: __u32
      - name: user_port
        type: __u32
      - name: family
        type: __u32
      - name: type
        type: __u32
      - name: protocol
        type: __u32
      - name: msg_src_ip4
        type: __u32
      - name: msg_src_ip6[4]
        type: __u32
      item_type: struct
      name: bpf_sock_addr
      pos:
        line_end: 6933
        line_start: 6912
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: op
        type: __u32
      - name: family
        type: __u32
      - name: remote_ip4
        type: __u32
      - name: local_ip4
        type: __u32
      - name: remote_ip6[4]
        type: __u32
      - name: local_ip6[4]
        type: __u32
      - name: remote_port
        type: __u32
      - name: local_port
        type: __u32
      - name: is_fullsock
        type: __u32
      - name: snd_cwnd
        type: __u32
      - name: srtt_us
        type: __u32
      - name: bpf_sock_ops_cb_flags
        type: __u32
      - name: state
        type: __u32
      - name: rtt_min
        type: __u32
      - name: snd_ssthresh
        type: __u32
      - name: rcv_nxt
        type: __u32
      - name: snd_nxt
        type: __u32
      - name: snd_una
        type: __u32
      - name: mss_cache
        type: __u32
      - name: ecn_flags
        type: __u32
      - name: rate_delivered
        type: __u32
      - name: rate_interval_us
        type: __u32
      - name: packets_out
        type: __u32
      - name: retrans_out
        type: __u32
      - name: total_retrans
        type: __u32
      - name: segs_in
        type: __u32
      - name: data_segs_in
        type: __u32
      - name: segs_out
        type: __u32
      - name: data_segs_out
        type: __u32
      - name: lost_out
        type: __u32
      - name: sacked_out
        type: __u32
      - name: sk_txhash
        type: __u32
      - name: bytes_received
        type: __u64
      - name: bytes_acked
        type: __u64
      - name: skb_len
        type: __u32
      - name: skb_tcp_flags
        type: __u32
      - name: skb_hwtstamp
        type: __u64
      item_type: struct
      name: bpf_sock_ops
      pos:
        line_end: 7016
        line_start: 6941
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: counter
        type: __u64
      - name: enabled
        type: __u64
      - name: running
        type: __u64
      item_type: struct
      name: bpf_perf_event_value
      pos:
        line_end: 7307
        line_start: 7303
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: access_type
        type: __u32
      - name: major
        type: __u32
      - name: minor
        type: __u32
      item_type: struct
      name: bpf_cgroup_dev_ctx
      pos:
        line_end: 7325
        line_start: 7320
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: args[0]
        type: __u64
      item_type: struct
      name: bpf_raw_tracepoint_args
      pos:
        line_end: 7329
        line_start: 7327
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: family
        type: __u8
      - name: l4_protocol
        type: __u8
      - name: sport
        type: __be16
      - name: dport
        type: __be16
      - name: ifindex
        type: __u32
      item_type: struct
      name: bpf_fib_lookup
      pos:
        line_end: 7431
        line_start: 7356
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: nh_family
        type: __u32
      item_type: struct
      name: bpf_redir_neigh
      pos:
        line_end: 7441
        line_start: 7433
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: nhoff
        type: __u16
      - name: thoff
        type: __u16
      - name: addr_proto
        type: __u16
      - name: is_frag
        type: __u8
      - name: is_first_frag
        type: __u8
      - name: is_encap
        type: __u8
      - name: ip_proto
        type: __u8
      - name: n_proto
        type: __be16
      - name: sport
        type: __be16
      - name: dport
        type: __be16
      - name: flags
        type: __u32
      - name: flow_label
        type: __be32
      item_type: struct
      name: bpf_flow_keys
      pos:
        line_end: 7492
        line_start: 7469
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: insn_off
        type: __u32
      - name: type_id
        type: __u32
      item_type: struct
      name: bpf_func_info
      pos:
        line_end: 7497
        line_start: 7494
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: insn_off
        type: __u32
      - name: file_name_off
        type: __u32
      - name: line_off
        type: __u32
      - name: line_col
        type: __u32
      item_type: struct
      name: bpf_line_info
      pos:
        line_end: 7507
        line_start: 7502
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: val
        type: __u32
      item_type: struct
      name: bpf_spin_lock
      pos:
        line_end: 7511
        line_start: 7509
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[2]
        type: __u64
      item_type: struct
      name: bpf_timer
      pos:
        line_end: 7515
        line_start: 7513
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque
        type: __u64
      item_type: struct
      name: bpf_task_work
      pos:
        line_end: 7519
        line_start: 7517
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[2]
        type: __u64
      item_type: struct
      name: bpf_wq
      pos:
        line_end: 7523
        line_start: 7521
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[2]
        type: __u64
      item_type: struct
      name: bpf_dynptr
      pos:
        line_end: 7527
        line_start: 7525
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[2]
        type: __u64
      item_type: struct
      name: bpf_list_head
      pos:
        line_end: 7531
        line_start: 7529
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[3]
        type: __u64
      item_type: struct
      name: bpf_list_node
      pos:
        line_end: 7535
        line_start: 7533
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[2]
        type: __u64
      item_type: struct
      name: bpf_rb_root
      pos:
        line_end: 7539
        line_start: 7537
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[4]
        type: __u64
      item_type: struct
      name: bpf_rb_node
      pos:
        line_end: 7543
        line_start: 7541
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[1]
        type: __u32
      item_type: struct
      name: bpf_refcount
      pos:
        line_end: 7547
        line_start: 7545
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: write
        type: __u32
      - name: file_pos
        type: __u32
      item_type: struct
      name: bpf_sysctl
      pos:
        line_end: 7556
        line_start: 7549
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: level
        type: __s32
      - name: optname
        type: __s32
      - name: optlen
        type: __s32
      - name: retval
        type: __s32
      item_type: struct
      name: bpf_sockopt
      pos:
        line_end: 7567
        line_start: 7558
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: pid
        type: __u32
      - name: tgid
        type: __u32
      item_type: struct
      name: bpf_pidns_info
      pos:
        line_end: 7572
        line_start: 7569
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: family
        type: __u32
      - name: protocol
        type: __u32
      - name: remote_ip4
        type: __u32
      - name: remote_ip6[4]
        type: __u32
      - name: remote_port
        type: __be16
      - name: local_ip4
        type: __u32
      - name: local_ip6[4]
        type: __u32
      - name: local_port
        type: __u32
      - name: ingress_ifindex
        type: __u32
      item_type: struct
      name: bpf_sk_lookup
      pos:
        line_end: 7591
        line_start: 7575
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: '*ptr'
        type: void
      - name: type_id
        type: __u32
      - name: flags
        type: __u32
      item_type: struct
      name: btf_ptr
      pos:
        line_end: 7605
        line_start: 7601
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: insn_off
        type: __u32
      - name: type_id
        type: __u32
      - name: access_str_off
        type: __u32
      - name: kind
        type: enum bpf_core_relo_kind
      item_type: struct
      name: bpf_core_relo
      pos:
        line_end: 7696
        line_start: 7691
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: __opaque[1]
        type: __u64
      item_type: struct
      name: bpf_iter_num
      pos:
        line_end: 7715
        line_start: 7710
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: orig_off
        type: __u32
      - name: xlated_off
        type: __u32
      - name: jitted_off
        type: __u32
      item_type: struct
      name: bpf_insn_array_value
      pos:
        line_end: 7744
        line_start: 7739
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    typedefs: []
    union:
    - fields:
      - name: map
        type: "struct {\n\t\t__u32\tmap_fd;\n\t}"
      - name: cgroup
        type: "struct {\n\t\tenum bpf_cgroup_iter_order order;\n\n\t\t/* At most one
          of cgroup_fd and cgroup_id can be non-zero. If\n\t\t * both are zero, the
          walk starts from the default cgroup v2\n\t\t * root. For walking v1 hierarchy,
          one should always explicitly\n\t\t * specify cgroup_fd.\n\t\t */\n\t\t__u32\tcgroup_fd;\n\t\t__u64\tcgroup_id;\n\t}"
      - name: task
        type: "struct {\n\t\t__u32\ttid;\n\t\t__u32\tpid;\n\t\t__u32\tpid_fd;\n\t}"
      item_type: union
      name: bpf_iter_link_info
      pos:
        line_end: 152
        line_start: 131
        source_file: /src/libbpf/include/uapi/linux/bpf.h
    - fields:
      - name: batch
        type: "struct { /* struct used by BPF_MAP_*_BATCH commands */\n\t\t__aligned_u64\tin_batch;\t/*
          start batch,\n\t\t\t\t\t\t * NULL to start from beginning\n\t\t\t\t\t\t
          */\n\t\t__aligned_u64\tout_batch;\t/* output: next start batch */\n\t\t__aligned_u64\tkeys;\n\t\t__aligned_u64\tvalues;\n\t\t__u32\t\tcount;\t\t/*
          input/output:\n\t\t\t\t\t\t * input: # of key/value\n\t\t\t\t\t\t * elements\n\t\t\t\t\t\t
          * output: # of filled elements\n\t\t\t\t\t\t */\n\t\t__u32\t\tmap_fd;\n\t\t__u64\t\telem_flags;\n\t\t__u64\t\tflags;\n\t}"
      - name: test
        type: "struct { /* anonymous struct used by BPF_PROG_TEST_RUN command */\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\tretval;\n\t\t__u32\t\tdata_size_in;\t/*
          input: len of data_in */\n\t\t__u32\t\tdata_size_out;\t/* input/output:
          len of data_out\n\t\t\t\t\t\t *   returns ENOSPC if data_out\n\t\t\t\t\t\t
          *   is too small.\n\t\t\t\t\t\t */\n\t\t__aligned_u64\tdata_in;\n\t\t__aligned_u64\tdata_out;\n\t\t__u32\t\trepeat;\n\t\t__u32\t\tduration;\n\t\t__u32\t\tctx_size_in;\t/*
          input: len of ctx_in */\n\t\t__u32\t\tctx_size_out;\t/* input/output: len
          of ctx_out\n\t\t\t\t\t\t *   returns ENOSPC if ctx_out\n\t\t\t\t\t\t *   is
          too small.\n\t\t\t\t\t\t */\n\t\t__aligned_u64\tctx_in;\n\t\t__aligned_u64\tctx_out;\n\t\t__u32\t\tflags;\n\t\t__u32\t\tcpu;\n\t\t__u32\t\tbatch_size;\n\t}"
      - name: info
        type: "struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */\n\t\t__u32\t\tbpf_fd;\n\t\t__u32\t\tinfo_len;\n\t\t__aligned_u64\tinfo;\n\t}"
      - name: query
        type: "struct { /* anonymous struct used by BPF_PROG_QUERY command */\n\t\tunion
          {\n\t\t\t__u32\ttarget_fd;\t/* target object to query or ... */\n\t\t\t__u32\ttarget_ifindex;\t/*
          target ifindex */\n\t\t};\n\t\t__u32\t\tattach_type;\n\t\t__u32\t\tquery_flags;\n\t\t__u32\t\tattach_flags;\n\t\t__aligned_u64\tprog_ids;\n\t\tunion
          {\n\t\t\t__u32\tprog_cnt;\n\t\t\t__u32\tcount;\n\t\t};\n\t\t__u32\t\t:32;\n\t\t/*
          output: per-program attach_flags.\n\t\t * not allowed to be set during effective
          query.\n\t\t */\n\t\t__aligned_u64\tprog_attach_flags;\n\t\t__aligned_u64\tlink_ids;\n\t\t__aligned_u64\tlink_attach_flags;\n\t\t__u64\t\trevision;\n\t}"
      - name: raw_tracepoint
        type: "struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command
          */\n\t\t__u64\t\tname;\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\t:32;\n\t\t__aligned_u64\tcookie;\n\t}"
      - name: task_fd_query
        type: "struct {\n\t\t__u32\t\tpid;\t\t/* input: pid */\n\t\t__u32\t\tfd;\t\t/*
          input: fd */\n\t\t__u32\t\tflags;\t\t/* input: flags */\n\t\t__u32\t\tbuf_len;\t/*
          input/output: buf len */\n\t\t__aligned_u64\tbuf;\t\t/* input/output:\n\t\t\t\t\t\t
          *   tp_name for tracepoint\n\t\t\t\t\t\t *   symbol for kprobe\n\t\t\t\t\t\t
          *   filename for uprobe\n\t\t\t\t\t\t */\n\t\t__u32\t\tprog_id;\t/* output:
          prod_id */\n\t\t__u32\t\tfd_type;\t/* output: BPF_FD_TYPE_* */\n\t\t__u64\t\tprobe_offset;\t/*
          output: probe_offset */\n\t\t__u64\t\tprobe_addr;\t/* output: probe_addr
          */\n\t}"
      - name: link_create
        type: "struct { /* struct used by BPF_LINK_CREATE command */\n\t\tunion {\n\t\t\t__u32\t\tprog_fd;\t/*
          eBPF program to attach */\n\t\t\t__u32\t\tmap_fd;\t\t/* struct_ops to attach
          */\n\t\t};\n\t\tunion {\n\t\t\t__u32\ttarget_fd;\t/* target object to attach
          to or ... */\n\t\t\t__u32\ttarget_ifindex; /* target ifindex */\n\t\t};\n\t\t__u32\t\tattach_type;\t/*
          attach type */\n\t\t__u32\t\tflags;\t\t/* extra flags */\n\t\tunion {\n\t\t\t__u32\ttarget_btf_id;\t/*
          btf_id of target to attach to */\n\t\t\tstruct {\n\t\t\t\t__aligned_u64\titer_info;\t/*
          extra bpf_iter_link_info */\n\t\t\t\t__u32\t\titer_info_len;\t/* iter_info
          length */\n\t\t\t};\n\t\t\tstruct {\n\t\t\t\t/* black box user-provided
          value passed through\n\t\t\t\t * to BPF program at the execution time and\n\t\t\t\t
          * accessible through bpf_get_attach_cookie() BPF helper\n\t\t\t\t */\n\t\t\t\t__u64\t\tbpf_cookie;\n\t\t\t}
          perf_event;\n\t\t\tstruct {\n\t\t\t\t__u32\t\tflags;\n\t\t\t\t__u32\t\tcnt;\n\t\t\t\t__aligned_u64\tsyms;\n\t\t\t\t__aligned_u64\taddrs;\n\t\t\t\t__aligned_u64\tcookies;\n\t\t\t}
          kprobe_multi;\n\t\t\tstruct {\n\t\t\t\t/* this is overlaid with the target_btf_id
          above. */\n\t\t\t\t__u32\t\ttarget_btf_id;\n\t\t\t\t/* black box user-provided
          value passed through\n\t\t\t\t * to BPF program at the execution time and\n\t\t\t\t
          * accessible through bpf_get_attach_cookie() BPF helper\n\t\t\t\t */\n\t\t\t\t__u64\t\tcookie;\n\t\t\t}
          tracing;\n\t\t\tstruct {\n\t\t\t\t__u32\t\tpf;\n\t\t\t\t__u32\t\thooknum;\n\t\t\t\t__s32\t\tpriority;\n\t\t\t\t__u32\t\tflags;\n\t\t\t}
          netfilter;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32\trelative_fd;\n\t\t\t\t\t__u32\trelative_id;\n\t\t\t\t};\n\t\t\t\t__u64\t\texpected_revision;\n\t\t\t}
          tcx;\n\t\t\tstruct {\n\t\t\t\t__aligned_u64\tpath;\n\t\t\t\t__aligned_u64\toffsets;\n\t\t\t\t__aligned_u64\tref_ctr_offsets;\n\t\t\t\t__aligned_u64\tcookies;\n\t\t\t\t__u32\t\tcnt;\n\t\t\t\t__u32\t\tflags;\n\t\t\t\t__u32\t\tpid;\n\t\t\t\t__u32\t\tpath_fd;\n\t\t\t}
          uprobe_multi;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32\trelative_fd;\n\t\t\t\t\t__u32\trelative_id;\n\t\t\t\t};\n\t\t\t\t__u64\t\texpected_revision;\n\t\t\t}
          netkit;\n\t\t\tstruct {\n\t\t\t\tunion {\n\t\t\t\t\t__u32\trelative_fd;\n\t\t\t\t\t__u32\trelative_id;\n\t\t\t\t};\n\t\t\t\t__u64\t\texpected_revision;\n\t\t\t}
          cgroup;\n\t\t\tstruct {\n\t\t\t\t__aligned_u64\tids;\n\t\t\t\t__aligned_u64\tcookies;\n\t\t\t\t__u32\t\tcnt;\n\t\t\t}
          tracing_multi;\n\t\t};\n\t}"
      - name: link_update
        type: "struct { /* struct used by BPF_LINK_UPDATE command */\n\t\t__u32\t\tlink_fd;\t/*
          link fd */\n\t\tunion {\n\t\t\t/* new program fd to update link with */\n\t\t\t__u32\t\tnew_prog_fd;\n\t\t\t/*
          new struct_ops map fd to update link with */\n\t\t\t__u32           new_map_fd;\n\t\t};\n\t\t__u32\t\tflags;\t\t/*
          extra flags */\n\t\tunion {\n\t\t\t/* expected link's program fd; is specified
          only if\n\t\t\t * BPF_F_REPLACE flag is set in flags.\n\t\t\t */\n\t\t\t__u32\t\told_prog_fd;\n\t\t\t/*
          expected link's map fd; is specified only\n\t\t\t * if BPF_F_REPLACE flag
          is set.\n\t\t\t */\n\t\t\t__u32           old_map_fd;\n\t\t};\n\t}"
      - name: link_detach
        type: "struct {\n\t\t__u32\t\tlink_fd;\n\t}"
      - name: enable_stats
        type: "struct { /* struct used by BPF_ENABLE_STATS command */\n\t\t__u32\t\ttype;\n\t}"
      - name: iter_create
        type: "struct { /* struct used by BPF_ITER_CREATE command */\n\t\t__u32\t\tlink_fd;\n\t\t__u32\t\tflags;\n\t}"
      - name: prog_bind_map
        type: "struct { /* struct used by BPF_PROG_BIND_MAP command */\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\tmap_fd;\n\t\t__u32\t\tflags;\t\t/*
          extra flags */\n\t}"
      - name: token_create
        type: "struct { /* struct used by BPF_TOKEN_CREATE command */\n\t\t__u32\t\tflags;\n\t\t__u32\t\tbpffs_fd;\n\t}"
      - name: prog_stream_read
        type: "struct {\n\t\t__aligned_u64\tstream_buf;\n\t\t__u32\t\tstream_buf_len;\n\t\t__u32\t\tstream_id;\n\t\t__u32\t\tprog_fd;\n\t}"
      - name: prog_assoc_struct_ops
        type: "struct {\n\t\t__u32\t\tmap_fd;\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\tflags;\n\t}"
      item_type: union
      name: bpf_attr
      pos:
        line_end: 1952
        line_start: 1526
        source_file: /src/libbpf/include/uapi/linux/bpf.h
- function_names:
  - NLMSG_ALIGN
  - NLMSG_LENGTH
  - NLMSG_SPACE
  - NLMSG_DATA
  - NLMSG_NEXT
  - NLMSG_OK
  - NLMSG_PAYLOAD
  - NL_MMAP_MSG_ALIGN
  - NLA_ALIGN
  source_file: /src/libbpf/include/uapi/linux/netlink.h
  types:
    enum:
    - enumerators:
      - name: NLMSGERR_ATTR_UNUSED
      - name: NLMSGERR_ATTR_COOKIE
      - name: NLMSGERR_ATTR_OFFS
      - name: NLMSGERR_ATTR_POLICY
      - name: NLMSGERR_ATTR_MSG
      - name: NLMSGERR_ATTR_MISS_TYPE
      - name: NLMSGERR_ATTR_MISS_NEST
      - name: __NLMSGERR_ATTR_MAX
      - name: NLMSGERR_ATTR_MAX
        value: __NLMSGERR_ATTR_MAX - 1
      item_type: enum
      name: nlmsgerr_attrs
      pos:
        line_end: 160
        line_start: 149
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - enumerators:
      - name: NL_MMAP_STATUS_UNUSED
      - name: NL_MMAP_STATUS_SKIP
      - name: NL_MMAP_STATUS_RESERVED
      - name: NL_MMAP_STATUS_COPY
      - name: NL_MMAP_STATUS_VALID
      item_type: enum
      name: nl_mmap_status
      pos:
        line_end: 205
        line_start: 199
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - enumerators:
      - name: NL_ATTR_TYPE_INVALID
      - name: NL_ATTR_TYPE_U16
      - name: NL_ATTR_TYPE_U32
      - name: NL_ATTR_TYPE_FLAG
      - name: NL_ATTR_TYPE_U8
      - name: NL_ATTR_TYPE_U64
      - name: NL_ATTR_TYPE_S8
      - name: NL_ATTR_TYPE_S16
      - name: NL_ATTR_TYPE_S32
      - name: NL_ATTR_TYPE_S64
      - name: NL_ATTR_TYPE_BINARY
      - name: NL_ATTR_TYPE_STRING
      - name: NL_ATTR_TYPE_NESTED_ARRAY
      - name: NL_ATTR_TYPE_BITFIELD32
      - name: NL_ATTR_TYPE_NUL_STRING
      - name: NL_ATTR_TYPE_SINT
      - name: NL_ATTR_TYPE_NESTED
      - name: NL_ATTR_TYPE_UINT
      item_type: enum
      name: netlink_attribute_type
      pos:
        line_end: 329
        line_start: 303
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - enumerators:
      - name: NL_POLICY_TYPE_ATTR_UNSPEC
      - name: NL_POLICY_TYPE_ATTR_MAX_VALUE_S
      - name: NL_POLICY_TYPE_ATTR_MIN_VALUE_S
      - name: NL_POLICY_TYPE_ATTR_MIN_VALUE_U
      - name: NL_POLICY_TYPE_ATTR_TYPE
      - name: NL_POLICY_TYPE_ATTR_MAX_VALUE_U
      - name: NL_POLICY_TYPE_ATTR_MIN_LENGTH
      - name: NL_POLICY_TYPE_ATTR_MAX_LENGTH
      - name: NL_POLICY_TYPE_ATTR_POLICY_IDX
      - name: NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE
      - name: NL_POLICY_TYPE_ATTR_BITFIELD32_MASK
      - name: __NL_POLICY_TYPE_ATTR_MAX
      - name: NL_POLICY_TYPE_ATTR_MAX
        value: __NL_POLICY_TYPE_ATTR_MAX - 1
      - name: NL_POLICY_TYPE_ATTR_PAD
      - name: NL_POLICY_TYPE_ATTR_MASK
      item_type: enum
      name: netlink_policy_type_attr
      pos:
        line_end: 380
        line_start: 362
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    preproc_defs:
    - item_type: preproc_def
      name: NETLINK_ROUTE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: NETLINK_UNUSED
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NETLINK_USERSOCK
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: NETLINK_FIREWALL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: NETLINK_SOCK_DIAG
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: NETLINK_NFLOG
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: NETLINK_XFRM
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: NETLINK_SELINUX
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: NETLINK_ISCSI
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: NETLINK_AUDIT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: NETLINK_FIB_LOOKUP
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: NETLINK_CONNECTOR
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NETLINK_NETFILTER
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: NETLINK_IP6_FW
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NETLINK_DNRTMSG
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: NETLINK_KOBJECT_UEVENT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: NETLINK_GENERIC
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NETLINK_SCSITRANSPORT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "18\t"
    - item_type: preproc_def
      name: NETLINK_ECRYPTFS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '19'
    - item_type: preproc_def
      name: NETLINK_RDMA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NETLINK_CRYPTO
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "21\t"
    - item_type: preproc_def
      name: NETLINK_SMC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "22\t"
    - item_type: preproc_def
      name: NETLINK_INET_DIAG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: NETLINK_SOCK_DIAG
    - item_type: preproc_def
      name: MAX_LINKS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "32\t\t"
    - item_type: preproc_def
      name: NLM_F_REQUEST
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: NLM_F_MULTI
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: NLM_F_ACK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: NLM_F_ECHO
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: NLM_F_DUMP_INTR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: NLM_F_DUMP_FILTERED
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: NLM_F_ROOT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: NLM_F_MATCH
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: NLM_F_ATOMIC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x400\t"
    - item_type: preproc_def
      name: NLM_F_DUMP
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: (NLM_F_ROOT|NLM_F_MATCH)
    - item_type: preproc_def
      name: NLM_F_REPLACE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: NLM_F_EXCL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: NLM_F_CREATE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x400\t"
    - item_type: preproc_def
      name: NLM_F_APPEND
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x800\t"
    - item_type: preproc_def
      name: NLM_F_NONREC
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: NLM_F_BULK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: NLM_F_CAPPED
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: NLM_F_ACK_TLVS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x200\t"
    - item_type: preproc_def
      name: NLMSG_ALIGNTO
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: 4U
    - item_type: preproc_def
      name: NLMSG_HDRLEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
    - item_type: preproc_def
      name: NLMSG_NOOP
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x1\t"
    - item_type: preproc_def
      name: NLMSG_ERROR
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x2\t"
    - item_type: preproc_def
      name: NLMSG_DONE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x3\t"
    - item_type: preproc_def
      name: NLMSG_OVERRUN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x4\t"
    - item_type: preproc_def
      name: NLMSG_MIN_TYPE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: NETLINK_ADD_MEMBERSHIP
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NETLINK_DROP_MEMBERSHIP
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NETLINK_PKTINFO
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NETLINK_BROADCAST_ERROR
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NETLINK_NO_ENOBUFS
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NETLINK_RX_RING
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NETLINK_TX_RING
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '7'
    - item_type: preproc_def
      name: NETLINK_LISTEN_ALL_NSID
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NETLINK_LIST_MEMBERSHIPS
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '9'
    - item_type: preproc_def
      name: NETLINK_CAP_ACK
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NETLINK_EXT_ACK
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NETLINK_GET_STRICT_CHK
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '12'
    - item_type: preproc_def
      name: NL_MMAP_MSG_ALIGNMENT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: NLMSG_ALIGNTO
    - item_type: preproc_def
      name: NL_MMAP_HDRLEN
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr))
    - item_type: preproc_def
      name: NET_MAJOR
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: "36\t\t"
    - item_type: preproc_def
      name: NLA_F_NESTED
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: NLA_F_NET_BYTEORDER
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: NLA_TYPE_MASK
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
    - item_type: preproc_def
      name: NLA_ALIGNTO
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NLA_HDRLEN
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/libbpf/include/uapi/linux/netlink.h
      type_or_value: ((int) NLA_ALIGN(sizeof(struct nlattr)))
    structs:
    - fields:
      - name: nl_family
        type: __kernel_sa_family_t
      - name: nl_pad
        type: unsigned short
      - name: nl_pid
        type: __u32
      - name: nl_groups
        type: __u32
      item_type: struct
      name: sockaddr_nl
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: nlmsg_len
        type: __u32
      - name: nlmsg_type
        type: __u16
      - name: nlmsg_flags
        type: __u16
      - name: nlmsg_seq
        type: __u32
      - name: nlmsg_pid
        type: __u32
      item_type: struct
      name: nlmsghdr
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: error
        type: int
      - name: msg
        type: struct nlmsghdr
      item_type: struct
      name: nlmsgerr
      pos:
        line_end: 130
        line_start: 118
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: group
        type: __u32
      item_type: struct
      name: nl_pktinfo
      pos:
        line_end: 179
        line_start: 177
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: nm_block_size
        type: unsigned int
      - name: nm_block_nr
        type: unsigned int
      - name: nm_frame_size
        type: unsigned int
      - name: nm_frame_nr
        type: unsigned int
      item_type: struct
      name: nl_mmap_req
      pos:
        line_end: 186
        line_start: 181
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: nm_status
        type: unsigned int
      - name: nm_len
        type: unsigned int
      - name: nm_group
        type: __u32
      - name: nm_pid
        type: __u32
      - name: nm_uid
        type: __u32
      - name: nm_gid
        type: __u32
      item_type: struct
      name: nl_mmap_hdr
      pos:
        line_end: 196
        line_start: 188
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: nla_len
        type: __u16
      - name: nla_type
        type: __u16
      item_type: struct
      name: nlattr
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    - fields:
      - name: value
        type: __u32
      - name: selector
        type: __u32
      item_type: struct
      name: nla_bitfield32
      pos:
        line_end: 267
        line_start: 264
        source_file: /src/libbpf/include/uapi/linux/netlink.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/uapi/linux/openat2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENAT2_REGULAR
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '((__u64)1 << 32) '
    - item_type: preproc_def
      name: RESOLVE_NO_XDEV
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: RESOLVE_NO_MAGICLINKS
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: RESOLVE_NO_SYMLINKS
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: RESOLVE_BENEATH
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: RESOLVE_IN_ROOT
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RESOLVE_CACHED
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/libbpf/include/uapi/linux/openat2.h
      type_or_value: '0x20 '
    structs:
    - fields:
      - name: flags
        type: __u64
      - name: mode
        type: __u64
      - name: resolve
        type: __u64
      item_type: struct
      name: open_how
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/libbpf/include/uapi/linux/openat2.h
    typedefs: []
    union: []
- function_names:
  - __TC_ACT_EXT
  - TC_ACT_EXT_OPCODE
  - TC_ACT_EXT_CMP
  - TC_U32_HTID
  - TC_U32_USERHTID
  - TC_U32_HASH
  - TC_U32_NODE
  - TC_U32_KEY
  - TCF_EM_REL_VALID
  source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
  types:
    enum:
    - enumerators:
      - name: TCA_ID_GACT
        value: TCA_ACT_GACT
      - name: TCA_ID_MIRRED
        value: TCA_ACT_MIRRED
      - name: TCA_ID_VLAN
        value: TCA_ACT_VLAN
      - name: TCA_ID_CSUM
        value: TCA_ACT_CSUM
      - name: TCA_ID_SAMPLE
        value: TCA_ACT_SAMPLE
      - name: TCA_ID_GATE
      - name: TCA_ID_POLICE
        value: '1'
      - name: TCA_ID_SKBEDIT
        value: TCA_ACT_SKBEDIT
      - name: TCA_ID_SKBMOD
        value: TCA_ACT_SKBMOD
      - name: TCA_ID_IFE
        value: TCA_ACT_IFE
      - name: TCA_ID_CT
      - name: __TCA_ID_MAX
        value: '255'
      - name: TCA_ID_PEDIT
        value: TCA_ACT_PEDIT
      - name: TCA_ID_XT
        value: TCA_ACT_XT
      - name: TCA_ID_CONNMARK
        value: TCA_ACT_CONNMARK
      - name: TCA_ID_SIMP
        value: TCA_ACT_SIMP
      - name: TCA_ID_MPLS
      - name: TCA_ID_UNSPEC
        value: '0'
      - name: TCA_ID_IPT
        value: TCA_ACT_IPT
      - name: TCA_ID_NAT
        value: TCA_ACT_NAT
      - name: TCA_ID_BPF
        value: TCA_ACT_BPF
      - name: TCA_ID_CTINFO
      - name: TCA_ID_TUNNEL_KEY
        value: TCA_ACT_TUNNEL_KEY
      item_type: enum
      name: tca_id
      pos:
        line_end: 143
        line_start: 118
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    preproc_defs:
    - item_type: preproc_def
      name: TC_COOKIE_MAX_SIZE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TCA_ACT_FLAGS_NO_PERCPU_STATS
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 0) '
    - item_type: preproc_def
      name: TCA_ACT_FLAGS_SKIP_HW
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 1) '
    - item_type: preproc_def
      name: TCA_ACT_FLAGS_SKIP_SW
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 2) '
    - item_type: preproc_def
      name: TCA_ACT_HW_STATS_IMMEDIATE
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 0) '
    - item_type: preproc_def
      name: TCA_ACT_HW_STATS_DELAYED
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 1) '
    - item_type: preproc_def
      name: TCA_ACT_MAX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: __TCA_ACT_MAX
    - item_type: preproc_def
      name: TCA_OLD_COMPAT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (TCA_ACT_MAX+1)
    - item_type: preproc_def
      name: TCA_ACT_MAX_PRIO
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TCA_ACT_BIND
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCA_ACT_NOBIND
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCA_ACT_UNBIND
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCA_ACT_NOUNBIND
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCA_ACT_REPLACE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCA_ACT_NOREPLACE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TC_ACT_UNSPEC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: TC_ACT_OK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TC_ACT_RECLASSIFY
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TC_ACT_SHOT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TC_ACT_PIPE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TC_ACT_STOLEN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TC_ACT_QUEUED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TC_ACT_REPEAT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TC_ACT_REDIRECT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TC_ACT_TRAP
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: TC_ACT_VALUE_MAX
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_TRAP
    - item_type: preproc_def
      name: __TC_ACT_EXT_SHIFT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '28'
    - item_type: preproc_def
      name: TC_ACT_EXT_VAL_MASK
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: ((1 << __TC_ACT_EXT_SHIFT) - 1)
    - item_type: preproc_def
      name: TC_ACT_JUMP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: __TC_ACT_EXT(1)
    - item_type: preproc_def
      name: TC_ACT_GOTO_CHAIN
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: __TC_ACT_EXT(2)
    - item_type: preproc_def
      name: TC_ACT_EXT_OPCODE_MAX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_GOTO_CHAIN
    - item_type: preproc_def
      name: TCA_ACT_GACT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TCA_ACT_IPT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: TCA_ACT_PEDIT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TCA_ACT_MIRRED
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TCA_ACT_NAT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '9'
    - item_type: preproc_def
      name: TCA_ACT_XT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TCA_ACT_SKBEDIT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TCA_ACT_VLAN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TCA_ACT_BPF
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '13'
    - item_type: preproc_def
      name: TCA_ACT_CONNMARK
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '14'
    - item_type: preproc_def
      name: TCA_ACT_SKBMOD
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TCA_ACT_CSUM
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TCA_ACT_TUNNEL_KEY
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '17'
    - item_type: preproc_def
      name: TCA_ACT_SIMP
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '22'
    - item_type: preproc_def
      name: TCA_ACT_IFE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '25'
    - item_type: preproc_def
      name: TCA_ACT_SAMPLE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '26'
    - item_type: preproc_def
      name: TCA_ID_MAX
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: __TCA_ID_MAX
    - item_type: preproc_def
      name: TC_POLICE_UNSPEC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_UNSPEC
    - item_type: preproc_def
      name: TC_POLICE_OK
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_OK
    - item_type: preproc_def
      name: TC_POLICE_RECLASSIFY
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_RECLASSIFY
    - item_type: preproc_def
      name: TC_POLICE_SHOT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_SHOT
    - item_type: preproc_def
      name: TC_POLICE_PIPE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: TC_ACT_PIPE
    - item_type: preproc_def
      name: tc_gen
      pos:
        line_end: 184
        line_start: 178
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: "__u32                 index; \\\n\t__u32                 capab;
        \\\n\tint                   action; \\\n\tint                   refcnt; \\\n\tint
        \                  bindcnt"
    - item_type: preproc_def
      name: TCA_POLICE_MAX
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_POLICE_MAX - 1)
    - item_type: preproc_def
      name: TCA_CLS_FLAGS_SKIP_HW
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 0) '
    - item_type: preproc_def
      name: TCA_CLS_FLAGS_SKIP_SW
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 1) '
    - item_type: preproc_def
      name: TCA_CLS_FLAGS_IN_HW
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 2) '
    - item_type: preproc_def
      name: TCA_CLS_FLAGS_NOT_IN_HW
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 3) '
    - item_type: preproc_def
      name: TCA_CLS_FLAGS_VERBOSE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 4) '
    - item_type: preproc_def
      name: TC_U32_UNSPEC
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TC_U32_ROOT
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (0xFFF00000)
    - item_type: preproc_def
      name: TCA_U32_MAX
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_U32_MAX - 1)
    - item_type: preproc_def
      name: TC_U32_TERMINAL
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TC_U32_OFFSET
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TC_U32_VAROFFSET
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TC_U32_EAT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TC_U32_MAXDEPTH
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TCA_ROUTE4_MAX
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_ROUTE4_MAX - 1)
    - item_type: preproc_def
      name: TCA_FW_MAX
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FW_MAX - 1)
    - item_type: preproc_def
      name: FLOW_KEY_MAX
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__FLOW_KEY_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOW_MAX
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOW_MAX - 1)
    - item_type: preproc_def
      name: TCA_BASIC_MAX
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_BASIC_MAX - 1)
    - item_type: preproc_def
      name: TCA_CGROUP_MAX
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_CGROUP_MAX - 1)
    - item_type: preproc_def
      name: TCA_BPF_FLAG_ACT_DIRECT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: TCA_BPF_MAX
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_BPF_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_MAX
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPTS_MAX
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX
      pos:
        line_end: 615
        line_start: 613
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX
      pos:
        line_end: 624
        line_start: 622
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX
      pos:
        line_end: 636
        line_start: 634
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPT_GTP_MAX
      pos:
        line_end: 647
        line_start: 645
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPT_GTP_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX
      pos:
        line_end: 657
        line_start: 655
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_MPLS_OPTS_MAX
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_MPLS_OPTS_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX
      pos:
        line_end: 678
        line_start: 676
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_FLAGS_MAX
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_FLAGS_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_CFM_OPT_MAX
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_KEY_CFM_MAX
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1)
    - item_type: preproc_def
      name: TCA_FLOWER_MASK_FLAGS_RANGE
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '(1 << 0) '
    - item_type: preproc_def
      name: TCA_MATCHALL_MAX
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_MATCHALL_MAX - 1)
    - item_type: preproc_def
      name: TCA_EMATCH_TREE_MAX
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCA_EMATCH_TREE_MAX - 1)
    - item_type: preproc_def
      name: TCF_EM_REL_END
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCF_EM_REL_AND
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: TCF_EM_REL_OR
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: TCF_EM_INVERT
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: TCF_EM_SIMPLE
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: TCF_EM_REL_MASK
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TCF_LAYER_MAX
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: (__TCF_LAYER_MAX - 1)
    - item_type: preproc_def
      name: TCF_EM_CONTAINER
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCF_EM_CMP
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCF_EM_NBYTE
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TCF_EM_U32
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TCF_EM_META
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TCF_EM_TEXT
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TCF_EM_VLAN
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TCF_EM_CANID
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TCF_EM_IPSET
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TCF_EM_IPT
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '9'
    - item_type: preproc_def
      name: TCF_EM_MAX
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
      type_or_value: '9'
    structs:
    - fields:
      - name: index
        type: __u32
      - name: action
        type: int
      - name: limit
        type: __u32
      - name: burst
        type: __u32
      - name: mtu
        type: __u32
      - name: rate
        type: struct tc_ratespec
      - name: peakrate
        type: struct tc_ratespec
      - name: refcnt
        type: int
      - name: bindcnt
        type: int
      - name: capab
        type: __u32
      item_type: struct
      name: tc_police
      pos:
        line_end: 164
        line_start: 147
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: install
        type: __u64
      - name: lastuse
        type: __u64
      - name: expires
        type: __u64
      - name: firstuse
        type: __u64
      item_type: struct
      name: tcf_t
      pos:
        line_end: 171
        line_start: 166
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: refcnt
        type: int
      - name: bindcnt
        type: int
      item_type: struct
      name: tc_cnt
      pos:
        line_end: 176
        line_start: 173
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: mask
        type: __be32
      - name: val
        type: __be32
      - name: 'off'
        type: int
      - name: offmask
        type: int
      item_type: struct
      name: tc_u32_key
      pos:
        line_end: 245
        line_start: 240
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: offshift
        type: unsigned char
      - name: nkeys
        type: unsigned char
      - name: offmask
        type: __be16
      - name: 'off'
        type: __u16
      - name: offoff
        type: short
      - name: hoff
        type: short
      - name: hmask
        type: __be32
      - name: keys[]
        type: struct tc_u32_key
      item_type: struct
      name: tc_u32_sel
      pos:
        line_end: 262
        line_start: 247
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: val
        type: __u32
      - name: mask
        type: __u32
      - name: success
        type: __u32
      item_type: struct
      name: tc_u32_mark
      pos:
        line_end: 268
        line_start: 264
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: rcnt
        type: __u64
      - name: rhit
        type: __u64
      - name: kcnts[]
        type: __u64
      item_type: struct
      name: tc_u32_pcnt
      pos:
        line_end: 274
        line_start: 270
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: rcnt
        type: __u64
      - name: rhit
        type: __u64
      item_type: struct
      name: tc_basic_pcnt
      pos:
        line_end: 370
        line_start: 367
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: rhit
        type: __u64
      item_type: struct
      name: tc_matchall_pcnt
      pos:
        line_end: 707
        line_start: 705
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: nmatches
        type: __u16
      - name: progid
        type: __u16
      item_type: struct
      name: tcf_ematch_tree_hdr
      pos:
        line_end: 726
        line_start: 723
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    - fields:
      - name: matchid
        type: __u16
      - name: kind
        type: __u16
      - name: flags
        type: __u16
      - name: pad
        type: __u16
      item_type: struct
      name: tcf_ematch_hdr
      pos:
        line_end: 741
        line_start: 736
        source_file: /src/libbpf/include/uapi/linux/pkt_cls.h
    typedefs: []
    union: []
- function_names:
  - TC_H_MAJ
  - TC_H_MIN
  - TC_H_MAKE
  source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
  types:
    enum:
    - enumerators:
      - name: TC_LINKLAYER_UNAWARE
      - name: TC_LINKLAYER_ATM
      - name: TC_LINKLAYER_ETHERNET
      item_type: enum
      name: tc_link_layer
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - enumerators:
      - name: TC_DUALPI2_DROP_OVERLOAD_OVERFLOW
        value: '0'
      - name: __TCA_DUALPI2_DROP_OVERLOAD_MAX
      - name: TC_DUALPI2_DROP_OVERLOAD_DROP
        value: '1'
      item_type: enum
      name: tc_dualpi2_drop_overload
      pos:
        line_end: 1229
        line_start: 1225
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - enumerators:
      - name: TC_DUALPI2_DROP_EARLY_DROP_DEQUEUE
        value: '0'
      - name: __TCA_DUALPI2_DROP_EARLY_MAX
      - name: TC_DUALPI2_DROP_EARLY_DROP_ENQUEUE
        value: '1'
      item_type: enum
      name: tc_dualpi2_drop_early
      pos:
        line_end: 1236
        line_start: 1232
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - enumerators:
      - name: TC_DUALPI2_ECN_MASK_L4S_ECT
        value: '1'
      - name: TC_DUALPI2_ECN_MASK_CLA_ECT
        value: '2'
      - name: __TCA_DUALPI2_ECN_MASK_MAX
      - name: TC_DUALPI2_ECN_MASK_ANY_ECT
        value: '3'
      item_type: enum
      name: tc_dualpi2_ecn_mask
      pos:
        line_end: 1244
        line_start: 1239
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - enumerators:
      - name: TC_DUALPI2_SPLIT_GSO_NO_SPLIT_GSO
        value: '0'
      - name: TC_DUALPI2_SPLIT_GSO_SPLIT_GSO
        value: '1'
      - name: __TCA_DUALPI2_SPLIT_GSO_MAX
      item_type: enum
      name: tc_dualpi2_split_gso
      pos:
        line_end: 1251
        line_start: 1247
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    preproc_defs:
    - item_type: preproc_def
      name: TC_PRIO_BESTEFFORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TC_PRIO_FILLER
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TC_PRIO_BULK
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TC_PRIO_INTERACTIVE_BULK
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TC_PRIO_INTERACTIVE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TC_PRIO_CONTROL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TC_PRIO_MAX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TC_H_MAJ_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (0xFFFF0000U)
    - item_type: preproc_def
      name: TC_H_MIN_MASK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (0x0000FFFFU)
    - item_type: preproc_def
      name: TC_H_UNSPEC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (0U)
    - item_type: preproc_def
      name: TC_H_ROOT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (0xFFFFFFFFU)
    - item_type: preproc_def
      name: TC_H_INGRESS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (0xFFFFFFF1U)
    - item_type: preproc_def
      name: TC_H_CLSACT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: TC_H_INGRESS
    - item_type: preproc_def
      name: TC_H_MIN_PRIORITY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: 0xFFE0U
    - item_type: preproc_def
      name: TC_H_MIN_INGRESS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: 0xFFF2U
    - item_type: preproc_def
      name: TC_H_MIN_EGRESS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: 0xFFF3U
    - item_type: preproc_def
      name: TC_LINKLAYER_MASK
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0x0F '
    - item_type: preproc_def
      name: TC_RTAB_SIZE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: TCA_STAB_MAX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_STAB_MAX - 1)
    - item_type: preproc_def
      name: SKBPRIO_MAX_PRIORITY
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '64'
    - item_type: preproc_def
      name: TCQ_PRIO_BANDS
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TCQ_MIN_PRIO_BANDS
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TCQ_PLUG_BUFFER
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCQ_PLUG_RELEASE_ONE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCQ_PLUG_RELEASE_INDEFINITE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TCQ_PLUG_LIMIT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TCA_TBF_MAX
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_TBF_MAX - 1)
    - item_type: preproc_def
      name: TCA_RED_MAX
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_RED_MAX - 1)
    - item_type: preproc_def
      name: TC_RED_ECN
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TC_RED_HARDDROP
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TC_RED_ADAPTATIVE
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TC_RED_NODROP
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TC_RED_HISTORIC_FLAGS
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (TC_RED_ECN | TC_RED_HARDDROP | TC_RED_ADAPTATIVE)
    - item_type: preproc_def
      name: MAX_DPs
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TCA_GRED_MAX
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_GRED_MAX - 1)
    - item_type: preproc_def
      name: TCA_GRED_VQ_ENTRY_MAX
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_GRED_VQ_ENTRY_MAX - 1)
    - item_type: preproc_def
      name: TCA_GRED_VQ_MAX
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_GRED_VQ_MAX - 1)
    - item_type: preproc_def
      name: TCA_CHOKE_MAX
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CHOKE_MAX - 1)
    - item_type: preproc_def
      name: TC_HTB_NUMPRIO
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TC_HTB_MAXDEPTH
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TC_HTB_PROTOVER
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: TCA_HTB_MAX
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_HTB_MAX - 1)
    - item_type: preproc_def
      name: TCA_HFSC_MAX
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_HFSC_MAX - 1)
    - item_type: preproc_def
      name: TCA_NETEM_MAX
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_NETEM_MAX - 1)
    - item_type: preproc_def
      name: NETEM_LOSS_MAX
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__NETEM_LOSS_MAX - 1)
    - item_type: preproc_def
      name: NETEM_DIST_SCALE
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: NETEM_DIST_MAX
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: TCA_DRR_MAX
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DRR_MAX - 1)
    - item_type: preproc_def
      name: TC_QOPT_BITMASK
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TC_QOPT_MAX_QUEUE
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TC_MQPRIO_HW_OFFLOAD_MAX
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TC_MQPRIO_HW_OFFLOAD_MAX - 1)
    - item_type: preproc_def
      name: __TC_MQPRIO_MODE_MAX
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TC_MQPRIO_MODE_MAX - 1)
    - item_type: preproc_def
      name: __TC_MQPRIO_SHAPER_MAX
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TC_MQPRIO_SHAPER_MAX - 1)
    - item_type: preproc_def
      name: TC_MQPRIO_F_MODE
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: TC_MQPRIO_F_SHAPER
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: TC_MQPRIO_F_MIN_RATE
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: TC_MQPRIO_F_MAX_RATE
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: TCA_MQPRIO_MAX
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_MQPRIO_MAX - 1)
    - item_type: preproc_def
      name: TCA_SFB_MAX
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_SFB_MAX - 1)
    - item_type: preproc_def
      name: SFB_MAX_PROB
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '0xFFFF'
    - item_type: preproc_def
      name: TCA_QFQ_MAX
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_QFQ_MAX - 1)
    - item_type: preproc_def
      name: TCA_CODEL_MAX
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CODEL_MAX - 1)
    - item_type: preproc_def
      name: FQ_CODEL_QUANTUM_MAX
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (1 << 20)
    - item_type: preproc_def
      name: TCA_FQ_CODEL_MAX
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_FQ_CODEL_MAX - 1)
    - item_type: preproc_def
      name: TCA_FQ_MAX
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_FQ_MAX - 1)
    - item_type: preproc_def
      name: FQ_BANDS
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FQ_MIN_WEIGHT
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: TCA_HHF_MAX
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_HHF_MAX - 1)
    - item_type: preproc_def
      name: TCA_PIE_MAX
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_PIE_MAX - 1)
    - item_type: preproc_def
      name: TCA_FQ_PIE_MAX
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_FQ_PIE_MAX - 1)
    - item_type: preproc_def
      name: TCA_CBS_MAX
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CBS_MAX - 1)
    - item_type: preproc_def
      name: TC_ETF_DEADLINE_MODE_ON
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: _BITUL(0)
    - item_type: preproc_def
      name: TC_ETF_OFFLOAD_ON
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: _BITUL(1)
    - item_type: preproc_def
      name: TC_ETF_SKIP_SOCK_CHECK
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: _BITUL(2)
    - item_type: preproc_def
      name: TCA_ETF_MAX
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_ETF_MAX - 1)
    - item_type: preproc_def
      name: TCA_CAKE_MAX
      pos:
        line_end: 1029
        line_start: 1028
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CAKE_MAX - 1)
    - item_type: preproc_def
      name: TCA_CAKE_STATS_MAX
      pos:
        line_end: 1052
        line_start: 1051
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CAKE_STATS_MAX - 1)
    - item_type: preproc_def
      name: TCA_CAKE_TIN_STATS_MAX
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_CAKE_TIN_STATS_MAX - 1)
    - item_type: preproc_def
      name: TC_CAKE_MAX_TINS
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (8)
    - item_type: preproc_def
      name: TCA_TAPRIO_SCHED_ENTRY_MAX
      pos:
        line_end: 1137
        line_start: 1136
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_TAPRIO_SCHED_ENTRY_MAX - 1)
    - item_type: preproc_def
      name: TCA_TAPRIO_SCHED_MAX
      pos:
        line_end: 1152
        line_start: 1151
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_TAPRIO_SCHED_MAX - 1)
    - item_type: preproc_def
      name: TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST
      pos:
        line_end: 1164
        line_start: 1163
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: _BITUL(0)
    - item_type: preproc_def
      name: TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD
      pos:
        line_end: 1165
        line_start: 1164
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: _BITUL(1)
    - item_type: preproc_def
      name: TCA_TAPRIO_ATTR_MAX
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_TAPRIO_ATTR_MAX - 1)
    - item_type: preproc_def
      name: TCQ_ETS_MAX_BANDS
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TCA_ETS_MAX
      pos:
        line_end: 1223
        line_start: 1222
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_ETS_MAX - 1)
    - item_type: preproc_def
      name: TCA_DUALPI2_DROP_OVERLOAD_MAX
      pos:
        line_end: 1231
        line_start: 1230
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DUALPI2_DROP_OVERLOAD_MAX - 1)
    - item_type: preproc_def
      name: TCA_DUALPI2_DROP_EARLY_MAX
      pos:
        line_end: 1238
        line_start: 1237
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DUALPI2_DROP_EARLY_MAX - 1)
    - item_type: preproc_def
      name: TCA_DUALPI2_ECN_MASK_MAX
      pos:
        line_end: 1246
        line_start: 1245
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DUALPI2_ECN_MASK_MAX - 1)
    - item_type: preproc_def
      name: TCA_DUALPI2_SPLIT_GSO_MAX
      pos:
        line_end: 1253
        line_start: 1252
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DUALPI2_SPLIT_GSO_MAX - 1)
    - item_type: preproc_def
      name: TCA_DUALPI2_MAX
      pos:
        line_end: 1276
        line_start: 1275
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
      type_or_value: (__TCA_DUALPI2_MAX - 1)
    structs:
    - fields:
      - name: bytes
        type: __u64
      - name: packets
        type: __u32
      - name: drops
        type: __u32
      - name: overlimits
        type: __u32
      - name: bps
        type: __u32
      - name: pps
        type: __u32
      - name: qlen
        type: __u32
      - name: backlog
        type: __u32
      item_type: struct
      name: tc_stats
      pos:
        line_end: 43
        line_start: 33
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: interval
        type: signed char
      - name: ewma_log
        type: unsigned char
      item_type: struct
      name: tc_estimator
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: cell_log
        type: unsigned char
      - name: linklayer
        type: __u8
      - name: overhead
        type: unsigned short
      - name: cell_align
        type: short
      - name: mpu
        type: unsigned short
      - name: rate
        type: __u32
      item_type: struct
      name: tc_ratespec
      pos:
        line_end: 97
        line_start: 90
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: cell_log
        type: unsigned char
      - name: size_log
        type: unsigned char
      - name: cell_align
        type: short
      - name: overhead
        type: int
      - name: linklayer
        type: unsigned int
      - name: mpu
        type: unsigned int
      - name: mtu
        type: unsigned int
      - name: tsize
        type: unsigned int
      item_type: struct
      name: tc_sizespec
      pos:
        line_end: 110
        line_start: 101
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: limit
        type: __u32
      item_type: struct
      name: tc_fifo_qopt
      pos:
        line_end: 125
        line_start: 123
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: limit
        type: __u32
      item_type: struct
      name: tc_skbprio_qopt
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: bands
        type: int
      - name: priomap[TC_PRIO_MAX+1]
        type: __u8
      item_type: struct
      name: tc_prio_qopt
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: bands
        type: __u16
      - name: max_bands
        type: __u16
      item_type: struct
      name: tc_multiq_qopt
      pos:
        line_end: 157
        line_start: 154
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: action
        type: int
      - name: limit
        type: __u32
      item_type: struct
      name: tc_plug_qopt
      pos:
        line_end: 178
        line_start: 166
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: rate
        type: struct tc_ratespec
      - name: peakrate
        type: struct tc_ratespec
      - name: limit
        type: __u32
      - name: buffer
        type: __u32
      - name: mtu
        type: __u32
      item_type: struct
      name: tc_tbf_qopt
      pos:
        line_end: 188
        line_start: 182
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: quantum
        type: unsigned
      - name: perturb_period
        type: int
      - name: limit
        type: __u32
      - name: divisor
        type: unsigned
      - name: flows
        type: unsigned
      item_type: struct
      name: tc_sfq_qopt
      pos:
        line_end: 218
        line_start: 212
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: prob_drop
        type: __u32
      - name: forced_drop
        type: __u32
      - name: prob_mark
        type: __u32
      - name: forced_mark
        type: __u32
      - name: prob_mark_head
        type: __u32
      - name: forced_mark_head
        type: __u32
      item_type: struct
      name: tc_sfqred_stats
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: v0
        type: struct tc_sfq_qopt
      - name: depth
        type: unsigned int
      - name: headdrop
        type: unsigned int
      - name: limit
        type: __u32
      - name: qth_min
        type: __u32
      - name: qth_max
        type: __u32
      - name: Wlog
        type: unsigned char
      - name: Plog
        type: unsigned char
      - name: Scell_log
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: max_P
        type: __u32
      - name: stats
        type: struct tc_sfqred_stats
      item_type: struct
      name: tc_sfq_qopt_v1
      pos:
        line_end: 244
        line_start: 229
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: allot
        type: __s32
      item_type: struct
      name: tc_sfq_xstats
      pos:
        line_end: 249
        line_start: 247
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: limit
        type: __u32
      - name: qth_min
        type: __u32
      - name: qth_max
        type: __u32
      - name: Wlog
        type: unsigned char
      - name: Plog
        type: unsigned char
      - name: Scell_log
        type: unsigned char
      - name: flags
        type: unsigned char
      item_type: struct
      name: tc_red_qopt
      pos:
        line_end: 291
        line_start: 266
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: early
        type: __u32
      - name: pdrop
        type: __u32
      - name: other
        type: __u32
      - name: marked
        type: __u32
      item_type: struct
      name: tc_red_xstats
      pos:
        line_end: 300
        line_start: 295
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: limit
        type: __u32
      - name: qth_min
        type: __u32
      - name: qth_max
        type: __u32
      - name: DP
        type: __u32
      - name: backlog
        type: __u32
      - name: qave
        type: __u32
      - name: forced
        type: __u32
      - name: early
        type: __u32
      - name: other
        type: __u32
      - name: pdrop
        type: __u32
      - name: Wlog
        type: __u8
      - name: Plog
        type: __u8
      - name: Scell_log
        type: __u8
      - name: prio
        type: __u8
      - name: packets
        type: __u32
      - name: bytesin
        type: __u32
      item_type: struct
      name: tc_gred_qopt
      pos:
        line_end: 362
        line_start: 345
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: DPs
        type: __u32
      - name: def_DP
        type: __u32
      - name: grio
        type: __u8
      - name: flags
        type: __u8
      - name: pad1
        type: __u16
      item_type: struct
      name: tc_gred_sopt
      pos:
        line_end: 371
        line_start: 365
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: limit
        type: __u32
      - name: qth_min
        type: __u32
      - name: qth_max
        type: __u32
      - name: Wlog
        type: unsigned char
      - name: Plog
        type: unsigned char
      - name: Scell_log
        type: unsigned char
      - name: flags
        type: unsigned char
      item_type: struct
      name: tc_choke_qopt
      pos:
        line_end: 393
        line_start: 385
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: early
        type: __u32
      - name: pdrop
        type: __u32
      - name: other
        type: __u32
      - name: marked
        type: __u32
      - name: matched
        type: __u32
      item_type: struct
      name: tc_choke_xstats
      pos:
        line_end: 401
        line_start: 395
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: rate
        type: struct tc_ratespec
      - name: ceil
        type: struct tc_ratespec
      - name: buffer
        type: __u32
      - name: cbuffer
        type: __u32
      - name: quantum
        type: __u32
      - name: level
        type: __u32
      - name: prio
        type: __u32
      item_type: struct
      name: tc_htb_opt
      pos:
        line_end: 416
        line_start: 408
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: version
        type: __u32
      - name: rate2quantum
        type: __u32
      - name: defcls
        type: __u32
      - name: debug
        type: __u32
      - name: direct_pkts
        type: __u32
      item_type: struct
      name: tc_htb_glob
      pos:
        line_end: 425
        line_start: 417
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: lends
        type: __u32
      - name: borrows
        type: __u32
      - name: giants
        type: __u32
      - name: tokens
        type: __s32
      - name: ctokens
        type: __s32
      item_type: struct
      name: tc_htb_xstats
      pos:
        line_end: 448
        line_start: 442
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: defcls
        type: __u16
      item_type: struct
      name: tc_hfsc_qopt
      pos:
        line_end: 454
        line_start: 452
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: m1
        type: __u32
      - name: d
        type: __u32
      - name: m2
        type: __u32
      item_type: struct
      name: tc_service_curve
      pos:
        line_end: 460
        line_start: 456
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: work
        type: __u64
      - name: rtwork
        type: __u64
      - name: period
        type: __u32
      - name: level
        type: __u32
      item_type: struct
      name: tc_hfsc_stats
      pos:
        line_end: 467
        line_start: 462
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: latency
        type: __u32
      - name: limit
        type: __u32
      - name: loss
        type: __u32
      - name: gap
        type: __u32
      - name: duplicate
        type: __u32
      - name: jitter
        type: __u32
      item_type: struct
      name: tc_netem_qopt
      pos:
        line_end: 509
        line_start: 502
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: delay_corr
        type: __u32
      - name: loss_corr
        type: __u32
      - name: dup_corr
        type: __u32
      item_type: struct
      name: tc_netem_corr
      pos:
        line_end: 515
        line_start: 511
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: probability
        type: __u32
      - name: correlation
        type: __u32
      item_type: struct
      name: tc_netem_reorder
      pos:
        line_end: 520
        line_start: 517
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: probability
        type: __u32
      - name: correlation
        type: __u32
      item_type: struct
      name: tc_netem_corrupt
      pos:
        line_end: 525
        line_start: 522
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: rate
        type: __u32
      - name: packet_overhead
        type: __s32
      - name: cell_size
        type: __u32
      - name: cell_overhead
        type: __s32
      item_type: struct
      name: tc_netem_rate
      pos:
        line_end: 532
        line_start: 527
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: min_delay
        type: __s64
      - name: max_delay
        type: __s64
      - name: max_packets
        type: __s32
      - name: max_bytes
        type: __s32
      - name: dist_delay
        type: __s64
      - name: dist_jitter
        type: __s64
      item_type: struct
      name: tc_netem_slot
      pos:
        line_end: 541
        line_start: 534
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: p13
        type: __u32
      - name: p31
        type: __u32
      - name: p32
        type: __u32
      - name: p14
        type: __u32
      - name: p23
        type: __u32
      item_type: struct
      name: tc_netem_gimodel
      pos:
        line_end: 558
        line_start: 552
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: p
        type: __u32
      - name: r
        type: __u32
      - name: h
        type: __u32
      - name: k1
        type: __u32
      item_type: struct
      name: tc_netem_gemodel
      pos:
        line_end: 566
        line_start: 561
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: delayed
        type: __u64
      - name: dropped
        type: __u64
      - name: corrupted
        type: __u64
      - name: duplicated
        type: __u64
      - name: reordered
        type: __u64
      - name: ecn_marked
        type: __u64
      - name: allocation_errors
        type: __u64
      item_type: struct
      name: tc_netem_xstats
      pos:
        line_end: 579
        line_start: 571
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: deficit
        type: __u32
      item_type: struct
      name: tc_drr_stats
      pos:
        line_end: 593
        line_start: 591
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: num_tc
        type: __u8
      - name: prio_tc_map[TC_QOPT_BITMASK + 1]
        type: __u8
      - name: hw
        type: __u8
      - name: count[TC_QOPT_MAX_QUEUE]
        type: __u16
      - name: offset[TC_QOPT_MAX_QUEUE]
        type: __u16
      item_type: struct
      name: tc_mqprio_qopt
      pos:
        line_end: 634
        line_start: 628
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: rehash_interval
        type: __u32
      - name: warmup_time
        type: __u32
      - name: max
        type: __u32
      - name: bin_size
        type: __u32
      - name: increment
        type: __u32
      - name: decrement
        type: __u32
      - name: limit
        type: __u32
      - name: penalty_rate
        type: __u32
      - name: penalty_burst
        type: __u32
      item_type: struct
      name: tc_sfb_qopt
      pos:
        line_end: 686
        line_start: 676
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: earlydrop
        type: __u32
      - name: penaltydrop
        type: __u32
      - name: bucketdrop
        type: __u32
      - name: queuedrop
        type: __u32
      - name: childdrop
        type: __u32
      - name: marked
        type: __u32
      - name: maxqlen
        type: __u32
      - name: maxprob
        type: __u32
      - name: avgprob
        type: __u32
      item_type: struct
      name: tc_sfb_xstats
      pos:
        line_end: 698
        line_start: 688
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: weight
        type: __u32
      - name: lmax
        type: __u32
      item_type: struct
      name: tc_qfq_stats
      pos:
        line_end: 715
        line_start: 712
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: maxpacket
        type: __u32
      - name: count
        type: __u32
      - name: lastcount
        type: __u32
      - name: ldelay
        type: __u32
      - name: drop_next
        type: __s32
      - name: drop_overlimit
        type: __u32
      - name: ecn_mark
        type: __u32
      - name: dropping
        type: __u32
      - name: ce_mark
        type: __u32
      item_type: struct
      name: tc_codel_xstats
      pos:
        line_end: 743
        line_start: 731
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: maxpacket
        type: __u32
      - name: drop_overlimit
        type: __u32
      - name: ecn_mark
        type: __u32
      - name: new_flow_count
        type: __u32
      - name: new_flows_len
        type: __u32
      - name: old_flows_len
        type: __u32
      - name: ce_mark
        type: __u32
      - name: memory_usage
        type: __u32
      - name: drop_overmemory
        type: __u32
      item_type: struct
      name: tc_fq_codel_qd_stats
      pos:
        line_end: 788
        line_start: 772
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: deficit
        type: __s32
      - name: ldelay
        type: __u32
      - name: count
        type: __u32
      - name: lastcount
        type: __u32
      - name: dropping
        type: __u32
      - name: drop_next
        type: __s32
      item_type: struct
      name: tc_fq_codel_cl_stats
      pos:
        line_end: 799
        line_start: 790
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: type
        type: __u32
      item_type: struct
      name: tc_fq_codel_xstats
      pos:
        line_end: 807
        line_start: 801
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: gc_flows
        type: __u64
      - name: highprio_packets
        type: __u64
      - name: tcp_retrans
        type: __u64
      - name: throttled
        type: __u64
      - name: flows_plimit
        type: __u64
      - name: pkts_too_long
        type: __u64
      - name: allocation_errors
        type: __u64
      - name: time_next_delayed_flow
        type: __s64
      - name: flows
        type: __u32
      - name: inactive_flows
        type: __u32
      - name: throttled_flows
        type: __u32
      - name: unthrottle_latency_ns
        type: __u32
      - name: ce_mark
        type: __u64
      - name: horizon_drops
        type: __u64
      - name: horizon_caps
        type: __u64
      - name: fastpath_packets
        type: __u64
      - name: band_drops[FQ_BANDS]
        type: __u64
      - name: band_pkt_count[FQ_BANDS]
        type: __u32
      - name: pad
        type: __u32
      item_type: struct
      name: tc_fq_qd_stats
      pos:
        line_end: 878
        line_start: 858
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: drop_overlimit
        type: __u32
      - name: hh_overlimit
        type: __u32
      - name: hh_tot_count
        type: __u32
      - name: hh_cur_count
        type: __u32
      item_type: struct
      name: tc_hhf_xstats
      pos:
        line_end: 903
        line_start: 896
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: prob
        type: __u64
      - name: delay
        type: __u32
      - name: avg_dq_rate
        type: __u32
      - name: dq_rate_estimating
        type: __u32
      - name: packets_in
        type: __u32
      - name: dropped
        type: __u32
      - name: overlimit
        type: __u32
      - name: maxq
        type: __u32
      - name: ecn_mark
        type: __u32
      item_type: struct
      name: tc_pie_xstats
      pos:
        line_end: 934
        line_start: 920
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: packets_in
        type: __u32
      - name: dropped
        type: __u32
      - name: overlimit
        type: __u32
      - name: overmemory
        type: __u32
      - name: ecn_mark
        type: __u32
      - name: new_flow_count
        type: __u32
      - name: new_flows_len
        type: __u32
      - name: old_flows_len
        type: __u32
      - name: memory_usage
        type: __u32
      item_type: struct
      name: tc_fq_pie_xstats
      pos:
        line_end: 965
        line_start: 955
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: offload
        type: __u8
      - name: _pad[3]
        type: __u8
      - name: hicredit
        type: __s32
      - name: locredit
        type: __s32
      - name: idleslope
        type: __s32
      - name: sendslope
        type: __s32
      item_type: struct
      name: tc_cbs_qopt
      pos:
        line_end: 975
        line_start: 968
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: delta
        type: __s32
      - name: clockid
        type: __s32
      - name: flags
        type: __u32
      item_type: struct
      name: tc_etf_qopt
      pos:
        line_end: 994
        line_start: 987
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    - fields:
      - name: prob
        type: __u32
      - name: delay_c
        type: __u32
      - name: delay_l
        type: __u32
      - name: packets_in_c
        type: __u32
      - name: packets_in_l
        type: __u32
      - name: maxq
        type: __u32
      - name: ecn_mark
        type: __u32
      - name: step_marks
        type: __u32
      - name: credit
        type: __s32
      - name: memory_used
        type: __u32
      - name: max_memory_used
        type: __u32
      - name: memory_limit
        type: __u32
      item_type: struct
      name: tc_dualpi2_xstats
      pos:
        line_end: 1290
        line_start: 1277
        source_file: /src/libbpf/include/uapi/linux/pkt_sched.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libbpf/include/uapi/linux/if_xdp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XDP_SHARED_UMEM
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_COPY
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '(1 << 1) '
    - item_type: preproc_def
      name: XDP_ZEROCOPY
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '(1 << 2) '
    - item_type: preproc_def
      name: XDP_USE_NEED_WAKEUP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: XDP_USE_SG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: XDP_UMEM_UNALIGNED_CHUNK_FLAG
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_UMEM_TX_SW_CSUM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: XDP_UMEM_TX_METADATA_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: XDP_RING_NEED_WAKEUP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_MMAP_OFFSETS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XDP_RX_RING
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: XDP_TX_RING
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XDP_UMEM_REG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '4'
    - item_type: preproc_def
      name: XDP_UMEM_FILL_RING
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '5'
    - item_type: preproc_def
      name: XDP_UMEM_COMPLETION_RING
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '6'
    - item_type: preproc_def
      name: XDP_STATISTICS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '7'
    - item_type: preproc_def
      name: XDP_OPTIONS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XDP_MAX_TX_SKB_BUDGET
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '9'
    - item_type: preproc_def
      name: XDP_OPTIONS_ZEROCOPY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_PGOFF_RX_RING
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XDP_PGOFF_TX_RING
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: XDP_UMEM_PGOFF_FILL_RING
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: 0x100000000ULL
    - item_type: preproc_def
      name: XDP_UMEM_PGOFF_COMPLETION_RING
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: 0x180000000ULL
    - item_type: preproc_def
      name: XSK_UNALIGNED_BUF_OFFSET_SHIFT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: '48'
    - item_type: preproc_def
      name: XSK_UNALIGNED_BUF_ADDR_MASK
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: ((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1)
    - item_type: preproc_def
      name: XDP_TXMD_FLAGS_TIMESTAMP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_TXMD_FLAGS_CHECKSUM
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: XDP_TXMD_FLAGS_LAUNCH_TIME
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: XDP_PKT_CONTD
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: XDP_TX_METADATA
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: sxdp_family
        type: __u16
      - name: sxdp_flags
        type: __u16
      - name: sxdp_ifindex
        type: __u32
      - name: sxdp_queue_id
        type: __u32
      - name: sxdp_shared_umem_fd
        type: __u32
      item_type: struct
      name: sockaddr_xdp
      pos:
        line_end: 53
        line_start: 47
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: producer
        type: __u64
      - name: consumer
        type: __u64
      - name: desc
        type: __u64
      - name: flags
        type: __u64
      item_type: struct
      name: xdp_ring_offset
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: rx
        type: struct xdp_ring_offset
      - name: tx
        type: struct xdp_ring_offset
      - name: fr
        type: struct xdp_ring_offset
      - name: cr
        type: struct xdp_ring_offset
      item_type: struct
      name: xdp_mmap_offsets
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: addr
        type: __u64
      - name: len
        type: __u64
      - name: chunk_size
        type: __u32
      - name: headroom
        type: __u32
      - name: flags
        type: __u32
      - name: tx_metadata_len
        type: __u32
      item_type: struct
      name: xdp_umem_reg
      pos:
        line_end: 90
        line_start: 83
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: rx_dropped
        type: __u64
      - name: rx_invalid_descs
        type: __u64
      - name: tx_invalid_descs
        type: __u64
      - name: rx_ring_full
        type: __u64
      - name: rx_fill_ring_empty_descs
        type: __u64
      - name: tx_ring_empty_descs
        type: __u64
      item_type: struct
      name: xdp_statistics
      pos:
        line_end: 99
        line_start: 92
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: flags
        type: __u32
      item_type: struct
      name: xdp_options
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: flags
        type: __u64
      item_type: struct
      name: xsk_tx_metadata
      pos:
        line_end: 162
        line_start: 140
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    - fields:
      - name: addr
        type: __u64
      - name: len
        type: __u32
      - name: options
        type: __u32
      item_type: struct
      name: xdp_desc
      pos:
        line_end: 169
        line_start: 165
        source_file: /src/libbpf/include/uapi/linux/if_xdp.h
    typedefs: []
    union: []
- function_names:
  - IFLA_RTA
  - IFLA_PAYLOAD
  - IFLA_STATS_FILTER_BIT
  source_file: /src/libbpf/include/uapi/linux/if_link.h
  types:
    enum:
    - enumerators:
      - name: IN6_ADDR_GEN_MODE_EUI64
      - name: IN6_ADDR_GEN_MODE_NONE
      - name: IN6_ADDR_GEN_MODE_STABLE_PRIVACY
      - name: IN6_ADDR_GEN_MODE_RANDOM
      item_type: enum
      name: in6_addr_gen_mode
      pos:
        line_end: 463
        line_start: 458
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: BR_STP_MODE_AUTO
      - name: BR_STP_MODE_KERNEL
      - name: BR_STP_MODE_USER
      - name: __BR_STP_MODE_MAX
      item_type: enum
      name: br_stp_mode
      pos:
        line_end: 838
        line_start: 833
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: MACVLAN_MODE_PRIVATE
        value: '1'
      - name: MACVLAN_MODE_BRIDGE
        value: '4'
      - name: MACVLAN_MODE_VEPA
        value: '2'
      - name: MACVLAN_MODE_SOURCE
        value: '16'
      - name: MACVLAN_MODE_PASSTHRU
        value: '8'
      item_type: enum
      name: macvlan_mode
      pos:
        line_end: 1234
        line_start: 1228
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: MACVLAN_MACADDR_ADD
      - name: MACVLAN_MACADDR_SET
      - name: MACVLAN_MACADDR_DEL
      - name: MACVLAN_MACADDR_FLUSH
      item_type: enum
      name: macvlan_macaddr_mode
      pos:
        line_end: 1241
        line_start: 1236
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: MACSEC_VALIDATE_DISABLED
        value: '0'
      - name: MACSEC_VALIDATE_CHECK
        value: '1'
      - name: MACSEC_VALIDATE_STRICT
        value: '2'
      - name: __MACSEC_VALIDATE_END
      - name: MACSEC_VALIDATE_MAX
        value: __MACSEC_VALIDATE_END - 1
      item_type: enum
      name: macsec_validation_type
      pos:
        line_end: 1303
        line_start: 1297
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: MACSEC_OFFLOAD_OFF
        value: '0'
      - name: MACSEC_OFFLOAD_MAC
        value: '2'
      - name: __MACSEC_OFFLOAD_END
      - name: MACSEC_OFFLOAD_PHY
        value: '1'
      - name: MACSEC_OFFLOAD_MAX
        value: __MACSEC_OFFLOAD_END - 1
      item_type: enum
      name: macsec_offload
      pos:
        line_end: 1311
        line_start: 1305
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: IPVLAN_MODE_L2
        value: '0'
      - name: IPVLAN_MODE_L3
      - name: IPVLAN_MODE_L3S
      - name: IPVLAN_MODE_MAX
      item_type: enum
      name: ipvlan_mode
      pos:
        line_end: 1328
        line_start: 1323
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: NETKIT_NEXT
        value: '-1'
      - name: NETKIT_REDIRECT
        value: '7'
      - name: NETKIT_DROP
        value: '2'
      - name: NETKIT_PASS
        value: '0'
      item_type: enum
      name: netkit_action
      pos:
        line_end: 1347
        line_start: 1342
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: NETKIT_L2
      - name: NETKIT_L3
      item_type: enum
      name: netkit_mode
      pos:
        line_end: 1352
        line_start: 1349
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: NETKIT_DEVICE_PAIR
      - name: NETKIT_DEVICE_SINGLE
      item_type: enum
      name: netkit_pairing
      pos:
        line_end: 1357
        line_start: 1354
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: NETKIT_SCRUB_NONE
      - name: NETKIT_SCRUB_DEFAULT
      item_type: enum
      name: netkit_scrub
      pos:
        line_end: 1370
        line_start: 1367
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: VXLAN_DF_UNSET
        value: '0'
      - name: __VXLAN_DF_END
      - name: VXLAN_DF_INHERIT
      - name: VXLAN_DF_MAX
        value: __VXLAN_DF_END - 1
      - name: VXLAN_DF_SET
      item_type: enum
      name: ifla_vxlan_df
      pos:
        line_end: 1480
        line_start: 1474
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: VXLAN_LABEL_FIXED
        value: '0'
      - name: VXLAN_LABEL_MAX
        value: __VXLAN_LABEL_END - 1
      - name: VXLAN_LABEL_INHERIT
        value: '1'
      - name: __VXLAN_LABEL_END
      item_type: enum
      name: ifla_vxlan_label_policy
      pos:
        line_end: 1487
        line_start: 1482
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: GENEVE_DF_UNSET
        value: '0'
      - name: GENEVE_DF_SET
      - name: GENEVE_DF_INHERIT
      - name: __GENEVE_DF_END
      - name: GENEVE_DF_MAX
        value: __GENEVE_DF_END - 1
      item_type: enum
      name: ifla_geneve_df
      pos:
        line_end: 1520
        line_start: 1514
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: GTP_ROLE_GGSN
        value: '0'
      - name: GTP_ROLE_SGSN
      item_type: enum
      name: ifla_gtp_role
      pos:
        line_end: 1552
        line_start: 1549
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - enumerators:
      - name: OVPN_MODE_P2P
      - name: OVPN_MODE_MP
      item_type: enum
      name: ovpn_mode
      pos:
        line_end: 2066
        line_start: 2063
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    preproc_defs:
    - item_type: preproc_def
      name: IFLA_MAX
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_MAX - 1)
    - item_type: preproc_def
      name: IFLA_INET_MAX
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_INET_MAX - 1)
    - item_type: preproc_def
      name: IFLA_INET6_MAX
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_INET6_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BR_MAX
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BR_MAX - 1)
    - item_type: preproc_def
      name: BR_STP_MODE_MAX
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__BR_STP_MODE_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BRPORT_MAX
      pos:
        line_end: 1159
        line_start: 1158
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BRPORT_MAX - 1)
    - item_type: preproc_def
      name: IFLA_INFO_MAX
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_INFO_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VLAN_MAX
      pos:
        line_end: 1192
        line_start: 1191
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VLAN_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VLAN_QOS_MAX
      pos:
        line_end: 1205
        line_start: 1204
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VLAN_QOS_MAX - 1)
    - item_type: preproc_def
      name: IFLA_MACVLAN_MAX
      pos:
        line_end: 1227
        line_start: 1226
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_MACVLAN_MAX - 1)
    - item_type: preproc_def
      name: MACVLAN_FLAG_NOPROMISC
      pos:
        line_end: 1244
        line_start: 1243
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MACVLAN_FLAG_NODST
      pos:
        line_end: 1245
        line_start: 1244
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: IFLA_VRF_MAX
      pos:
        line_end: 1254
        line_start: 1253
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VRF_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VRF_PORT_MAX
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VRF_PORT_MAX - 1)
    - item_type: preproc_def
      name: IFLA_MACSEC_MAX
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_MACSEC_MAX - 1)
    - item_type: preproc_def
      name: IFLA_XFRM_MAX
      pos:
        line_end: 1296
        line_start: 1295
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_XFRM_MAX - 1)
    - item_type: preproc_def
      name: IFLA_IPVLAN_MAX
      pos:
        line_end: 1322
        line_start: 1321
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_IPVLAN_MAX - 1)
    - item_type: preproc_def
      name: IPVLAN_F_PRIVATE
      pos:
        line_end: 1331
        line_start: 1330
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IPVLAN_F_VEPA
      pos:
        line_end: 1332
        line_start: 1331
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: IFLA_NETKIT_MAX
      pos:
        line_end: 1387
        line_start: 1386
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_NETKIT_MAX - 1)
    - item_type: preproc_def
      name: TUNNEL_MSG_FLAG_STATS
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: TUNNEL_MSG_VALID_USER_FLAGS
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: TUNNEL_MSG_FLAG_STATS
    - item_type: preproc_def
      name: VNIFILTER_ENTRY_STATS_MAX
      pos:
        line_end: 1410
        line_start: 1409
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__VNIFILTER_ENTRY_STATS_MAX - 1)
    - item_type: preproc_def
      name: VXLAN_VNIFILTER_ENTRY_MAX
      pos:
        line_end: 1421
        line_start: 1420
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__VXLAN_VNIFILTER_ENTRY_MAX - 1)
    - item_type: preproc_def
      name: VXLAN_VNIFILTER_MAX
      pos:
        line_end: 1428
        line_start: 1427
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__VXLAN_VNIFILTER_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VXLAN_MAX
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VXLAN_MAX - 1)
    - item_type: preproc_def
      name: IFLA_GENEVE_MAX
      pos:
        line_end: 1513
        line_start: 1512
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_GENEVE_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BAREUDP_MAX
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BAREUDP_MAX - 1)
    - item_type: preproc_def
      name: IFLA_PPP_MAX
      pos:
        line_end: 1546
        line_start: 1545
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_PPP_MAX - 1)
    - item_type: preproc_def
      name: IFLA_GTP_MAX
      pos:
        line_end: 1567
        line_start: 1566
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_GTP_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BOND_MAX
      pos:
        line_end: 1610
        line_start: 1609
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BOND_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BOND_AD_INFO_MAX
      pos:
        line_end: 1622
        line_start: 1621
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BOND_AD_INFO_MAX - 1)
    - item_type: preproc_def
      name: IFLA_BOND_SLAVE_MAX
      pos:
        line_end: 1641
        line_start: 1640
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_BOND_SLAVE_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VF_INFO_MAX
      pos:
        line_end: 1651
        line_start: 1650
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VF_INFO_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VF_MAX
      pos:
        line_end: 1673
        line_start: 1672
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VF_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VF_VLAN_INFO_MAX
      pos:
        line_end: 1696
        line_start: 1695
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VF_VLAN_INFO_MAX - 1)
    - item_type: preproc_def
      name: MAX_VLAN_LIST_LEN
      pos:
        line_end: 1697
        line_start: 1696
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IFLA_VF_STATS_MAX
      pos:
        line_end: 1757
        line_start: 1756
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VF_STATS_MAX - 1)
    - item_type: preproc_def
      name: IFLA_VF_PORT_MAX
      pos:
        line_end: 1785
        line_start: 1784
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_VF_PORT_MAX - 1)
    - item_type: preproc_def
      name: IFLA_PORT_MAX
      pos:
        line_end: 1799
        line_start: 1798
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_PORT_MAX - 1)
    - item_type: preproc_def
      name: PORT_PROFILE_MAX
      pos:
        line_end: 1801
        line_start: 1800
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '40'
    - item_type: preproc_def
      name: PORT_UUID_MAX
      pos:
        line_end: 1802
        line_start: 1801
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PORT_SELF_VF
      pos:
        line_end: 1803
        line_start: 1802
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: IFLA_IPOIB_MAX
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_IPOIB_MAX - 1)
    - item_type: preproc_def
      name: IFLA_HSR_MAX
      pos:
        line_end: 1879
        line_start: 1878
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_HSR_MAX - 1)
    - item_type: preproc_def
      name: IFLA_STATS_MAX
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_STATS_MAX - 1)
    - item_type: preproc_def
      name: IFLA_STATS_GETSET_MAX
      pos:
        line_end: 1917
        line_start: 1916
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_STATS_GETSET_MAX - 1)
    - item_type: preproc_def
      name: LINK_XSTATS_TYPE_MAX
      pos:
        line_end: 1930
        line_start: 1929
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__LINK_XSTATS_TYPE_MAX - 1)
    - item_type: preproc_def
      name: IFLA_OFFLOAD_XSTATS_MAX
      pos:
        line_end: 1940
        line_start: 1939
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_OFFLOAD_XSTATS_MAX - 1)
    - item_type: preproc_def
      name: IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX
      pos:
        line_end: 1949
        line_start: 1947
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX - 1)
    - item_type: preproc_def
      name: XDP_FLAGS_UPDATE_IF_NOEXIST
      pos:
        line_end: 1953
        line_start: 1952
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: XDP_FLAGS_SKB_MODE
      pos:
        line_end: 1954
        line_start: 1953
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: XDP_FLAGS_DRV_MODE
      pos:
        line_end: 1955
        line_start: 1954
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: XDP_FLAGS_HW_MODE
      pos:
        line_end: 1956
        line_start: 1955
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: XDP_FLAGS_REPLACE
      pos:
        line_end: 1957
        line_start: 1956
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: XDP_FLAGS_MODES
      pos:
        line_end: 1960
        line_start: 1957
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: "(XDP_FLAGS_SKB_MODE | \\\n\t\t\t\t\t XDP_FLAGS_DRV_MODE | \\\n\t\t\t\t\t
        XDP_FLAGS_HW_MODE)"
    - item_type: preproc_def
      name: XDP_FLAGS_MASK
      pos:
        line_end: 1962
        line_start: 1960
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: "(XDP_FLAGS_UPDATE_IF_NOEXIST | \\\n\t\t\t\t\t XDP_FLAGS_MODES
        | XDP_FLAGS_REPLACE)"
    - item_type: preproc_def
      name: IFLA_XDP_MAX
      pos:
        line_end: 1986
        line_start: 1985
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_XDP_MAX - 1)
    - item_type: preproc_def
      name: IFLA_TUN_MAX
      pos:
        line_end: 2014
        line_start: 2013
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_TUN_MAX - 1)
    - item_type: preproc_def
      name: RMNET_FLAGS_INGRESS_DEAGGREGATION
      pos:
        line_end: 2018
        line_start: 2017
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: RMNET_FLAGS_INGRESS_MAP_COMMANDS
      pos:
        line_end: 2019
        line_start: 2018
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: RMNET_FLAGS_INGRESS_MAP_CKSUMV4
      pos:
        line_end: 2020
        line_start: 2019
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: RMNET_FLAGS_EGRESS_MAP_CKSUMV4
      pos:
        line_end: 2021
        line_start: 2020
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: RMNET_FLAGS_INGRESS_MAP_CKSUMV5
      pos:
        line_end: 2022
        line_start: 2021
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: RMNET_FLAGS_EGRESS_MAP_CKSUMV5
      pos:
        line_end: 2023
        line_start: 2022
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (1U << 5)
    - item_type: preproc_def
      name: IFLA_RMNET_MAX
      pos:
        line_end: 2032
        line_start: 2031
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_RMNET_MAX - 1)
    - item_type: preproc_def
      name: IFLA_MCTP_MAX
      pos:
        line_end: 2048
        line_start: 2047
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_MCTP_MAX - 1)
    - item_type: preproc_def
      name: IFLA_DSA_MAX
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_DSA_MAX - 1)
    - item_type: preproc_def
      name: IFLA_OVPN_MAX
      pos:
        line_end: 2075
        line_start: 2074
        source_file: /src/libbpf/include/uapi/linux/if_link.h
      type_or_value: (__IFLA_OVPN_MAX - 1)
    structs:
    - fields:
      - name: rx_packets
        type: __u32
      - name: tx_packets
        type: __u32
      - name: rx_bytes
        type: __u32
      - name: tx_bytes
        type: __u32
      - name: rx_errors
        type: __u32
      - name: tx_errors
        type: __u32
      - name: rx_dropped
        type: __u32
      - name: tx_dropped
        type: __u32
      - name: multicast
        type: __u32
      - name: collisions
        type: __u32
      - name: rx_length_errors
        type: __u32
      - name: rx_over_errors
        type: __u32
      - name: rx_crc_errors
        type: __u32
      - name: rx_frame_errors
        type: __u32
      - name: rx_fifo_errors
        type: __u32
      - name: rx_missed_errors
        type: __u32
      - name: tx_aborted_errors
        type: __u32
      - name: tx_carrier_errors
        type: __u32
      - name: tx_fifo_errors
        type: __u32
      - name: tx_heartbeat_errors
        type: __u32
      - name: tx_window_errors
        type: __u32
      - name: rx_compressed
        type: __u32
      - name: tx_compressed
        type: __u32
      - name: rx_nohandler
        type: __u32
      item_type: struct
      name: rtnl_link_stats
      pos:
        line_end: 39
        line_start: 8
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: rx_packets
        type: __u64
      - name: tx_packets
        type: __u64
      - name: rx_bytes
        type: __u64
      - name: tx_bytes
        type: __u64
      - name: rx_errors
        type: __u64
      - name: tx_errors
        type: __u64
      - name: rx_dropped
        type: __u64
      - name: tx_dropped
        type: __u64
      - name: multicast
        type: __u64
      - name: collisions
        type: __u64
      - name: rx_length_errors
        type: __u64
      - name: rx_over_errors
        type: __u64
      - name: rx_crc_errors
        type: __u64
      - name: rx_frame_errors
        type: __u64
      - name: rx_fifo_errors
        type: __u64
      - name: rx_missed_errors
        type: __u64
      - name: tx_aborted_errors
        type: __u64
      - name: tx_carrier_errors
        type: __u64
      - name: tx_fifo_errors
        type: __u64
      - name: tx_heartbeat_errors
        type: __u64
      - name: tx_window_errors
        type: __u64
      - name: rx_compressed
        type: __u64
      - name: tx_compressed
        type: __u64
      - name: rx_nohandler
        type: __u64
      - name: rx_otherhost_dropped
        type: __u64
      item_type: struct
      name: rtnl_link_stats64
      pos:
        line_end: 250
        line_start: 217
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: rx_packets
        type: __u64
      - name: tx_packets
        type: __u64
      - name: rx_bytes
        type: __u64
      - name: tx_bytes
        type: __u64
      - name: rx_errors
        type: __u64
      - name: tx_errors
        type: __u64
      - name: rx_dropped
        type: __u64
      - name: tx_dropped
        type: __u64
      - name: multicast
        type: __u64
      item_type: struct
      name: rtnl_hw_stats64
      pos:
        line_end: 265
        line_start: 255
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: mem_start
        type: __u64
      - name: mem_end
        type: __u64
      - name: base_addr
        type: __u64
      - name: irq
        type: __u16
      - name: dma
        type: __u8
      - name: port
        type: __u8
      item_type: struct
      name: rtnl_link_ifmap
      pos:
        line_end: 275
        line_start: 268
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: prio[2]
        type: __u8
      - name: addr[6]
        type: __u8
      item_type: struct
      name: ifla_bridge_id
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: max_reasm_len
        type: __u32
      - name: tstamp
        type: __u32
      - name: reachable_time
        type: __u32
      - name: retrans_time
        type: __u32
      item_type: struct
      name: ifla_cacheinfo
      pos:
        line_end: 1165
        line_start: 1160
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: flags
        type: __u32
      - name: mask
        type: __u32
      item_type: struct
      name: ifla_vlan_flags
      pos:
        line_end: 1196
        line_start: 1193
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: from
        type: __u32
      - name: to
        type: __u32
      item_type: struct
      name: ifla_vlan_qos_mapping
      pos:
        line_end: 1209
        line_start: 1206
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: family
        type: __u8
      - name: flags
        type: __u8
      - name: reserved2
        type: __u16
      - name: ifindex
        type: __u32
      item_type: struct
      name: tunnel_msg
      pos:
        line_end: 1339
        line_start: 1334
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: low
        type: __be16
      - name: high
        type: __be16
      item_type: struct
      name: ifla_vxlan_port_range
      pos:
        line_end: 1472
        line_start: 1469
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: low
        type: __be16
      - name: high
        type: __be16
      item_type: struct
      name: ifla_geneve_port_range
      pos:
        line_end: 1525
        line_start: 1522
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: mac[32]
        type: __u8
      item_type: struct
      name: ifla_vf_mac
      pos:
        line_end: 1677
        line_start: 1674
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: broadcast[32]
        type: __u8
      item_type: struct
      name: ifla_vf_broadcast
      pos:
        line_end: 1681
        line_start: 1679
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: vlan
        type: __u32
      - name: qos
        type: __u32
      item_type: struct
      name: ifla_vf_vlan
      pos:
        line_end: 1687
        line_start: 1683
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: vlan
        type: __u32
      - name: qos
        type: __u32
      - name: vlan_proto
        type: __be16
      item_type: struct
      name: ifla_vf_vlan_info
      pos:
        line_end: 1703
        line_start: 1698
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: rate
        type: __u32
      item_type: struct
      name: ifla_vf_tx_rate
      pos:
        line_end: 1708
        line_start: 1705
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: min_tx_rate
        type: __u32
      - name: max_tx_rate
        type: __u32
      item_type: struct
      name: ifla_vf_rate
      pos:
        line_end: 1714
        line_start: 1710
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: setting
        type: __u32
      item_type: struct
      name: ifla_vf_spoofchk
      pos:
        line_end: 1719
        line_start: 1716
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: guid
        type: __u64
      item_type: struct
      name: ifla_vf_guid
      pos:
        line_end: 1724
        line_start: 1721
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: link_state
        type: __u32
      item_type: struct
      name: ifla_vf_link_state
      pos:
        line_end: 1736
        line_start: 1733
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: setting
        type: __u32
      item_type: struct
      name: ifla_vf_rss_query_en
      pos:
        line_end: 1741
        line_start: 1738
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vf
        type: __u32
      - name: setting
        type: __u32
      item_type: struct
      name: ifla_vf_trust
      pos:
        line_end: 1761
        line_start: 1758
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: vsi_mgr_id
        type: __u8
      - name: vsi_type_id[3]
        type: __u8
      - name: vsi_type_version
        type: __u8
      - name: pad[3]
        type: __u8
      item_type: struct
      name: ifla_port_vsi
      pos:
        line_end: 1833
        line_start: 1828
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: family
        type: __u8
      - name: pad1
        type: __u8
      - name: pad2
        type: __u16
      - name: ifindex
        type: __u32
      - name: filter_mask
        type: __u32
      item_type: struct
      name: if_stats_msg
      pos:
        line_end: 1888
        line_start: 1882
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    - fields:
      - name: flags
        type: __u32
      - name: mask
        type: __u32
      item_type: struct
      name: ifla_rmnet_flags
      pos:
        line_end: 2036
        line_start: 2033
        source_file: /src/libbpf/include/uapi/linux/if_link.h
    typedefs: []
    union: []
- function_names:
  - libbpf_print_fn
  - LLVMFuzzerTestOneInput
  source_file: /src/libbpf/fuzz/bpf-object-fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
