All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/test/nbd.c:32,1
    - Dst: g_test_message
      Src: /src/rauc/test/nbd.c:33,1
    - Dst: g_test_skip
      Src: /src/rauc/test/nbd.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: have_http_server
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_test_message
    - g_test_skip
    - g_getenv
    linkageType: ''
    returnType: gboolean
    signature: gboolean have_http_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/nbd.c:43,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:44,1
    - Dst: g_test_message
      Src: /src/rauc/test/nbd.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: nbd_fixture_set_up
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: void nbd_fixture_set_up(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:50,1
    - Dst: rm_tree
      Src: /src/rauc/test/nbd.c:50,1
    - Dst: g_free
      Src: /src/rauc/test/nbd.c:51,1
    - Dst: g_test_assert_expected_messages
      Src: /src/rauc/test/nbd.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: nbd_fixture_tear_down
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_test_assert_expected_messages
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: void nbd_fixture_tear_down(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:59,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:60,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:64,1
    - Dst: r_nbd_new_server
      Src: /src/rauc/test/nbd.c:67,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:68,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:69,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:70,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:71,1
    - Dst: g_strdupv
      Src: /src/rauc/test/nbd.c:73,1
    - Dst: r_nbd_start_server
      Src: /src/rauc/test/nbd.c:75,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:77,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:78,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:80,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:81,1
    - Dst: r_nbd_read
      Src: /src/rauc/test/nbd.c:85,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:86,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:87,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/nbd.c:88,1
    - Dst: GUINT32_TO_LE
      Src: /src/rauc/test/nbd.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: test_direct_read
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - GUINT32_TO_LE
    - g_assert_false
    - r_nbd_start_server
    - have_http_server
    - g_assert_cmphex
    - g_strdup
    - r_nbd_new_server
    - g_assert_true
    - r_nbd_read
    - g_assert_no_error
    - g_strdupv
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_direct_read(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:93,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:94,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:97,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:100,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:101,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:102,1
    - Dst: g_assert_null
      Src: /src/rauc/test/nbd.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: test_check_invalid_bundle
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - have_http_server
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_check_invalid_bundle(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:108,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:109,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:112,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:115,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:116,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:117,1
    - Dst: g_assert_null
      Src: /src/rauc/test/nbd.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: test_check_not_found
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - have_http_server
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_check_not_found(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:123,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:124,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:127,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:130,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:131,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:132,1
    - Dst: g_assert_null
      Src: /src/rauc/test/nbd.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: test_plain_bundle
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - have_http_server
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_plain_bundle(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:138,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:139,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:142,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:145,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:146,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:147,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: test_verity_bundle
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - have_http_server
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_verity_bundle(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:154,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:155,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:158,1
    - Dst: g_build_filename
      Src: /src/rauc/test/nbd.c:161,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:162,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:164,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:165,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:167,1
    - Dst: extract_bundle
      Src: /src/rauc/test/nbd.c:169,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:170,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: test_extract
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - have_http_server
    - extract_bundle
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_build_filename
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_extract(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:176,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:177,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:180,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:183,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:184,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:185,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:186,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:187,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:188,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/nbd.c:189,1
    - Dst: g_auto
      Src: /src/rauc/test/nbd.c:191,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/nbd.c:192,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/nbd.c:193,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/nbd.c:193,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:194,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:195,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:196,1
    - Dst: g_assert_null
      Src: /src/rauc/test/nbd.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 198
    functionName: test_cache_etag
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - g_auto
    - have_http_server
    - g_ptr_array_add
    - g_strdup
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - g_ptr_array_new_with_free_func
    - g_assert_nonnull
    - g_strdup_printf
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_cache_etag(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:203,1
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:204,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/nbd.c:208,1
    - Dst: have_http_server
      Src: /src/rauc/test/nbd.c:211,1
    - Dst: g_getenv
      Src: /src/rauc/test/nbd.c:215,1
    - Dst: g_test_message
      Src: /src/rauc/test/nbd.c:216,1
    - Dst: g_test_skip
      Src: /src/rauc/test/nbd.c:217,1
    - Dst: check_bundle
      Src: /src/rauc/test/nbd.c:222,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:224,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:225,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/nbd.c:226,1
    - Dst: g_assert_error
      Src: /src/rauc/test/nbd.c:228,1
    - Dst: g_assert_false
      Src: /src/rauc/test/nbd.c:229,1
    - Dst: g_assert_null
      Src: /src/rauc/test/nbd.c:230,1
    - Dst: mount_bundle
      Src: /src/rauc/test/nbd.c:234,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:235,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:236,1
    - Dst: umount_bundle
      Src: /src/rauc/test/nbd.c:238,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/nbd.c:239,1
    - Dst: g_assert_true
      Src: /src/rauc/test/nbd.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NBDFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 241
    functionName: test_nbd_mount
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - test_running_as_root
    - g_test_skip
    - umount_bundle
    - have_http_server
    - g_assert_error
    - g_test_message
    - mount_bundle
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_null
    - g_getenv
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_nbd_mount(NBDFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/nbd.c:245,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/nbd.c:245,1
    - Dst: setlocale
      Src: /src/rauc/test/nbd.c:248,1
    - Dst: g_assert
      Src: /src/rauc/test/nbd.c:250,1
    - Dst: g_setenv
      Src: /src/rauc/test/nbd.c:250,1
    - Dst: r_context_conf
      Src: /src/rauc/test/nbd.c:252,1
    - Dst: g_strdup
      Src: /src/rauc/test/nbd.c:252,1
    - Dst: r_context
      Src: /src/rauc/test/nbd.c:253,1
    - Dst: g_test_init
      Src: /src/rauc/test/nbd.c:255,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:258,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:261,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:267,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:272,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:278,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:283,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:289,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:294,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:300,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:305,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:309,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:312,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:317,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:320,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:323,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:329,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:334,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:339,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:344,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:349,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:355,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:361,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:364,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:370,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:375,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:379,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:385,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:390,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:393,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:396,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:402,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:405,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:408,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:414,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:417,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:418,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:419,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:422,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:428,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:431,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:432,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:433,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:438,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:444,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/nbd.c:447,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:452,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:458,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:462,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:468,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:474,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:479,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:482,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:488,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:493,1
    - Dst: dup_test_data
      Src: /src/rauc/test/nbd.c:497,1
    - Dst: g_test_add
      Src: /src/rauc/test/nbd.c:500,1
    - Dst: g_test_run
      Src: /src/rauc/test/nbd.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 506
    functionName: main
    functionSourceFile: /src/rauc/test/nbd.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_strdup
    - g_assert
    - r_context_conf
    - r_context
    - dup_test_data
    - g_ptr_array_new_with_free_func
    - setlocale
    - g_test_add
    - dup_test_printf
    - g_setenv
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/stats.c:8,1
    - Dst: r_stats_new
      Src: /src/rauc/test/stats.c:10,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/stats.c:11,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/stats.c:12,1
    - Dst: r_stats_add
      Src: /src/rauc/test/stats.c:14,1
    - Dst: r_stats_add
      Src: /src/rauc/test/stats.c:15,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/stats.c:17,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:18,1
    - Dst: r_stats_get_avg
      Src: /src/rauc/test/stats.c:18,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:19,1
    - Dst: r_stats_get_recent_avg
      Src: /src/rauc/test/stats.c:19,1
    - Dst: r_stats_add
      Src: /src/rauc/test/stats.c:22,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/stats.c:25,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:27,1
    - Dst: r_stats_get_avg
      Src: /src/rauc/test/stats.c:27,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:28,1
    - Dst: r_stats_get_recent_avg
      Src: /src/rauc/test/stats.c:28,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:29,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:30,1
    - Dst: g_assert_cmpfloat_with_epsilon
      Src: /src/rauc/test/stats.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 32
    functionName: test_basic
    functionSourceFile: /src/rauc/test/stats.c
    functionUses: 0
    functionsReached:
    - r_stats_add
    - r_stats_get_recent_avg
    - g_assert_cmpuint
    - g_assert_cmpfloat_with_epsilon
    - g_assert_nonnull
    - r_stats_new
    - r_stats_get_avg
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/stats.c:36,1
    - Dst: r_test_stats_start
      Src: /src/rauc/test/stats.c:38,1
    - Dst: test_basic
      Src: /src/rauc/test/stats.c:39,1
    - Dst: r_stats_new
      Src: /src/rauc/test/stats.c:40,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/stats.c:41,1
    - Dst: r_test_stats_stop
      Src: /src/rauc/test/stats.c:42,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/stats.c:44,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/stats.c:45,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/stats.c:46,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/stats.c:47,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/stats.c:49,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/stats.c:50,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/stats.c:51,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/stats.c:52,1
    - Dst: r_test_stats_start
      Src: /src/rauc/test/stats.c:54,1
    - Dst: r_test_stats_stop
      Src: /src/rauc/test/stats.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: test_queue
    functionSourceFile: /src/rauc/test/stats.c
    functionUses: 0
    functionsReached:
    - r_test_stats_stop
    - test_basic
    - g_clear_pointer
    - r_stats_new
    - g_assert_nonnull
    - g_assert_cmpstr
    - r_test_stats_start
    - r_test_stats_next
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_queue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/stats.c:60,1
    - Dst: g_assert
      Src: /src/rauc/test/stats.c:62,1
    - Dst: g_setenv
      Src: /src/rauc/test/stats.c:62,1
    - Dst: g_test_init
      Src: /src/rauc/test/stats.c:64,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/stats.c:66,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/stats.c:67,1
    - Dst: g_test_run
      Src: /src/rauc/test/stats.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/rauc/test/stats.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/slot.c:8,1
    - Dst: g_autoptr
      Src: /src/rauc/test/slot.c:15,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/slot.c:17,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:24,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:25,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:26,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:27,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:28,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:29,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:30,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:31,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:33,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:34,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:35,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:37,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:38,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:39,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:41,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:42,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:43,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:45,1
    - Dst: r_slot_get_all_children
      Src: /src/rauc/test/slot.c:48,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/slot.c:50,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:51,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:51,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:52,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:52,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:53,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:53,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:54,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:54,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:55,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:55,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:56,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/slot.c:57,1
    - Dst: g_list_length
      Src: /src/rauc/test/slot.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 58
    functionName: test_slot_get_all_children
    functionSourceFile: /src/rauc/test/slot.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - g_assert_false
    - r_slot_get_all_children
    - g_assert_true
    - g_assert_cmpint
    - g_hash_table_new_full
    - r_slot_list_contains
    - g_intern_string
    - g_new0
    - g_assert_nonnull
    - g_list_length
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_slot_get_all_children(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/slot.c:62,1
    - Dst: g_autoptr
      Src: /src/rauc/test/slot.c:66,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/slot.c:68,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:72,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:73,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:74,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:75,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:76,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:77,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:78,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:79,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:80,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:81,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:82,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:83,1
    - Dst: r_slot_get_all_of_class
      Src: /src/rauc/test/slot.c:85,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/slot.c:87,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:88,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:88,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:89,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:89,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:90,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/test/slot.c:90,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/slot.c:91,1
    - Dst: g_list_length
      Src: /src/rauc/test/slot.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: test_slot_get_all_of_class
    functionSourceFile: /src/rauc/test/slot.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - g_assert_false
    - g_assert_true
    - g_assert_cmpint
    - g_hash_table_new_full
    - r_slot_list_contains
    - g_intern_string
    - g_new0
    - r_slot_get_all_of_class
    - g_assert_nonnull
    - g_list_length
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_slot_get_all_of_class(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/test/slot.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - array
    - searchstring
    argTypes:
    - gchar**
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: string_array_contains
    functionSourceFile: /src/rauc/test/slot.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean string_array_contains(gchar **array, const gchar *searchstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/slot.c:106,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/slot.c:116,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:124,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:125,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:126,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:127,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:128,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:129,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:130,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:131,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:132,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:133,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:134,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:136,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:137,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:138,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:139,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:141,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:142,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:143,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:144,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:146,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:147,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:148,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:149,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:151,1
    - Dst: g_new0
      Src: /src/rauc/test/slot.c:152,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:153,1
    - Dst: g_intern_string
      Src: /src/rauc/test/slot.c:154,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/slot.c:155,1
    - Dst: r_slot_get_root_classes
      Src: /src/rauc/test/slot.c:157,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/slot.c:159,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:160,1
    - Dst: string_array_contains
      Src: /src/rauc/test/slot.c:160,1
    - Dst: g_assert_true
      Src: /src/rauc/test/slot.c:161,1
    - Dst: string_array_contains
      Src: /src/rauc/test/slot.c:161,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:162,1
    - Dst: string_array_contains
      Src: /src/rauc/test/slot.c:162,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:163,1
    - Dst: string_array_contains
      Src: /src/rauc/test/slot.c:163,1
    - Dst: g_assert_false
      Src: /src/rauc/test/slot.c:164,1
    - Dst: string_array_contains
      Src: /src/rauc/test/slot.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 165
    functionName: test_slot_get_root_classes
    functionSourceFile: /src/rauc/test/slot.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - g_assert_false
    - r_slot_get_root_classes
    - g_assert_true
    - g_hash_table_new_full
    - g_intern_string
    - g_new0
    - g_assert_nonnull
    - string_array_contains
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_slot_get_root_classes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/slot.c:169,1
    - Dst: g_assert
      Src: /src/rauc/test/slot.c:171,1
    - Dst: g_setenv
      Src: /src/rauc/test/slot.c:171,1
    - Dst: g_test_init
      Src: /src/rauc/test/slot.c:173,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/slot.c:175,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/slot.c:176,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/slot.c:177,1
    - Dst: g_test_run
      Src: /src/rauc/test/slot.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/rauc/test/slot.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/config_file.c:18,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:19,1
    - Dst: r_context_conf
      Src: /src/rauc/test/config_file.c:21,1
    - Dst: g_strdup
      Src: /src/rauc/test/config_file.c:21,1
    - Dst: r_context_conf
      Src: /src/rauc/test/config_file.c:22,1
    - Dst: g_strdup
      Src: /src/rauc/test/config_file.c:22,1
    - Dst: r_context
      Src: /src/rauc/test/config_file.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: config_file_fixture_set_up
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_dir_make_tmp
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void config_file_fixture_set_up(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:29,1
    - Dst: rm_tree
      Src: /src/rauc/test/config_file.c:29,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:30,1
    - Dst: r_context_clean
      Src: /src/rauc/test/config_file.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: config_file_fixture_tear_down
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - r_context_clean
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void config_file_fixture_tear_down(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:42,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:108,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:109,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:111,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:112,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:113,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:115,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:116,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:117,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:118,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:120,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/config_file.c:121,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:122,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:123,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:124,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:125,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:126,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:128,1
    - Dst: g_hash_table_get_keys
      Src: /src/rauc/test/config_file.c:129,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:131,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:132,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:133,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:134,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:135,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:136,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:137,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:138,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:139,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:140,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/config_file.c:140,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:142,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:143,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:144,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:146,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:147,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:148,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:149,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:150,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:151,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:152,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/config_file.c:152,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:154,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:155,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:156,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:157,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:158,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:159,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:160,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:161,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:162,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:163,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:164,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/config_file.c:164,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:166,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:167,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:168,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:169,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:170,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:171,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:172,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:173,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:174,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:175,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:176,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/config_file.c:176,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:178,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:179,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:180,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:181,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:182,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:183,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:185,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:186,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:187,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:188,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:189,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:190,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:192,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:193,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:194,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:195,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/config_file.c:195,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/config_file.c:197,1
    - Dst: g_list_length
      Src: /src/rauc/test/config_file.c:197,1
    - Dst: g_list_free
      Src: /src/rauc/test/config_file.c:199,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:201,1
    - Dst: find_config_slot_by_device
      Src: /src/rauc/test/config_file.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 202
    functionName: config_file_full_config
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_cmphex
    - g_assert_cmpuint
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_null
    - g_assert_true
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_list_length
    - g_assert_cmpstr
    - g_autoptr
    - g_assert_false
    - g_assert
    - load_config
    - find_config_slot_by_device
    - g_hash_table_get_keys
    - find_config_slot_by_name
    - g_list_free
    - write_tmp_file
    linkageType: ''
    returnType: void
    signature: "void config_file_full_config(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:207,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:220,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:221,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:223,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:223,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:224,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:225,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:226,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:228,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:229,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:238,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:239,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:241,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:241,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:242,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:243,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 245
    functionName: config_file_invalid_items
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - g_clear_pointer
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_invalid_items(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:250,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:264,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:265,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:267,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:267,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:268,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:269,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:271,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:272,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:274,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:275,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:277,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:277,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:278,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 280
    functionName: config_file_bootloaders
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - g_clear_pointer
    - load_config
    - g_assert_nonnull
    - g_free
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_bootloaders(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:285,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:318,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:319,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:321,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:321,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:322,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:324,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:325,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:327,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:328,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:330,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:330,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:331,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:332,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:334,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:335,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:337,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:338,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:340,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:341,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:342,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:344,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:345,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:347,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:348,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:350,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:350,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:351,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 353
    functionName: config_file_boot_attempts
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_boot_attempts(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:358,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:372,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:373,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:375,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:375,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:376,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:377,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 379
    functionName: config_file_slots_invalid_type
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_slots_invalid_type(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:384,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:398,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:399,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:401,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:401,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:402,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:403,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 405
    functionName: config_file_invalid_parent
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_invalid_parent(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:409,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:431,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:432,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:434,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:434,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:435,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:437,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:438,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:439,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:440,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 442
    functionName: config_file_parent_has_parent
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert
    - write_tmp_file
    - g_assert_true
    - load_config
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_parent_has_parent(ConfigFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:446,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:463,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:464,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:466,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:466,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:467,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: config_file_parent_loop
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_parent_loop(ConfigFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:473,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:491,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:492,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:494,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:494,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:495,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:496,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 498
    functionName: config_file_bootname_set_on_child
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_bootname_set_on_child(ConfigFileFixture *fixture,
      gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:502,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:519,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:520,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:522,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:522,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:523,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:524,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: config_file_duplicate_bootname
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_duplicate_bootname(ConfigFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:530,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:548,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:549,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:551,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:551,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:552,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:553,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 555
    functionName: config_file_duplicate_slotclass
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_duplicate_slotclass(ConfigFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:559,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:563,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:564,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:566,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:566,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:567,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:568,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - cfg_file
    argTypes:
    - ConfigFileFixture*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: config_file_typo
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_typo(ConfigFileFixture *fixture, const gchar *cfg_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: config_file_typo_in_boolean_readonly_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_readonly_key(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: config_file_typo_in_boolean_allow_mounted_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_allow_mounted_key(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 621
    functionName: config_file_typo_in_boolean_install_same_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_install_same_key(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: config_file_typo_in_boolean_force_install_same_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_force_install_same_key(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 655
    functionName: config_file_typo_in_boolean_ignore_checksum_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_ignore_checksum_key(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 671
    functionName: config_file_typo_in_boolean_resize_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_resize_key(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: config_file_typo_in_boolean_activate_installed_key
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_boolean_activate_installed_key(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:686,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:699,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:700,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:702,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:702,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:703,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:704,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 706
    functionName: config_file_bootname_tab
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_bootname_tab(ConfigFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:710,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:723,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:724,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:726,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:726,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:727,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:728,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 730
    functionName: config_file_boot_emmc_with_bootpart
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_boot_emmc_with_bootpart(ConfigFileFixture *fixture,
      gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:735,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:745,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:746,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:748,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:749,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:750,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:751,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/config_file.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 753
    functionName: config_file_no_max_bundle_download_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpuint
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_no_max_bundle_download_size(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:758,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:768,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:769,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:771,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:771,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:772,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:773,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: config_file_zero_max_bundle_download_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_zero_max_bundle_download_size(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: config_file_typo_in_uint64_max_bundle_download_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_uint64_max_bundle_download_size(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:791,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:801,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:802,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:804,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:804,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:805,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:806,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 809
    functionName: config_file_zero_max_bundle_signature_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_zero_max_bundle_signature_size(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_file_typo
      Src: /src/rauc/test/config_file.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: config_file_typo_in_uint64_max_bundle_signature_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - config_file_typo
    linkageType: ''
    returnType: void
    signature: "void config_file_typo_in_uint64_max_bundle_signature_size(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:824,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:836,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:837,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:839,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:840,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:841,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:842,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 844
    functionName: config_file_activate_installed_set_to_true
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_activate_installed_set_to_true(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:849,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:861,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:862,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:864,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:865,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:866,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:867,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 869
    functionName: config_file_activate_installed_set_to_false
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_activate_installed_set_to_false(ConfigFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:874,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:875,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:914,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:915,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:917,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:918,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:919,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:920,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:921,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:922,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:923,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:925,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:927,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:928,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:930,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:931,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:932,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:933,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:934,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:935,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:936,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:937,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:939,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:941,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:942,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:944,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:945,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:946,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:947,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:948,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:949,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:950,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:951,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:953,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:955,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:956,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:958,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:959,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:960,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:961,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:962,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:963,1
    - Dst: g_assert
      Src: /src/rauc/test/config_file.c:964,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:965,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:967,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:969,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:970,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:972,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:972,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:973,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 975
    functionName: config_file_system_variant
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_error
    - g_assert
    - write_tmp_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_free
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_system_variant(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:980,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:996,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:997,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:999,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1000,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1001,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1002,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:1004,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1005,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1007
    functionName: config_file_no_extra_mount_opts
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_no_extra_mount_opts(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1012,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1029,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1030,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1032,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1033,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1034,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1035,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:1037,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1038,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1040
    functionName: config_file_extra_mount_opts
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_extra_mount_opts(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1045,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1061,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1062,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1064,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1065,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1066,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1067,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/config_file.c:1069,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1070,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1071,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1072,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1073,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1074,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1075,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1077
    functionName: config_file_extra_mkfs_opts
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_assert_null
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_extra_mkfs_opts(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1082,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1093,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1094,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1096,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1097,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1098,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1099,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1100,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1102
    functionName: config_file_statusfile_missing
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_statusfile_missing(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1107,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1129,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1130,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1132,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1133,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1134,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1135,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1136,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1137,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1138,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:1140,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:1141,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1143,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1144,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1146,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1147,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1148,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1149,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1150,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1151,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1152,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/config_file.c:1153,1
    - Dst: g_strv_length
      Src: /src/rauc/test/config_file.c:1153,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1154,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1156
    functionName: config_file_keyring_checks
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_cmpint
    - g_strv_length
    - g_free
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_keyring_checks(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1161,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1162,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1186,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1187,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1189,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1190,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1191,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1192,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1193,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:1195,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:1196,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1198,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1199,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1201,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1202,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1203,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1204,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1205,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:1207,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:1208,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1210,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1211,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1213,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1214,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1215,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1216,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1217,1
    - Dst: g_free
      Src: /src/rauc/test/config_file.c:1219,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/config_file.c:1220,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1222,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1223,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1225,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1226,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1227,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1228,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1229,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1231
    functionName: config_file_bundle_formats
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_cmphex
    - write_tmp_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_cmpstr
    - g_free
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_bundle_formats(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1237,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1240,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1241,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1242,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1243,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1246,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1247,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1248,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1249,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1252,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1253,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1254,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1255,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1258,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1259,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1260,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1261,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1264,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1265,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1266,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1267,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1268,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:1269,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1272,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1273,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1274,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1275,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/config_file.c:1278,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1279,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1280,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/config_file.c:1281,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1282,1
    - Dst: g_clear_error
      Src: /src/rauc/test/config_file.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1284
    functionName: config_file_test_parse_bundle_formats
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_cmphex
    - parse_bundle_formats
    - g_assert_true
    - g_assert_no_error
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void config_file_test_parse_bundle_formats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1289,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1290,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1305,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1306,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1308,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1309,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1310,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1311,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1312,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1313,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1314,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1316
    functionName: config_file_use_desync_set_to_true
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_use_desync_set_to_true(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1321,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1322,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1334,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1335,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1337,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1338,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1339,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1340,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/config_file.c:1341,1
    - Dst: g_strv_length
      Src: /src/rauc/test/config_file.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1342
    functionName: config_file_send_headers
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_strv_length
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_send_headers(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1347,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1348,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1360,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1361,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1363,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1364,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1365,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1367
    functionName: config_file_send_headers_invalid_item
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_send_headers_invalid_item(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1374,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1375,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1387,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1388,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1390,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1391,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1392,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1394
    functionName: config_file_logger_empty
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_empty(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1400,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1401,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1414,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1415,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1417,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1418,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1419,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1421
    functionName: config_file_logger_relative_no_datadir
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_relative_no_datadir(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1427,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1428,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1442,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1443,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1445,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1446,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1447,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1449
    functionName: config_file_logger_minimal
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_minimal(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1455,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1456,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1473,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1474,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1476,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1477,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1478,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1480
    functionName: config_file_logger_full
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_full(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1486,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1487,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1501,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1502,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1504,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1505,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1506,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1508
    functionName: config_file_logger_invalid_event
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_invalid_event(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1515,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1516,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1530,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1531,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1533,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1534,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1535,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1537
    functionName: config_file_logger_invalid_event_combo
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_invalid_event_combo(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1543,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1544,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1558,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1559,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1561,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1562,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1563,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1565
    functionName: config_file_logger_invalid_max_size
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_logger_invalid_max_size(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1571,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1572,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1583,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1584,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1586,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/config_file.c:1587,1
    - Dst: g_assert_true
      Src: /src/rauc/test/config_file.c:1588,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1589,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/config_file.c:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1592
    functionName: config_file_min_bundle_version_good
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - load_config
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_min_bundle_version_good(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1598,1
    - Dst: g_autoptr
      Src: /src/rauc/test/config_file.c:1599,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/config_file.c:1610,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/config_file.c:1611,1
    - Dst: load_config
      Src: /src/rauc/test/config_file.c:1613,1
    - Dst: g_assert_error
      Src: /src/rauc/test/config_file.c:1614,1
    - Dst: g_assert_false
      Src: /src/rauc/test/config_file.c:1615,1
    - Dst: g_assert_null
      Src: /src/rauc/test/config_file.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ConfigFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1617
    functionName: config_file_min_bundle_version_bad
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - load_config
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void config_file_min_bundle_version_bad(ConfigFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/config_file.c:1621,1
    - Dst: g_test_init
      Src: /src/rauc/test/config_file.c:1623,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1625,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1628,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1631,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1634,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1637,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1640,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1643,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1646,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1649,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1652,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1655,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1658,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1661,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1664,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1667,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1670,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1673,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1676,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1679,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1682,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1685,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1688,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1691,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1694,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1697,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1700,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1703,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1706,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1709,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1712,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1715,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1718,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1721,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1724,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/config_file.c:1727,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1728,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1731,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1734,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1737,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1740,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1743,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1746,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1749,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1752,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1755,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1758,1
    - Dst: g_test_add
      Src: /src/rauc/test/config_file.c:1761,1
    - Dst: g_test_run
      Src: /src/rauc/test/config_file.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1765
    functionName: main
    functionSourceFile: /src/rauc/test/config_file.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_test_add_func
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/test/install_fixtures.c:17,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:19,1
    - Dst: g_test_message
      Src: /src/rauc/test/install_fixtures.c:20,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:22,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:22,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:23,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:23,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:24,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:24,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:25,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:25,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:26,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:26,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:27,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:27,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:28,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:28,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:31,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:32,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:34,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:34,1
    - Dst: test_prepare_system_conf
      Src: /src/rauc/test/install_fixtures.c:36,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install_fixtures.c:38,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install_fixtures.c:38,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:41,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:41,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:43,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:43,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:45,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:45,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:49,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:50,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:51,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:51,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install_fixtures.c:52,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install_fixtures.c:52,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:56,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:57,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:57,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install_fixtures.c:58,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install_fixtures.c:58,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:61,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:62,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:63,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:63,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:67,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:67,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:69,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:69,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:71,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:71,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:73,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:73,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:75,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:75,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:77,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:77,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:78,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:78,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:79,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:79,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:80,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:80,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:81,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:81,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:84,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:84,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:85,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:85,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:86,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:86,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:87,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:87,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install_fixtures.c:90,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install_fixtures.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 3
    argNames:
    - tmpdir
    - configname
    - options
    argTypes:
    - gchar*
    - gchar*
    - SystemTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 91
    functionName: fixture_helper_fixture_set_up_system_user
    functionSourceFile: /src/rauc/test/install_fixtures.c
    functionUses: 0
    functionsReached:
    - test_mkdir_relative
    - g_assert
    - test_copy_file
    - test_prepare_system_conf
    - r_context_conf
    - g_test_message
    - replace_strdup
    - g_assert_true
    - g_assert_nonnull
    - test_prepare_dummy_file
    - g_build_filename
    - g_return_if_fail
    - test_make_filesystem
    linkageType: ''
    returnType: void
    signature: "void fixture_helper_fixture_set_up_system_user(gchar *tmpdir,\n\t\tconst
      gchar *configname, const SystemTestOptions *options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/test/install_fixtures.c:99,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install_fixtures.c:102,1
    - Dst: fixture_helper_fixture_set_up_system_user
      Src: /src/rauc/test/install_fixtures.c:105,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:108,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:109,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:110,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:111,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:112,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:115,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:116,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:117,1
    - Dst: test_mount
      Src: /src/rauc/test/install_fixtures.c:117,1
    - Dst: g_free
      Src: /src/rauc/test/install_fixtures.c:118,1
    - Dst: g_free
      Src: /src/rauc/test/install_fixtures.c:119,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:122,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:123,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:124,1
    - Dst: test_mount
      Src: /src/rauc/test/install_fixtures.c:124,1
    - Dst: g_free
      Src: /src/rauc/test/install_fixtures.c:125,1
    - Dst: g_free
      Src: /src/rauc/test/install_fixtures.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - tmpdir
    - configname
    - options
    argTypes:
    - gchar*
    - gchar*
    - SystemTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 127
    functionName: fixture_helper_set_up_system
    functionSourceFile: /src/rauc/test/install_fixtures.c
    functionUses: 0
    functionsReached:
    - fixture_helper_fixture_set_up_system_user
    - test_running_as_root
    - g_assert
    - test_make_slot_user_writable
    - test_mount
    - g_build_filename
    - g_free
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void fixture_helper_set_up_system(gchar *tmpdir,\n\t\tconst gchar
      *configname, const SystemTestOptions *options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install_fixtures.c:138,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:141,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:142,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install_fixtures.c:145,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:148,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:150,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:151,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:152,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:153,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install_fixtures.c:154,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:158,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:158,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:160,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:160,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:162,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/install_fixtures.c:162,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:164,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:164,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:165,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:165,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:166,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/install_fixtures.c:166,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:169,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:170,1
    - Dst: test_make_slot_user_writable
      Src: /src/rauc/test/install_fixtures.c:171,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:174,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install_fixtures.c:174,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:175,1
    - Dst: test_mount
      Src: /src/rauc/test/install_fixtures.c:175,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:176,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/install_fixtures.c:176,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:177,1
    - Dst: r_umount
      Src: /src/rauc/test/install_fixtures.c:177,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:178,1
    - Dst: test_rmdir
      Src: /src/rauc/test/install_fixtures.c:178,1
    - Dst: g_print
      Src: /src/rauc/test/install_fixtures.c:182,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/install_fixtures.c:183,1
    - Dst: write_random_file
      Src: /src/rauc/test/install_fixtures.c:184,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:185,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/test/install_fixtures.c:186,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:187,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:187,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:189,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:189,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:195,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:195,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:201,1
    - Dst: test_copy_file
      Src: /src/rauc/test/install_fixtures.c:201,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install_fixtures.c:206,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install_fixtures.c:207,1
    - Dst: g_assert
      Src: /src/rauc/test/install_fixtures.c:209,1
    - Dst: test_prepare_manifest_file
      Src: /src/rauc/test/install_fixtures.c:209,1
    - Dst: create_bundle
      Src: /src/rauc/test/install_fixtures.c:213,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install_fixtures.c:214,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install_fixtures.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 3
    argNames:
    - tmpdir
    - manifest_content
    - options
    argTypes:
    - gchar*
    - gchar*
    - ManifestTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 216
    functionName: fixture_helper_set_up_bundle
    functionSourceFile: /src/rauc/test/install_fixtures.c
    functionUses: 0
    functionsReached:
    - g_assert_no_error
    - g_build_filename
    - create_bundle
    - test_running_as_root
    - g_assert_true
    - g_assert_nonnull
    - g_autoptr
    - g_str_has_prefix
    - test_mkdir_relative
    - g_assert
    - test_make_slot_user_writable
    - test_copy_file
    - g_print
    - r_umount
    - test_make_filesystem
    - test_prepare_manifest_file
    - test_rmdir
    - g_strcmp0
    - g_file_set_contents
    - write_tmp_file
    - test_prepare_dummy_file
    - write_random_file
    - test_mount
    linkageType: ''
    returnType: void
    signature: "void fixture_helper_set_up_bundle(gchar *tmpdir,\n\t\tconst gchar
      *manifest_content,\n\t\tconst ManifestTestOptions *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/signature.c:26,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/signature.c:28,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:29,1
    - Dst: read_file
      Src: /src/rauc/test/signature.c:30,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:31,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:36,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:37,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:38,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: signature_set_up
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - r_context_conf
    - g_dir_make_tmp
    - read_file
    - g_assert_true
    - g_assert_nonnull
    - X509_STORE_load_locations
    linkageType: ''
    returnType: void
    signature: "void signature_set_up(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:47,1
    - Dst: rm_tree
      Src: /src/rauc/test/signature.c:47,1
    - Dst: g_free
      Src: /src/rauc/test/signature.c:49,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:50,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:51,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:52,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:53,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:54,1
    - Dst: sk_X509_pop_free
      Src: /src/rauc/test/signature.c:57,1
    - Dst: r_context_clean
      Src: /src/rauc/test/signature.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: signature_tear_down
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - rm_tree
    - sk_X509_pop_free
    - g_assert_true
    - g_clear_pointer
    - g_bytes_unref
    - r_context_clean
    - g_free
    linkageType: ''
    returnType: void
    signature: "void signature_tear_down(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:70,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:76,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:77,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:78,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:80,1
    - Dst: cms_is_detached
      Src: /src/rauc/test/signature.c:80,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:81,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:82,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:84,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:87,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:93,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:94,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:96,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:99,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:105,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 107
    functionName: signature_sign_detached
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - cms_is_detached
    - cms_sign
    - g_assert_true
    - g_assert_no_error
    - g_bytes_unref
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_sign_detached(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:117,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:123,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:124,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:125,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:127,1
    - Dst: cms_is_detached
      Src: /src/rauc/test/signature.c:127,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:128,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:129,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:131,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:134,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:140,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:141,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:143,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:146,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:152,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 154
    functionName: signature_sign_inline
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - cms_is_detached
    - g_assert_false
    - cms_sign
    - g_assert_true
    - g_assert_no_error
    - g_bytes_unref
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_sign_inline(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:163,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:168,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:169,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:171,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:172,1
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:175,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:180,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:181,1
    - Dst: g_bytes_unref
      Src: /src/rauc/test/signature.c:183,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:184,1
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:187,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:192,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: signature_sign_file
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - cms_sign_file
    - g_bytes_unref
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_sign_file(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:200,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:201,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:202,1
    - Dst: g_strsplit
      Src: /src/rauc/test/signature.c:202,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:204,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:210,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:211,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:213,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: signature_verify_common_names_valid
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - r_context
    - read_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - g_strsplit
    linkageType: ''
    returnType: void
    signature: "void signature_verify_common_names_valid(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:220,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:221,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:222,1
    - Dst: g_strsplit
      Src: /src/rauc/test/signature.c:222,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:224,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:230,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:231,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:233,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: signature_verify_common_names_invalid
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - r_context
    - read_file
    - g_clear_pointer
    - cms_verify_bytes
    - g_assert_nonnull
    - g_strsplit
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_verify_common_names_invalid(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:240,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:241,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:243,1
    - Dst: g_strsplit
      Src: /src/rauc/test/signature.c:243,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:244,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:250,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:251,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:253,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: signature_verify_common_names_2nd_value
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - r_context
    - read_file
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - g_strsplit
    linkageType: ''
    returnType: void
    signature: "void signature_verify_common_names_2nd_value(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:262,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:263,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:265,1
    - Dst: cms_is_detached
      Src: /src/rauc/test/signature.c:265,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:266,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:267,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:269,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:275,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:276,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: signature_verify_valid
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - cms_is_detached
    - read_file
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void signature_verify_valid(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:285,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:286,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:289,1
    - Dst: cms_is_detached
      Src: /src/rauc/test/signature.c:289,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:290,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:291,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:293,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:295,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:295,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:301,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: signature_verify_invalid
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - cms_is_detached
    - g_assert_false
    - read_file
    - g_assert_true
    - cms_verify_bytes
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_verify_invalid(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:310,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:311,1
    - Dst: g_open
      Src: /src/rauc/test/signature.c:314,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:315,1
    - Dst: cms_verify_fd
      Src: /src/rauc/test/signature.c:316,1
    - Dst: g_close
      Src: /src/rauc/test/signature.c:322,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:323,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:324,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:325,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:327,1
    - Dst: g_open
      Src: /src/rauc/test/signature.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:331,1
    - Dst: cms_verify_fd
      Src: /src/rauc/test/signature.c:332,1
    - Dst: g_close
      Src: /src/rauc/test/signature.c:338,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:339,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:340,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:341,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 344
    functionName: signature_verify_file
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_clear_error
    - g_assert_false
    - cms_verify_fd
    - read_file
    - g_open
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_true
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_null
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_verify_file(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_random_file
      Src: /src/rauc/test/signature.c:351,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:352,1
    - Dst: read_file
      Src: /src/rauc/test/signature.c:353,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:358,1
    - Dst: truncate
      Src: /src/rauc/test/signature.c:358,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:359,1
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:359,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:364,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:365,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:366,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:368,1
    - Dst: truncate
      Src: /src/rauc/test/signature.c:368,1
    - Dst: g_open
      Src: /src/rauc/test/signature.c:369,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:370,1
    - Dst: cms_verify_fd
      Src: /src/rauc/test/signature.c:371,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:377,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:378,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:379,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:380,1
    - Dst: g_close
      Src: /src/rauc/test/signature.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: signature_too_large
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_close
    - g_assert_false
    - cms_sign_file
    - cms_verify_fd
    - read_file
    - g_open
    - g_assert_cmpint
    - g_assert_nonnull
    - write_random_file
    - truncate
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_too_large(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:389,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:395,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:396,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:398,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:404,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:405,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/signature.c:407,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:408,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:414,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 416
    functionName: signature_loopback_detached
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - g_bytes_get_data
    - cms_sign
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void signature_loopback_detached(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:423,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:429,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:430,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:432,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:433,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:439,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:440,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:441,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:442,1
    - Dst: g_bytes_equal
      Src: /src/rauc/test/signature.c:442,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:444,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/signature.c:446,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:447,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:453,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:454,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 456
    functionName: signature_loopback_inline
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_true
    - g_bytes_equal
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - g_clear_pointer
    - g_assert_null
    - g_bytes_get_data
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_loopback_inline(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/rauc/test/signature.c:462,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:463,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:465,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:471,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:472,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:473,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/test/signature.c:476,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:480,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:481,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:482,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:485,1
    - Dst: sk_X509_num
      Src: /src/rauc/test/signature.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: signature_get_cert_chain
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - cms_get_cert_chain
    - read_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - sk_X509_num
    linkageType: ''
    returnType: void
    signature: "void signature_get_cert_chain(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:492,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:493,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:494,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:494,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:496,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:502,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:503,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:505,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:507,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:513,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:514,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:515,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:517,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/test/signature.c:520,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:524,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:525,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:526,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:529,1
    - Dst: sk_X509_num
      Src: /src/rauc/test/signature.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 530
    functionName: signature_selfsigned
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - sk_X509_num
    - X509_STORE_new
    - cms_get_cert_chain
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_selfsigned(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:536,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:537,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:537,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:538,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:540,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:540,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:542,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:548,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:549,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:552,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:552,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:558,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:559,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:561,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:562,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:563,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/test/signature.c:566,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/rauc/test/signature.c:567,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/signature.c:568,1
    - Dst: g_strdup
      Src: /src/rauc/test/signature.c:568,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/signature.c:569,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:571,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:577,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:580,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:586,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:588,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/test/signature.c:591,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:595,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:596,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:597,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:600,1
    - Dst: sk_X509_num
      Src: /src/rauc/test/signature.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 601
    functionName: signature_intermediate
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_add
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_null
    - g_strdup
    - g_ptr_array_set_free_func
    - g_assert_true
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    - g_assert_false
    - g_ptr_array_new
    - X509_STORE_new
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_clear_error
    - cms_get_cert_chain
    - sk_X509_num
    - cms_sign
    linkageType: ''
    returnType: void
    signature: "void signature_intermediate(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:608,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:609,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:609,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:610,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:611,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:611,1
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:613,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:618,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:619,1
    - Dst: g_open
      Src: /src/rauc/test/signature.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:623,1
    - Dst: cms_verify_fd
      Src: /src/rauc/test/signature.c:624,1
    - Dst: g_close
      Src: /src/rauc/test/signature.c:630,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:631,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:632,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:633,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:635,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:636,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:637,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/test/signature.c:640,1
    - Dst: g_ptr_array_set_free_func
      Src: /src/rauc/test/signature.c:641,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/signature.c:642,1
    - Dst: g_strdup
      Src: /src/rauc/test/signature.c:642,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/signature.c:643,1
    - Dst: cms_sign_file
      Src: /src/rauc/test/signature.c:645,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:650,1
    - Dst: g_open
      Src: /src/rauc/test/signature.c:653,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:654,1
    - Dst: cms_verify_fd
      Src: /src/rauc/test/signature.c:655,1
    - Dst: g_close
      Src: /src/rauc/test/signature.c:661,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:662,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:663,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:664,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/test/signature.c:667,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:671,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:672,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:673,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:676,1
    - Dst: sk_X509_num
      Src: /src/rauc/test/signature.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 677
    functionName: signature_intermediate_file
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_ptr_array_add
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_null
    - g_strdup
    - cms_sign_file
    - g_ptr_array_set_free_func
    - g_open
    - g_assert_true
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    - g_assert_false
    - g_ptr_array_new
    - X509_STORE_new
    - X509_STORE_load_locations
    - g_clear_error
    - cms_verify_fd
    - cms_get_cert_chain
    - sk_X509_num
    linkageType: ''
    returnType: void
    signature: "void signature_intermediate_file(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:683,1
    - Dst: setup_x509_store
      Src: /src/rauc/test/signature.c:683,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:684,1
    - Dst: setup_x509_store
      Src: /src/rauc/test/signature.c:684,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:686,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:687,1
    - Dst: setup_x509_store
      Src: /src/rauc/test/signature.c:687,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:688,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:690,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:696,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:697,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:700,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:700,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:706,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:707,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:708,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:711,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:711,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:717,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:718,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:719,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:722,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:728,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:729,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:730,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/test/signature.c:733,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:737,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:738,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:739,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:742,1
    - Dst: sk_X509_num
      Src: /src/rauc/test/signature.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 743
    functionName: signature_partial
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - r_context
    - setup_x509_store
    - cms_get_cert_chain
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - sk_X509_num
    - g_assert_null
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void signature_partial(SignatureFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:749,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:749,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:750,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:751,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:751,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:754,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:760,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:761,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:763,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:766,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:772,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:773,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 775
    functionName: signature_cmsverify_path
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - X509_STORE_new
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_cmsverify_path(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:781,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:781,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:782,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:783,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:783,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:786,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:792,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:793,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:794,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:797,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:803,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:804,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 806
    functionName: signature_cmsverify_dir_combined
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - X509_STORE_new
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_cmsverify_dir_combined(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:812,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:812,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:813,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:813,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:814,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:815,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:816,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:816,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:817,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:817,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:820,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:826,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:827,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:828,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:831,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:837,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:838,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:839,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:842,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:843,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:843,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 850
    functionName: signature_cmsverify_dir_single_fail
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - X509_STORE_new
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_cmsverify_dir_single_fail(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:856,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:856,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:857,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:858,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:858,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:861,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:867,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:868,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:869,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:872,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:878,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:879,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 881
    functionName: signature_cmsverify_pathdir_dir
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - X509_STORE_new
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_cmsverify_pathdir_dir(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:887,1
    - Dst: X509_STORE_new
      Src: /src/rauc/test/signature.c:887,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:888,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:889,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/test/signature.c:889,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:892,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:899,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:900,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:901,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:904,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:910,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:911,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 913
    functionName: signature_cmsverify_pathdir_path
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - X509_STORE_new
    - g_assert_true
    - g_assert_no_error
    - cms_verify_bytes
    - X509_STORE_load_locations
    - g_assert_nonnull
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void signature_cmsverify_pathdir_path(SignatureFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:919,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:919,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:925,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:926,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:928,1
    - Dst: cms_append_signature
      Src: /src/rauc/test/signature.c:928,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:933,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:934,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:937,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:938,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:944,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:945,1
    - Dst: STACK_OF
      Src: /src/rauc/test/signature.c:947,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/rauc/test/signature.c:947,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:948,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/rauc/test/signature.c:948,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/signature.c:951,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:952,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:958,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 960
    functionName: signature_append_detached
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - cms_append_signature
    - g_assert_false
    - sk_CMS_SignerInfo_num
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - CMS_get0_SignerInfos
    - g_bytes_get_data
    - STACK_OF
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void signature_append_detached(SignatureFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:966,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:966,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:972,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:973,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:975,1
    - Dst: cms_append_signature
      Src: /src/rauc/test/signature.c:975,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:980,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:981,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:984,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:985,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:986,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:992,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:993,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:994,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:995,1
    - Dst: g_bytes_equal
      Src: /src/rauc/test/signature.c:995,1
    - Dst: STACK_OF
      Src: /src/rauc/test/signature.c:997,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/rauc/test/signature.c:997,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:998,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/rauc/test/signature.c:998,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/signature.c:1000,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/signature.c:1003,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:1004,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:1010,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:1011,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1013
    functionName: signature_append_inline
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - cms_append_signature
    - g_assert_false
    - sk_CMS_SignerInfo_num
    - g_assert_null
    - g_assert_true
    - g_bytes_equal
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - CMS_get0_SignerInfos
    - g_assert_cmpint
    - g_clear_pointer
    - g_bytes_get_data
    - STACK_OF
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void signature_append_inline(SignatureFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context
      Src: /src/rauc/test/signature.c:1021,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1022,1
    - Dst: setup_x509_store
      Src: /src/rauc/test/signature.c:1022,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1023,1
    - Dst: setup_x509_store
      Src: /src/rauc/test/signature.c:1023,1
    - Dst: r_context
      Src: /src/rauc/test/signature.c:1024,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1026,1
    - Dst: cms_sign
      Src: /src/rauc/test/signature.c:1026,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:1032,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:1033,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1035,1
    - Dst: cms_append_signature
      Src: /src/rauc/test/signature.c:1035,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:1040,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/signature.c:1041,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1044,1
    - Dst: g_autoptr
      Src: /src/rauc/test/signature.c:1045,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:1046,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/signature.c:1052,1
    - Dst: g_assert_true
      Src: /src/rauc/test/signature.c:1053,1
    - Dst: STACK_OF
      Src: /src/rauc/test/signature.c:1055,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/rauc/test/signature.c:1055,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/signature.c:1056,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/rauc/test/signature.c:1056,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:1059,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:1065,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:1066,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:1067,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:1068,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/test/signature.c:1071,1
    - Dst: g_assert_error
      Src: /src/rauc/test/signature.c:1077,1
    - Dst: g_assert_false
      Src: /src/rauc/test/signature.c:1078,1
    - Dst: g_assert_null
      Src: /src/rauc/test/signature.c:1079,1
    - Dst: g_clear_error
      Src: /src/rauc/test/signature.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - SignatureFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1081
    functionName: signature_append_partial
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - cms_append_signature
    - g_assert_false
    - r_context
    - sk_CMS_SignerInfo_num
    - setup_x509_store
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - cms_verify_bytes
    - g_assert_nonnull
    - CMS_get0_SignerInfos
    - g_assert_null
    - STACK_OF
    - cms_sign
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void signature_append_partial(SignatureFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/signature.c:1085,1
    - Dst: g_assert
      Src: /src/rauc/test/signature.c:1087,1
    - Dst: g_setenv
      Src: /src/rauc/test/signature.c:1087,1
    - Dst: g_assert
      Src: /src/rauc/test/signature.c:1089,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/signature.c:1089,1
    - Dst: g_assert
      Src: /src/rauc/test/signature.c:1092,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/signature.c:1092,1
    - Dst: g_test_init
      Src: /src/rauc/test/signature.c:1095,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1097,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1098,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1099,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1100,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1101,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1102,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1103,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1104,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1105,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1106,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1107,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1108,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1109,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1110,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1111,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1112,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1113,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1114,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1115,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1116,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1117,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1118,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1119,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1120,1
    - Dst: g_test_add
      Src: /src/rauc/test/signature.c:1121,1
    - Dst: g_test_run
      Src: /src/rauc/test/signature.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1124
    functionName: main
    functionSourceFile: /src/rauc/test/signature.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - setlocale
    - test_prepare_dummy_file
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/bundle.c:33,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:34,1
    - Dst: g_test_message
      Src: /src/rauc/test/bundle.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: bundle_fixture_set_up
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:41,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:44,1
    - Dst: g_test_skip
      Src: /src/rauc/test/bundle.c:45,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:50,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/bundle.c:52,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:53,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:56,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:57,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:58,1
    - Dst: test_create_content
      Src: /src/rauc/test/bundle.c:60,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:63,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:64,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:67,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:68,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:69,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:70,1
    - Dst: test_create_bundle
      Src: /src/rauc/test/bundle.c:72,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:73,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/test/bundle.c:76,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:76,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:77,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 80
    functionName: prepare_bundle
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_test_expect_message
    - g_test_skip
    - parse_bundle_formats
    - r_context
    - g_strcmp0
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - test_create_bundle
    - g_build_filename
    - test_create_content
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void prepare_bundle(BundleFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:85,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:85,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:86,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:86,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: bundle_fixture_set_up_bundle
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - replace_strdup
    - r_context_conf
    - prepare_bundle
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:94,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:94,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:95,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:95,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:97,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/bundle.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: bundle_fixture_set_up_bundle_corrupt
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - replace_strdup
    - flip_bits_filename
    - r_context_conf
    - prepare_bundle
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle_corrupt(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:104,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:104,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:105,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:105,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: bundle_fixture_set_up_bundle_autobuilder2
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - replace_strdup
    - r_context_conf
    - prepare_bundle
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle_autobuilder2(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:113,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:113,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:114,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:114,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:116,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:116,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:117,1
    - Dst: g_strdup
      Src: /src/rauc/test/bundle.c:117,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: bundle_fixture_set_up_bundle_email
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_context_conf
    - g_strdup
    - prepare_bundle
    - replace_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle_email(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:125,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:125,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:126,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:126,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:128,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:128,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:129,1
    - Dst: g_strdup
      Src: /src/rauc/test/bundle.c:129,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: bundle_fixture_set_up_bundle_codesign
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_context_conf
    - g_strdup
    - prepare_bundle
    - replace_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle_codesign(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:138,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:138,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:139,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:139,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:141,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:141,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:142,1
    - Dst: g_strdup
      Src: /src/rauc/test/bundle.c:142,1
    - Dst: prepare_bundle
      Src: /src/rauc/test/bundle.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: bundle_fixture_set_up_bundle_codesign_no_key_usage
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_context_conf
    - g_strdup
    - prepare_bundle
    - replace_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_set_up_bundle_codesign_no_key_usage(BundleFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:152,1
    - Dst: rm_tree
      Src: /src/rauc/test/bundle.c:152,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:154,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:155,1
    - Dst: g_free
      Src: /src/rauc/test/bundle.c:156,1
    - Dst: g_test_assert_expected_messages
      Src: /src/rauc/test/bundle.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: bundle_fixture_tear_down
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_test_assert_expected_messages
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_tear_down(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bundle_fixture_tear_down
      Src: /src/rauc/test/bundle.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: bundle_fixture_tear_down_autobuilder2
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - bundle_fixture_tear_down
    linkageType: ''
    returnType: void
    signature: "void bundle_fixture_tear_down_autobuilder2(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:171,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:172,1
    - Dst: write_random_file
      Src: /src/rauc/test/bundle.c:175,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:176,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:178,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:179,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:180,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: test_check_empty_bundle
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - g_assert_nonnull
    - write_random_file
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void test_check_empty_bundle(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:188,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:189,1
    - Dst: write_random_file
      Src: /src/rauc/test/bundle.c:192,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:193,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:195,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:196,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:197,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: test_check_invalid_bundle
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - g_assert_nonnull
    - write_random_file
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void test_check_invalid_bundle(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:204,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:205,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:208,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:209,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:210,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: bundle_test_create_check_error
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_create_check_error(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:219,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:220,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:223,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:224,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:226,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:227,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:228,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:229,1
    - Dst: extract_bundle
      Src: /src/rauc/test/bundle.c:231,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:232,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:233,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:235,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:236,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:236,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:237,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:239,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:240,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:240,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:241,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:243,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:244,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:244,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: bundle_test_create_extract
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - check_bundle
    - extract_bundle
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - g_assert_nonnull
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_create_extract(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:254,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:261,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:263,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:265,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:266,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:266,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:268,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:268,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:269,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:270,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:271,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:274,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:275,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:276,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:278,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:278,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:280,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:280,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:281,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:282,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:283,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:285,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:285,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:286,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:286,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:287,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:291,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:291,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:292,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:292,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:294,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:295,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:297,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:297,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:298,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:298,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:299,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:300,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:301,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:303,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:303,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:304,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:304,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:305,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:307,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:309,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:309,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:310,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:310,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:311,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:312,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:313,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:315,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:315,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:316,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:316,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:317,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:318,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:320,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:322,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:322,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:323,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:323,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:325,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:325,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:326,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:326,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:328,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:328,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:329,1
    - Dst: S_ISLNK
      Src: /src/rauc/test/bundle.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:331,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:331,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:332,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:332,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:333,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:335,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:335,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:336,1
    - Dst: S_ISCHR
      Src: /src/rauc/test/bundle.c:336,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:337,1
    - Dst: major
      Src: /src/rauc/test/bundle.c:337,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:338,1
    - Dst: minor
      Src: /src/rauc/test/bundle.c:338,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:340,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:340,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:341,1
    - Dst: S_ISBLK
      Src: /src/rauc/test/bundle.c:341,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:342,1
    - Dst: major
      Src: /src/rauc/test/bundle.c:342,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:343,1
    - Dst: minor
      Src: /src/rauc/test/bundle.c:343,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:345,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:345,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:346,1
    - Dst: S_ISFIFO
      Src: /src/rauc/test/bundle.c:346,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:347,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:348,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:349,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:350,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:352,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:352,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:353,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:353,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:354,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:355,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:356,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:358,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:358,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:359,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:361,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:363,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:363,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:364,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:364,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:365,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:366,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:367,1
    - Dst: g_test_incomplete
      Src: /src/rauc/test/bundle.c:369,1
    - Dst: test_show_tree
      Src: /src/rauc/test/bundle.c:370,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:373,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:373,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:376,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:377,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:378,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:380,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:380,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:381,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:381,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:382,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:384,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:386,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:386,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:387,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:387,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:388,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:389,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:390,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:392,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:392,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:393,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:395,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:396,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:398,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:398,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:399,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:399,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:401,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:402,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:404,1
    - Dst: test_lstat
      Src: /src/rauc/test/bundle.c:404,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:405,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:405,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:406,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:407,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:408,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bundle.c:409,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:410,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:411,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bundle.c:412,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:414,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:414,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:415,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:415,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:416,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:417,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:420,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:420,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:421,1
    - Dst: S_ISREG
      Src: /src/rauc/test/bundle.c:421,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:422,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:423,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:425,1
    - Dst: g_stat
      Src: /src/rauc/test/bundle.c:425,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:426,1
    - Dst: S_ISDIR
      Src: /src/rauc/test/bundle.c:426,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:427,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:428,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/bundle.c:429,1
    - Dst: g_test_incomplete
      Src: /src/rauc/test/bundle.c:431,1
    - Dst: test_show_tree
      Src: /src/rauc/test/bundle.c:432,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:435,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 143
    argCount: 2
    argNames:
    - bundle
    - data
    argTypes:
    - RaucBundle*
    - BundleData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 437
    functionName: check_artifacts
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_assert_cmpuint
    - g_assert_cmpint
    - g_test_incomplete
    - S_ISCHR
    - g_build_filename
    - test_show_tree
    - S_ISDIR
    - g_assert_true
    - g_assert_nonnull
    - g_strdup_printf
    - S_ISBLK
    - minor
    - g_assert_false
    - g_stat
    - S_ISREG
    - S_ISLNK
    - g_strcmp0
    - S_ISFIFO
    - major
    - test_lstat
    linkageType: ''
    returnType: void
    signature: void check_artifacts(RaucBundle *bundle, BundleData *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:442,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:443,1
    - Dst: g_test_failed
      Src: /src/rauc/test/bundle.c:446,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/bundle.c:450,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:453,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:454,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:455,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:456,1
    - Dst: mount_bundle
      Src: /src/rauc/test/bundle.c:458,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:459,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:460,1
    - Dst: check_artifacts
      Src: /src/rauc/test/bundle.c:463,1
    - Dst: umount_bundle
      Src: /src/rauc/test/bundle.c:465,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:466,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 468
    functionName: bundle_test_create_mount
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - test_running_as_root
    - g_test_failed
    - mount_bundle
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - umount_bundle
    - check_artifacts
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void bundle_test_create_mount(BundleFixture *fixture, gconstpointer
      user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:473,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:474,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/bundle.c:478,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:481,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:483,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:484,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:485,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:486,1
    - Dst: mount_bundle
      Src: /src/rauc/test/bundle.c:488,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:489,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:490,1
    - Dst: umount_bundle
      Src: /src/rauc/test/bundle.c:492,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:493,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:494,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: bundle_test_create_mount_extract_with_pre_check
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - test_running_as_root
    - r_context
    - mount_bundle
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - umount_bundle
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_create_mount_extract_with_pre_check(BundleFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:501,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:502,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/bundle.c:506,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:509,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:511,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:512,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:513,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:514,1
    - Dst: mount_bundle
      Src: /src/rauc/test/bundle.c:516,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:517,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:518,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:519,1
    - Dst: strstr
      Src: /src/rauc/test/bundle.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: bundle_test_create_check_mount_with_pre_check_corrupt
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - test_running_as_root
    - r_context
    - strstr
    - mount_bundle
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_create_check_mount_with_pre_check_corrupt(BundleFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:526,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:527,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:530,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:531,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:533,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:534,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:535,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:536,1
    - Dst: extract_signature
      Src: /src/rauc/test/bundle.c:538,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:539,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:540,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:542,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:542,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:543,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 545
    functionName: bundle_test_extract_signature
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - check_bundle
    - r_context
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - g_assert_nonnull
    - extract_signature
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_extract_signature(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:551,1
    - Dst: g_list_length
      Src: /src/rauc/test/bundle.c:551,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/bundle.c:553,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:554,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/bundle.c:555,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/bundle.c:556,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:557,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/bundle.c:559,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:560,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/bundle.c:561,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/bundle.c:562,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/bundle.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rm
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: assert_casync_manifest
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpuint
    - g_list_nth_data
    - g_assert_nonnull
    - g_list_length
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void assert_casync_manifest(RaucManifest *rm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:569,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:570,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:573,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:574,1
    - Dst: test_copy_file
      Src: /src/rauc/test/bundle.c:574,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:576,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:578,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:580,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:583,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:584,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:585,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:586,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/test/bundle.c:588,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:589,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:590,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:591,1
    - Dst: assert_casync_manifest
      Src: /src/rauc/test/bundle.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 594
    functionName: bundle_test_check_casync_old
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - g_test_expect_message
    - test_copy_file
    - assert_casync_manifest
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - load_manifest_from_bundle
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void bundle_test_check_casync_old(BundleFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:599,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:600,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:603,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:604,1
    - Dst: test_copy_file
      Src: /src/rauc/test/bundle.c:604,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:606,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:608,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:611,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:612,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:613,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:614,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/test/bundle.c:616,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:617,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:618,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:619,1
    - Dst: assert_casync_manifest
      Src: /src/rauc/test/bundle.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 622
    functionName: bundle_test_check_casync_new
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - g_test_expect_message
    - test_copy_file
    - assert_casync_manifest
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - load_manifest_from_bundle
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void bundle_test_check_casync_new(BundleFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:633,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:634,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:637,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:638,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:639,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:640,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:642,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:642,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:643,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:644,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:645,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:646,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:647,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:650,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:650,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:651,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:652,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:653,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:656,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:657,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:658,1
    - Dst: resign_bundle
      Src: /src/rauc/test/bundle.c:661,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:662,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:663,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:664,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:667,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:668,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:669,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:670,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:672,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:672,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:673,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:674,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:675,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:677,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:678,1
    - Dst: extract_signature
      Src: /src/rauc/test/bundle.c:681,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:682,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:683,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:684,1
    - Dst: g_file_test
      Src: /src/rauc/test/bundle.c:684,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:685,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:687,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:687,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:688,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:689,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:690,1
    - Dst: replace_signature
      Src: /src/rauc/test/bundle.c:692,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:693,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:694,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:695,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:697,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:698,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:699,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:700,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:701,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:703,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:703,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:704,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:705,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:706,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:707,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:710,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:710,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:711,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:712,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:713,1
    - Dst: replace_signature
      Src: /src/rauc/test/bundle.c:716,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:717,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:718,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:719,1
    - Dst: g_remove
      Src: /src/rauc/test/bundle.c:722,1
    - Dst: replace_signature
      Src: /src/rauc/test/bundle.c:723,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:724,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:725,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:726,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:727,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:729,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:730,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:731,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:732,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:733,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:735,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:735,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:736,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:737,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:738,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 742
    functionName: bundle_test_replace_signature
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - g_file_test
    - replace_signature
    - r_context
    - g_remove
    - replace_strdup
    - g_clear_pointer
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - extract_signature
    - g_build_filename
    - resign_bundle
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_replace_signature(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:748,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:749,1
    - Dst: g_build_filename
      Src: /src/rauc/test/bundle.c:752,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:753,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:759,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:759,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:760,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:761,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:762,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:763,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:765,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:768,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:768,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:769,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:770,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:771,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:774,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:775,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:776,1
    - Dst: resign_bundle
      Src: /src/rauc/test/bundle.c:778,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:779,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:780,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:782,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:789,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:789,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:790,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:791,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:792,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:793,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:795,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:798,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:798,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:799,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:800,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:801,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 805
    functionName: bundle_test_resign
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - r_context
    - replace_strdup
    - g_clear_pointer
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_build_filename
    - resign_bundle
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_resign(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:810,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:811,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:812,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:812,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:814,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:814,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:815,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:816,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:819,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 820
    functionName: bundle_test_wrong_capath
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - r_context
    - replace_strdup
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_wrong_capath(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:827,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:828,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:831,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:833,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:835,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:837,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:838,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:839,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 841
    functionName: bundle_test_verify_no_crl_warn
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - check_bundle
    - g_test_expect_message
    - r_context
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_verify_no_crl_warn(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:848,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:849,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:851,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:851,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:852,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: bundle_test_verify_revoked
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_bundle
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_verify_revoked(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:859,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:860,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:865,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:866,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:866,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:867,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:868,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:869,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:870,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:871,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:873,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:874,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:874,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:875,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:876,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:877,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:878,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:879,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:881,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:882,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:882,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:883,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:884,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:885,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:886,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:888,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:889,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:889,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:890,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:891,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:892,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:893,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:894,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:896,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 897
    functionName: bundle_test_purpose_default
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - r_context
    - replace_strdup
    - g_assert_true
    - g_message
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_purpose_default(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:902,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:903,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:908,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:909,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:909,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:910,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:911,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:912,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:913,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:914,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:916,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:917,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:917,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:918,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:919,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:920,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:921,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:922,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:924,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:925,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:925,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:926,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:927,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:928,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:929,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:930,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:932,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:933,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:933,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:934,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:935,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:936,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:937,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:938,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:940,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 941
    functionName: bundle_test_purpose_email
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - r_context
    - replace_strdup
    - g_assert_true
    - g_message
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_purpose_email(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:946,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:947,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:952,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:953,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:953,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:954,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:955,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:956,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:957,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:958,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:960,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:961,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:961,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:962,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:963,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:964,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:965,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:966,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:968,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:969,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:969,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:970,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:971,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:972,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:973,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:974,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:976,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:977,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:977,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:978,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:979,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:980,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:981,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:982,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:984,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 985
    functionName: bundle_test_purpose_codesign
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - r_context
    - replace_strdup
    - g_assert_true
    - g_message
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_purpose_codesign(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:990,1
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:991,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:996,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:997,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:997,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:998,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:999,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:1000,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:1001,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:1002,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:1004,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:1005,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:1005,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:1006,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bundle.c:1007,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bundle.c:1008,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bundle.c:1009,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bundle.c:1010,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:1012,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:1013,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:1013,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:1014,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:1015,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:1016,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:1017,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/bundle.c:1018,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:1019,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:1020,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:1021,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:1022,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:1023,1
    - Dst: g_message
      Src: /src/rauc/test/bundle.c:1025,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:1026,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:1026,1
    - Dst: check_bundle
      Src: /src/rauc/test/bundle.c:1027,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bundle.c:1028,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bundle.c:1029,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bundle.c:1030,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bundle.c:1031,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:1033,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BundleFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1034
    functionName: bundle_test_purpose_codesign_no_key_usage
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - check_bundle
    - g_test_expect_message
    - r_context
    - replace_strdup
    - g_assert_true
    - g_message
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void bundle_test_purpose_codesign_no_key_usage(BundleFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/bundle.c:1038,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/bundle.c:1038,1
    - Dst: setlocale
      Src: /src/rauc/test/bundle.c:1040,1
    - Dst: g_assert
      Src: /src/rauc/test/bundle.c:1042,1
    - Dst: g_setenv
      Src: /src/rauc/test/bundle.c:1042,1
    - Dst: replace_strdup
      Src: /src/rauc/test/bundle.c:1044,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bundle.c:1044,1
    - Dst: r_context
      Src: /src/rauc/test/bundle.c:1045,1
    - Dst: g_test_init
      Src: /src/rauc/test/bundle.c:1047,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/test/bundle.c:1050,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1052,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1058,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1058,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1063,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1063,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1068,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1068,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1073,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1073,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1078,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1078,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1083,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1083,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1088,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1088,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1093,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1093,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1098,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1098,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1103,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1103,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1108,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1108,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1113,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1113,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1118,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1118,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1123,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1123,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1129,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1129,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1134,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/bundle.c:1134,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1142,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1147,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1153,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1159,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1164,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1170,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1175,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1181,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1186,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1192,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1197,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1203,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1209,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1215,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1220,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1226,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1231,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1237,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1242,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1248,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1253,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1259,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1264,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1271,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1276,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1284,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1289,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1297,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1302,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1311,1
    - Dst: dup_test_data
      Src: /src/rauc/test/bundle.c:1316,1
    - Dst: g_test_add
      Src: /src/rauc/test/bundle.c:1324,1
    - Dst: g_test_run
      Src: /src/rauc/test/bundle.c:1329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1330
    functionName: main
    functionSourceFile: /src/rauc/test/bundle.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - r_context
    - g_assert
    - r_context_conf
    - r_manifest_bundle_format_to_str
    - dup_test_data
    - replace_strdup
    - g_ptr_array_new_with_free_func
    - setlocale
    - g_test_add
    - dup_test_printf
    - g_setenv
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/test/common.c:21,1
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:22,1
    - Dst: g_rand_new_with_seed
      Src: /src/rauc/test/common.c:22,1
    - Dst: g_rand_int
      Src: /src/rauc/test/common.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - seed
    argTypes:
    - gsize
    - guint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: random_bytes
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_rand_new_with_seed
    - g_rand_int
    - g_malloc0
    - g_autoptr
    linkageType: ''
    returnType: guint8
    signature: guint8 *random_bytes(gsize size, guint32 seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:35,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:36,1
    - Dst: random_bytes
      Src: /src/rauc/test/common.c:38,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/common.c:40,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/common.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - tmpdir
    - filename
    - size
    - seed
    argTypes:
    - gchar*
    - gchar*
    - gsize
    - guint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: write_random_file
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 4
    functionsReached:
    - g_file_set_contents
    - g_assert_nonnull
    - g_build_filename
    - random_bytes
    - g_steal_pointer
    linkageType: ''
    returnType: gchar
    signature: "gchar *write_random_file(const gchar *tmpdir, const gchar *filename,\n\t\tgsize
      size, const guint32 seed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:58,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:59,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/common.c:61,1
    - Dst: g_propagate_error
      Src: /src/rauc/test/common.c:62,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/common.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - tmpdir
    - filename
    - content
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: write_tmp_file
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 39
    functionsReached:
    - g_file_set_contents
    - g_assert_nonnull
    - g_propagate_error
    - g_build_filename
    - g_steal_pointer
    linkageType: ''
    returnType: gchar
    signature: "gchar *write_tmp_file(\n\t\tconst gchar *tmpdir,\n\t\tconst gchar
      *filename,\n\t\tconst gchar *content,\n\t\tGError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_new_file
      Src: /src/rauc/test/common.c:76,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:77,1
    - Dst: g_io_channel_set_encoding
      Src: /src/rauc/test/common.c:78,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:79,1
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:81,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:82,1
    - Dst: g_io_channel_new_file
      Src: /src/rauc/test/common.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:85,1
    - Dst: g_io_channel_set_encoding
      Src: /src/rauc/test/common.c:86,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:87,1
    - Dst: g_free
      Src: /src/rauc/test/common.c:88,1
    - Dst: g_io_channel_read_chars
      Src: /src/rauc/test/common.c:96,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/common.c:98,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:99,1
    - Dst: g_io_channel_write_chars
      Src: /src/rauc/test/common.c:101,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/common.c:103,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:104,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:105,1
    - Dst: g_io_channel_unref
      Src: /src/rauc/test/common.c:110,1
    - Dst: g_io_channel_unref
      Src: /src/rauc/test/common.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - dirname
    - filename
    - size
    - source
    argTypes:
    - gchar*
    - gchar*
    - gsize
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: test_prepare_dummy_file
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 3
    functionsReached:
    - g_io_channel_set_encoding
    - g_assert
    - g_io_channel_new_file
    - g_io_channel_write_chars
    - g_io_channel_read_chars
    - g_assert_no_error
    - g_assert_nonnull
    - g_io_channel_unref
    - g_build_filename
    - g_free
    linkageType: ''
    returnType: int
    signature: "int test_prepare_dummy_file(const gchar *dirname, const gchar *filename,\n\t\tgsize
      size, const gchar *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/rauc/test/common.c:120,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:121,1
    - Dst: g_mkdir
      Src: /src/rauc/test/common.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dirname
    - filename
    - mode
    argTypes:
    - gchar*
    - gchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: test_mkdir_relative
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 2
    functionsReached:
    - g_strdup_printf
    - g_mkdir
    - g_assert_nonnull
    linkageType: ''
    returnType: int
    signature: int test_mkdir_relative(const gchar *dirname, const gchar *filename,
      int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:133,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:134,1
    - Dst: g_rmdir
      Src: /src/rauc/test/common.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: test_rmdir
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_rmdir
    - g_build_filename
    - g_assert_nonnull
    linkageType: ''
    returnType: int
    signature: int test_rmdir(const gchar *dirname, const gchar *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:146,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:147,1
    - Dst: g_remove
      Src: /src/rauc/test/common.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: test_remove
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_build_filename
    - g_remove
    - g_assert_nonnull
    linkageType: ''
    returnType: int
    signature: int test_remove(const gchar *dirname, const gchar *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:159,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:160,1
    - Dst: g_lstat
      Src: /src/rauc/test/common.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dirname
    - filename
    - buf
    argTypes:
    - gchar*
    - gchar*
    - GStatBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: test_lstat
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_lstat
    - g_build_filename
    - g_assert_nonnull
    linkageType: ''
    returnType: int
    signature: int test_lstat(const gchar *dirname, const gchar *filename, GStatBuf
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:172,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:173,1
    - Dst: rm_tree
      Src: /src/rauc/test/common.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: test_rm_tree
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_build_filename
    - rm_tree
    - g_assert_nonnull
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_rm_tree(const gchar *dirname, const gchar *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:182,1
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:183,1
    - Dst: g_string_sized_new
      Src: /src/rauc/test/common.c:183,1
    - Dst: g_string_append
      Src: /src/rauc/test/common.c:185,1
    - Dst: g_string_append_printf
      Src: /src/rauc/test/common.c:192,1
    - Dst: g_string_append
      Src: /src/rauc/test/common.c:193,1
    - Dst: g_string_append
      Src: /src/rauc/test/common.c:195,1
    - Dst: g_string_append
      Src: /src/rauc/test/common.c:237,1
    - Dst: g_string_append
      Src: /src/rauc/test/common.c:247,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:254,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/common.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - dirname
    - filename
    - options
    argTypes:
    - gchar*
    - gchar*
    - SystemTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 257
    functionName: test_prepare_system_conf
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_file_set_contents
    - g_assert_true
    - g_string_append_printf
    - g_string_sized_new
    - g_build_filename
    - g_string_append
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int test_prepare_system_conf(const gchar *dirname, const gchar *filename,
      const SystemTestOptions *options)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:261,1
    - Dst: g_new0
      Src: /src/rauc/test/common.c:262,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:265,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:267,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:269,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:271,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:276,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:279,1
    - Dst: r_new_image
      Src: /src/rauc/test/common.c:283,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:284,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:285,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:286,1
    - Dst: g_list_append
      Src: /src/rauc/test/common.c:289,1
    - Dst: r_new_image
      Src: /src/rauc/test/common.c:291,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:292,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:293,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:294,1
    - Dst: g_list_append
      Src: /src/rauc/test/common.c:295,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:299,1
    - Dst: r_new_image
      Src: /src/rauc/test/common.c:301,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:302,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:303,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/common.c:304,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:305,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/common.c:308,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:309,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/common.c:312,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:313,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/common.c:316,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/common.c:317,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:318,1
    - Dst: g_error
      Src: /src/rauc/test/common.c:322,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/common.c:325,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:326,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:326,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:327,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/test/common.c:328,1
    - Dst: g_list_append
      Src: /src/rauc/test/common.c:331,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:334,1
    - Dst: check_manifest_input
      Src: /src/rauc/test/common.c:334,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:336,1
    - Dst: save_manifest_file
      Src: /src/rauc/test/common.c:336,1
    - Dst: free_manifest
      Src: /src/rauc/test/common.c:338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 3
    argNames:
    - dirname
    - filename
    - options
    argTypes:
    - gchar*
    - gchar*
    - ManifestTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 340
    functionName: test_prepare_manifest_file
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_add
    - g_list_append
    - g_strdup
    - r_new_image
    - save_manifest_file
    - check_manifest_input
    - g_strcmp0
    - g_ptr_array_free
    - g_error
    - g_assert_true
    - g_ptr_array_new_with_free_func
    - free_manifest
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    linkageType: ''
    returnType: int
    signature: int test_prepare_manifest_file(const gchar *dirname, const gchar *filename,
      const ManifestTestOptions *options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:344,1
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:349,1
    - Dst: g_subprocess_new
      Src: /src/rauc/test/common.c:350,1
    - Dst: g_warning
      Src: /src/rauc/test/common.c:360,1
    - Dst: g_clear_error
      Src: /src/rauc/test/common.c:361,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/common.c:365,1
    - Dst: g_warning
      Src: /src/rauc/test/common.c:367,1
    - Dst: g_clear_error
      Src: /src/rauc/test/common.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dirname
    - filename
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 372
    functionName: test_make_filesystem
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 2
    functionsReached:
    - g_clear_error
    - g_subprocess_wait_check
    - g_subprocess_new
    - g_build_filename
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_make_filesystem(const gchar *dirname, const gchar *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_mount_full
      Src: /src/rauc/test/common.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: test_mount
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 2
    functionsReached:
    - r_mount_full
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_mount(const gchar *src, const gchar *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:381,1
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:383,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/test/common.c:383,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:385,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:385,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:386,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:386,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:387,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:387,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:388,1
    - Dst: g_subprocess_newv
      Src: /src/rauc/test/common.c:390,1
    - Dst: g_warning
      Src: /src/rauc/test/common.c:393,1
    - Dst: g_clear_error
      Src: /src/rauc/test/common.c:394,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/common.c:398,1
    - Dst: g_warning
      Src: /src/rauc/test/common.c:399,1
    - Dst: g_clear_error
      Src: /src/rauc/test/common.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: test_do_chmod
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_subprocess_wait_check
    - g_ptr_array_add
    - g_strdup
    - g_subprocess_newv
    - g_ptr_array_new_full
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_do_chmod(const gchar *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:412,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:413,1
    - Dst: r_umount
      Src: /src/rauc/test/common.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dirname
    - mountpoint
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: test_umount
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - r_umount
    - g_build_filename
    - g_assert_nonnull
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_umount(const gchar *dirname, const gchar *mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_file
      Src: /src/rauc/test/common.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - srcprefix
    - srcfile
    - dstprefix
    - dstfile
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: test_copy_file
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 4
    functionsReached:
    - copy_file
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_copy_file(const gchar *srcprefix, const gchar *srcfile,
      const gchar *dstprefix, const gchar *dstfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:431,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:432,1
    - Dst: g_build_filename
      Src: /src/rauc/test/common.c:434,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:435,1
    - Dst: g_file_test
      Src: /src/rauc/test/common.c:437,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:438,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/common.c:438,1
    - Dst: test_mount
      Src: /src/rauc/test/common.c:441,1
    - Dst: test_do_chmod
      Src: /src/rauc/test/common.c:443,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:445,1
    - Dst: r_umount
      Src: /src/rauc/test/common.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - path
    - file
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 450
    functionName: test_make_slot_user_writable
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 2
    functionsReached:
    - g_file_test
    - test_mkdir_relative
    - g_assert
    - test_do_chmod
    - g_assert_true
    - g_assert_nonnull
    - test_mount
    - r_umount
    - g_build_filename
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_make_slot_user_writable(const gchar *path, const gchar
      *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/test/common.c:456,1
    - Dst: g_mkdir
      Src: /src/rauc/test/common.c:456,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:457,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/common.c:457,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:459,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/common.c:459,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:461,1
    - Dst: test_prepare_manifest_file
      Src: /src/rauc/test/common.c:461,1
    - Dst: write_random_file
      Src: /src/rauc/test/common.c:464,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/common.c:465,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:468,1
    - Dst: test_copy_file
      Src: /src/rauc/test/common.c:468,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:469,1
    - Dst: test_copy_file
      Src: /src/rauc/test/common.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - contentdir
    - options
    argTypes:
    - gchar*
    - ManifestTestOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: test_create_content
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - test_prepare_manifest_file
    - g_assert
    - test_copy_file
    - g_assert_true
    - g_mkdir
    - test_prepare_dummy_file
    - write_random_file
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: void test_create_content(gchar *contentdir, const ManifestTestOptions
      *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_bundle
      Src: /src/rauc/test/common.c:478,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/common.c:479,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - contentdir
    - bundlename
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: test_create_bundle
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_assert_no_error
    - g_assert_true
    - create_bundle
    linkageType: ''
    returnType: void
    signature: void test_create_bundle(gchar *contentdir, gchar *bundlename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/rauc/test/common.c:485,1
    - Dst: geteuid
      Src: /src/rauc/test/common.c:486,1
    - Dst: g_test_message
      Src: /src/rauc/test/common.c:491,1
    - Dst: g_test_skip
      Src: /src/rauc/test/common.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: test_running_as_root
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 6
    functionsReached:
    - g_test_message
    - g_test_skip
    - getuid
    - geteuid
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_running_as_root(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/common.c:501,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/test/common.c:501,1
    - Dst: g_return_if_fail
      Src: /src/rauc/test/common.c:503,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:505,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:505,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:506,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:506,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:507,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:507,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:508,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:508,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:510,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:510,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:511,1
    - Dst: g_strdup
      Src: /src/rauc/test/common.c:511,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:512,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/test/common.c:514,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/common.c:515,1
    - Dst: g_assert_true
      Src: /src/rauc/test/common.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - path
    - inodes
    argTypes:
    - gchar*
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 517
    functionName: test_show_tree
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - g_assert_true
    - r_subprocess_runv
    - g_assert_no_error
    - g_return_if_fail
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_show_tree(const gchar *path, gboolean inodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_file_new_for_path
      Src: /src/rauc/test/common.c:527,1
    - Dst: g_file_read
      Src: /src/rauc/test/common.c:528,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/common.c:530,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/common.c:537,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/common.c:537,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/common.c:540,1
    - Dst: g_seekable_tell
      Src: /src/rauc/test/common.c:547,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/common.c:547,1
    - Dst: g_clear_object
      Src: /src/rauc/test/common.c:550,1
    - Dst: g_clear_object
      Src: /src/rauc/test/common.c:551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 554
    functionName: get_file_size
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_seekable_tell
    - g_file_read
    - g_clear_object
    - g_file_new_for_path
    - g_seekable_seek
    - G_SEEKABLE
    linkageType: ''
    returnType: gsize
    signature: gsize get_file_size(gchar *filename, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/common.c:559,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/common.c:560,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:561,1
    - Dst: pread
      Src: /src/rauc/test/common.c:561,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:563,1
    - Dst: pwrite
      Src: /src/rauc/test/common.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - offset
    - mask
    argTypes:
    - int
    - off_t
    - guint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: flip_bits_fd
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_assert_cmphex
    - pwrite
    - g_assert
    - g_assert_cmpint
    - pread
    linkageType: ''
    returnType: void
    signature: void flip_bits_fd(int fd, off_t offset, guint8 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/rauc/test/common.c:568,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/common.c:569,1
    - Dst: flip_bits_fd
      Src: /src/rauc/test/common.c:570,1
    - Dst: g_assert
      Src: /src/rauc/test/common.c:571,1
    - Dst: fsync
      Src: /src/rauc/test/common.c:571,1
    - Dst: g_close
      Src: /src/rauc/test/common.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - offset
    - mask
    argTypes:
    - gchar*
    - off_t
    - guint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: flip_bits_filename
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 1
    functionsReached:
    - g_close
    - flip_bits_fd
    - fsync
    - g_assert
    - g_open
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: void flip_bits_filename(gchar *filename, off_t offset, guint8 mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_replace_strdup
      Src: /src/rauc/test/common.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gchar**
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: replace_strdup
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 16
    functionsReached:
    - r_replace_strdup
    linkageType: ''
    returnType: void
    signature: void replace_strdup(gchar **dst, const gchar *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/common.c:582,1
    - Dst: g_strsplit
      Src: /src/rauc/test/common.c:585,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/test/common.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: test_ptr_array_from_strsplit
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_addv
    - g_ptr_array_new_with_free_func
    - g_strsplit
    linkageType: ''
    returnType: GPtrArray
    signature: GPtrArray *test_ptr_array_from_strsplit(const gchar *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_memdup
      Src: /src/rauc/test/common.c:594,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptrs
    - mem
    - len
    argTypes:
    - GPtrArray*
    - void*
    - gsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: dup_test_mem
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 0
    functionsReached:
    - g_memdup
    - g_ptr_array_add
    linkageType: ''
    returnType: void
    signature: void *dup_test_mem(GPtrArray *ptrs, const void *mem, gsize len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rauc/test/common.c:606,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/test/common.c:607,1
    - Dst: va_end
      Src: /src/rauc/test/common.c:608,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/common.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptrs
    - format
    argTypes:
    - GPtrArray*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 613
    functionName: dup_test_printf
    functionSourceFile: /src/rauc/test/common.c
    functionUses: 2
    functionsReached:
    - va_start
    - g_ptr_array_add
    - va_end
    - g_strdup_vprintf
    linkageType: ''
    returnType: void
    signature: void *dup_test_printf(GPtrArray *ptrs, const gchar *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:20,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:21,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:22,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:23,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:24,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:25,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:26,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:28,1
    - Dst: g_list_length
      Src: /src/rauc/test/manifest.c:28,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:32,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:33,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:34,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:35,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:38,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:38,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:39,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:39,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:40,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - rm
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 41
    functionName: manifest_check_common
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_cmpuint
    - r_manifest_has_artifact_image
    - g_list_length
    - g_assert_nonnull
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void manifest_check_common(RaucManifest *rm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:53,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:58,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:59,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:60,1
    - Dst: manifest_check_common
      Src: /src/rauc/test/manifest.c:61,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:62,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:63,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:65,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:66,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:69,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:70,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:71,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:73,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:74,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:75,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:78,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:79,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:80,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:82,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: test_load_manifest
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_cmpuint
    - g_assert_true
    - load_manifest_file
    - manifest_check_common
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_load_manifest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:91,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:92,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:93,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:94,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:95,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:96,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:98,1
    - Dst: g_list_length
      Src: /src/rauc/test/manifest.c:98,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:100,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:101,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:102,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:103,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:104,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:105,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:106,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:108,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:109,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:110,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:111,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:112,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:113,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/manifest.c:114,1
    - Dst: g_strv_length
      Src: /src/rauc/test/manifest.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:115,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:116,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:118,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:119,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:120,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:121,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:122,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/manifest.c:124,1
    - Dst: g_strv_length
      Src: /src/rauc/test/manifest.c:124,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:125,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:126,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/manifest.c:128,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:129,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:130,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:132,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:132,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:133,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:133,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:134,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:134,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:135,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:135,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:136,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:136,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:137,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/test/manifest.c:137,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:139,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:141,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/manifest.c:141,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:143,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:144,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:145,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:146,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:146,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:148,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:149,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:150,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - rm
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 151
    functionName: check_manifest_contents
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_cmpuint
    - g_list_nth_data
    - r_manifest_has_artifact_image
    - g_assert_true
    - g_assert_cmpint
    - g_strv_length
    - g_hash_table_size
    - g_list_length
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void check_manifest_contents(const RaucManifest *rm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:164,1
    - Dst: g_new0
      Src: /src/rauc/test/manifest.c:164,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:168,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:169,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:171,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:172,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:173,1
    - Dst: r_new_image
      Src: /src/rauc/test/manifest.c:176,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:177,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:179,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:180,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:181,1
    - Dst: g_list_append
      Src: /src/rauc/test/manifest.c:184,1
    - Dst: r_new_image
      Src: /src/rauc/test/manifest.c:186,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:187,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:188,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:190,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:191,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:192,1
    - Dst: g_strsplit
      Src: /src/rauc/test/manifest.c:195,1
    - Dst: g_list_append
      Src: /src/rauc/test/manifest.c:196,1
    - Dst: r_new_image
      Src: /src/rauc/test/manifest.c:198,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:199,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:200,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:202,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:203,1
    - Dst: g_strsplit
      Src: /src/rauc/test/manifest.c:204,1
    - Dst: test_ptr_array_from_strsplit
      Src: /src/rauc/test/manifest.c:205,1
    - Dst: g_list_append
      Src: /src/rauc/test/manifest.c:206,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:208,1
    - Dst: g_list_length
      Src: /src/rauc/test/manifest.c:208,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/manifest.c:210,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/manifest.c:212,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/manifest.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:213,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/manifest.c:214,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:214,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:214,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/manifest.c:215,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:215,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/test/manifest.c:217,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/manifest.c:218,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:218,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:218,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/test/manifest.c:219,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:219,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:221,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/manifest.c:221,1
    - Dst: save_manifest_file
      Src: /src/rauc/test/manifest.c:223,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:224,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:225,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:227,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:229,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:230,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:231,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:233,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:234,1
    - Dst: check_manifest_contents
      Src: /src/rauc/test/manifest.c:235,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:237,1
    - Dst: save_manifest_mem
      Src: /src/rauc/test/manifest.c:238,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:239,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:240,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:242,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:245,1
    - Dst: g_strstr_len
      Src: /src/rauc/test/manifest.c:245,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/manifest.c:245,1
    - Dst: g_message
      Src: /src/rauc/test/manifest.c:247,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/manifest.c:247,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:248,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:249,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:250,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:252,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:253,1
    - Dst: check_manifest_contents
      Src: /src/rauc/test/manifest.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 255
    functionName: test_save_load_manifest
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - check_manifest_contents
    - g_assert_cmpuint
    - load_manifest_mem
    - test_ptr_array_from_strsplit
    - g_hash_table_size
    - g_hash_table_new_full
    - g_assert_no_error
    - g_clear_pointer
    - g_strstr_len
    - g_bytes_get_data
    - g_hash_table_insert
    - g_list_append
    - g_strdup
    - g_assert_true
    - g_list_length
    - g_assert_nonnull
    - g_autoptr
    - r_new_image
    - g_strsplit
    - g_new0
    - save_manifest_mem
    - save_manifest_file
    - load_manifest_file
    - g_message
    linkageType: ''
    returnType: void
    signature: void test_save_load_manifest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:266,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:268,1
    - Dst: g_new0
      Src: /src/rauc/test/manifest.c:268,1
    - Dst: save_manifest_file
      Src: /src/rauc/test/manifest.c:270,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:271,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: test_save_manifest_writefail
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - save_manifest_file
    - g_new0
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_save_manifest_writefail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:284,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:285,1
    - Dst: read_file
      Src: /src/rauc/test/manifest.c:287,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:288,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:288,1
    - Dst: manifest_check_common
      Src: /src/rauc/test/manifest.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: test_load_manifest_mem
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - read_file
    - g_assert_true
    - manifest_check_common
    - load_manifest_mem
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_load_manifest_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:295,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:321,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:322,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:324,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:325,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:327,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:328,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:329,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:331,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:336,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:339,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:340,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:341,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:343,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:344,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:345,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:347,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:348,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 350
    functionName: test_manifest_load_variants
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - write_tmp_file
    - g_dir_make_tmp
    - g_list_nth_data
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_null
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_variants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:355,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:375,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:377,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:378,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:380,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:381,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:382,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:384,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:386,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:387,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:388,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:390,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:391,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 393
    functionName: test_manifest_load_types
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - write_tmp_file
    - g_dir_make_tmp
    - g_list_nth_data
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_types(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:398,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:412,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:413,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:415,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:416,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:418,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:419,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:420,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: test_manifest_load_types_invalid
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_types_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:428,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:441,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:442,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:444,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:445,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:447,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:448,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:449,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 452
    functionName: test_manifest_load_types_fileext_not_mapped
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_types_fileext_not_mapped(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:457,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:460,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:469,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:470,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:472,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:473,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:475,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:476,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 478
    functionName: test_manifest_load_missing_type_and_filename
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_missing_type_and_filename(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:492,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:493,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:495,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:496,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:498,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:499,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:500,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:501,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:502,1
    - Dst: check_manifest_input
      Src: /src/rauc/test/manifest.c:504,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:505,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:506,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 508
    functionName: test_manifest_load_adaptive_missing_filename
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_manifest_input
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_adaptive_missing_filename(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:513,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:516,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:531,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:532,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:534,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:535,1
    - Dst: g_free
      Src: /src/rauc/test/manifest.c:537,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:539,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:540,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:541,1
    - Dst: g_free
      Src: /src/rauc/test/manifest.c:543,1
    - Dst: check_manifest_input
      Src: /src/rauc/test/manifest.c:545,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:546,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:547,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 549
    functionName: test_manifest_load_types_emptyfs_with_imagename_invalid
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - check_manifest_input
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_free
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_types_emptyfs_with_imagename_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:554,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:571,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:572,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:574,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:575,1
    - Dst: g_free
      Src: /src/rauc/test/manifest.c:577,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:579,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:580,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:581,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:583,1
    - Dst: g_free
      Src: /src/rauc/test/manifest.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 585
    functionName: test_manifest_load_types_emptyfs_valid
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_free
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_types_emptyfs_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:590,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:605,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:606,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:608,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:609,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:611,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:612,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:613,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:615,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:617,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:618,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:619,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/manifest.c:620,1
    - Dst: g_strv_length
      Src: /src/rauc/test/manifest.c:620,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:621,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 623
    functionName: test_manifest_load_adaptive
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - write_tmp_file
    - g_dir_make_tmp
    - g_list_nth_data
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_cmpint
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_strv_length
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_adaptive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:628,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:650,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:651,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:653,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:654,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:656,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:657,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:658,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:660,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:662,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:663,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/manifest.c:665,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/manifest.c:665,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:667,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:668,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:669,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:669,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:670,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:670,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:672,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:673,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:674,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/manifest.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 675
    functionName: test_manifest_load_meta
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_cmpuint
    - write_tmp_file
    - g_dir_make_tmp
    - g_list_nth_data
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_meta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:680,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:698,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:699,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:701,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:702,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:704,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:705,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:706,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:708,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/manifest.c:710,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 713
    functionName: test_manifest_load_details
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - write_tmp_file
    - g_dir_make_tmp
    - g_list_nth_data
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_load_details(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:719,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:721,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:732,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:733,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:735,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:736,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:738,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:739,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:740,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 742
    functionName: test_manifest_invalid_hook_name
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_nonnull
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_invalid_hook_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:758,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:759,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:761,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:762,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:764,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:765,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:766,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:767,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:768,1
    - Dst: check_manifest_create
      Src: /src/rauc/test/manifest.c:770,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:771,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:772,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 774
    functionName: test_manifest_invalid_hook_combination
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - write_tmp_file
    - g_dir_make_tmp
    - check_manifest_create
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_invalid_hook_combination(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:780,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:782,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:795,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:796,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:798,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:799,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:801,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:802,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:803,1
    - Dst: check_manifest_internal
      Src: /src/rauc/test/manifest.c:805,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:806,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 808
    functionName: test_manifest_missing_hook_name
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_error
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - check_manifest_internal
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_missing_hook_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:819,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:821,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:848,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:849,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:851,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:852,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:854,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:855,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:856,1
    - Dst: check_manifest_internal
      Src: /src/rauc/test/manifest.c:858,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:859,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:860,1
    - Dst: g_free
      Src: /src/rauc/test/manifest.c:863,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:864,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:865,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:867,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:868,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:870,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:871,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:872,1
    - Dst: check_manifest_internal
      Src: /src/rauc/test/manifest.c:874,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:875,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 877
    functionName: test_manifest_missing_image_size
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_error
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_clear_pointer
    - g_assert_nonnull
    - g_free
    - check_manifest_internal
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_missing_image_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:887,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:889,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:901,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:902,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:904,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:905,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:907,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:908,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:909,1
    - Dst: check_manifest_internal
      Src: /src/rauc/test/manifest.c:911,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:912,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 914
    functionName: test_manifest_image_filename_with_slash
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_error
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - check_manifest_internal
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_image_filename_with_slash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:924,1
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:926,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/manifest.c:938,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:939,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/manifest.c:941,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:942,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/manifest.c:944,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/manifest.c:945,1
    - Dst: g_assert_true
      Src: /src/rauc/test/manifest.c:946,1
    - Dst: check_manifest_internal
      Src: /src/rauc/test/manifest.c:948,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:949,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 951
    functionName: test_manifest_image_digest_not_hex
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_assert_error
    - write_tmp_file
    - g_dir_make_tmp
    - load_manifest_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - check_manifest_internal
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_manifest_image_digest_not_hex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/manifest.c:967,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1017,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1018,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1018,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/manifest.c:1019,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:1020,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1021,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1022,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1023,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1025,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1026,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1026,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1027,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1028,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1029,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1030,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1032,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1033,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1033,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1034,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1035,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1036,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1037,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1039,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1040,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1040,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1041,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1042,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1043,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1044,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1046,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1047,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1047,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1048,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1049,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1050,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1051,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1053,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1054,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1054,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1055,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:1056,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1057,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1058,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1059,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/manifest.c:1061,1
    - Dst: g_assert_false
      Src: /src/rauc/test/manifest.c:1062,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/manifest.c:1062,1
    - Dst: g_assert_error
      Src: /src/rauc/test/manifest.c:1063,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/manifest.c:1064,1
    - Dst: g_clear_error
      Src: /src/rauc/test/manifest.c:1065,1
    - Dst: g_assert_null
      Src: /src/rauc/test/manifest.c:1066,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/manifest.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1068
    functionName: test_invalid_data
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_error
    - load_manifest_mem
    - g_clear_pointer
    - g_bytes_new_static
    - g_assert_nonnull
    - g_assert_null
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_invalid_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/manifest.c:1072,1
    - Dst: g_assert
      Src: /src/rauc/test/manifest.c:1074,1
    - Dst: g_setenv
      Src: /src/rauc/test/manifest.c:1074,1
    - Dst: g_test_init
      Src: /src/rauc/test/manifest.c:1076,1
    - Dst: r_context_conf
      Src: /src/rauc/test/manifest.c:1078,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:1078,1
    - Dst: r_context_conf
      Src: /src/rauc/test/manifest.c:1079,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:1079,1
    - Dst: r_context_conf
      Src: /src/rauc/test/manifest.c:1080,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:1080,1
    - Dst: r_context_conf
      Src: /src/rauc/test/manifest.c:1081,1
    - Dst: g_strdup
      Src: /src/rauc/test/manifest.c:1081,1
    - Dst: r_context
      Src: /src/rauc/test/manifest.c:1082,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1084,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1085,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1086,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1087,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1088,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1089,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1090,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1091,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1092,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1093,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1094,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1095,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1096,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1097,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1098,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1099,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1100,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1101,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1102,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1103,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1104,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/manifest.c:1105,1
    - Dst: g_test_run
      Src: /src/rauc/test/manifest.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1108
    functionName: main
    functionSourceFile: /src/rauc/test/manifest.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_strdup
    - r_context_conf
    - g_assert
    - r_context
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:18,1
    - Dst: system
      Src: /src/rauc/test/artifacts.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: show_tree
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 1
    functionsReached:
    - g_strdup_printf
    - system
    linkageType: ''
    returnType: void
    signature: void show_tree(const gchar *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/artifacts.c:25,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/artifacts.c:26,1
    - Dst: g_assert
      Src: /src/rauc/test/artifacts.c:28,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/artifacts.c:28,1
    - Dst: g_new0
      Src: /src/rauc/test/artifacts.c:30,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:31,1
    - Dst: g_strdup
      Src: /src/rauc/test/artifacts.c:32,1
    - Dst: g_build_filename
      Src: /src/rauc/test/artifacts.c:33,1
    - Dst: g_strdup
      Src: /src/rauc/test/artifacts.c:34,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:36,1
    - Dst: r_artifact_repo_is_valid_type
      Src: /src/rauc/test/artifacts.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: artifacts_fixture_set_up
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - test_mkdir_relative
    - g_strdup
    - g_assert
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_intern_static_string
    - r_artifact_repo_is_valid_type
    linkageType: ''
    returnType: void
    signature: void artifacts_fixture_set_up(ArtifactsFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show_tree
      Src: /src/rauc/test/artifacts.c:41,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:43,1
    - Dst: rm_tree
      Src: /src/rauc/test/artifacts.c:43,1
    - Dst: g_free
      Src: /src/rauc/test/artifacts.c:44,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/artifacts.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: artifacts_fixture_tear_down
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - rm_tree
    - g_assert_true
    - g_clear_pointer
    - show_tree
    - g_free
    linkageType: ''
    returnType: void
    signature: void artifacts_fixture_tear_down(ArtifactsFixture *fixture, gconstpointer
      user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/test/artifacts.c:50,1
    - Dst: g_autoptr
      Src: /src/rauc/test/artifacts.c:52,1
    - Dst: g_new0
      Src: /src/rauc/test/artifacts.c:52,1
    - Dst: g_intern_string
      Src: /src/rauc/test/artifacts.c:53,1
    - Dst: random_bytes
      Src: /src/rauc/test/artifacts.c:54,1
    - Dst: g_compute_checksum_for_data
      Src: /src/rauc/test/artifacts.c:55,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/test/artifacts.c:58,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:60,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/artifacts.c:62,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/artifacts.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - tmpdir
    - name
    - size
    - seed
    argTypes:
    - gchar*
    - gchar*
    - gsize
    - guint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: create_random_artifact
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_new
    - g_file_set_contents
    - g_message
    - g_compute_checksum_for_data
    - g_intern_string
    - g_new0
    - g_strdup_printf
    - random_bytes
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: RArtifact
    signature: RArtifact *create_random_artifact(const gchar *tmpdir, const gchar
      *name, gsize size, const guint32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:71,1
    - Dst: r_artifact_repo_is_valid_type
      Src: /src/rauc/test/artifacts.c:71,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:72,1
    - Dst: r_artifact_repo_is_valid_type
      Src: /src/rauc/test/artifacts.c:72,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:73,1
    - Dst: r_artifact_repo_is_valid_type
      Src: /src/rauc/test/artifacts.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: test_repo_type
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_assert_false
    - r_artifact_repo_is_valid_type
    linkageType: ''
    returnType: void
    signature: void test_repo_type(ArtifactsFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/artifacts.c:78,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:81,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:82,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:83,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:85,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:86,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:87,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/artifacts.c:89,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:90,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:90,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/test/artifacts.c:92,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:93,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:94,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:96,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:97,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: test_init
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 7
    functionsReached:
    - r_artifact_repo_prune
    - r_artifact_repo_prepare
    - g_assert_cmpuint
    - g_assert_true
    - g_hash_table_size
    - g_assert_no_error
    - g_assert_nonnull
    - r_artifact_repo_commit
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_init(ArtifactsFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_artifact_free
      Src: /src/rauc/test/artifacts.c:103,1
    - Dst: r_artifact_repo_free
      Src: /src/rauc/test/artifacts.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: test_early_return
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - r_artifact_free
    - r_artifact_repo_free
    linkageType: ''
    returnType: void
    signature: void test_early_return(ArtifactsFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/artifacts.c:110,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:113,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:114,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:115,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:117,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:118,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:119,1
    - Dst: create_random_artifact
      Src: /src/rauc/test/artifacts.c:122,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/test/artifacts.c:123,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:124,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:125,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:126,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:126,1
    - Dst: g_assert_null
      Src: /src/rauc/test/artifacts.c:128,1
    - Dst: r_artifact_find
      Src: /src/rauc/test/artifacts.c:128,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:129,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:130,1
    - Dst: g_assert_null
      Src: /src/rauc/test/artifacts.c:132,1
    - Dst: r_artifact_find
      Src: /src/rauc/test/artifacts.c:132,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:133,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:134,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:136,1
    - Dst: r_artifact_find
      Src: /src/rauc/test/artifacts.c:136,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:137,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: test_find
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - r_artifact_repo_insert
    - g_intern_static_string
    - r_artifact_repo_prune
    - r_artifact_repo_prepare
    - g_assert_cmpuint
    - create_random_artifact
    - g_assert_true
    - g_hash_table_size
    - g_assert_no_error
    - r_artifact_find
    - g_assert_null
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_find(ArtifactsFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/artifacts.c:143,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:146,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:147,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:148,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:150,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:151,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:152,1
    - Dst: create_random_artifact
      Src: /src/rauc/test/artifacts.c:155,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/test/artifacts.c:156,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:157,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:158,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:159,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:159,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:161,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:162,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/artifacts.c:164,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:166,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:166,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:167,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:167,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:168,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:168,1
    - Dst: r_artifact_activate
      Src: /src/rauc/test/artifacts.c:171,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/test/artifacts.c:173,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:174,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:175,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:176,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:176,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:178,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:178,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:179,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:179,1
    - Dst: create_random_artifact
      Src: /src/rauc/test/artifacts.c:182,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/test/artifacts.c:183,1
    - Dst: g_assert_error
      Src: /src/rauc/test/artifacts.c:184,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:185,1
    - Dst: g_clear_error
      Src: /src/rauc/test/artifacts.c:186,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/artifacts.c:187,1
    - Dst: r_artifact_deactivate
      Src: /src/rauc/test/artifacts.c:190,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/test/artifacts.c:192,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:193,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:194,1
    - Dst: show_tree
      Src: /src/rauc/test/artifacts.c:196,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:197,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:197,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:200,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:200,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:202,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:203,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:204,1
    - Dst: show_tree
      Src: /src/rauc/test/artifacts.c:206,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:208,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:209,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:210,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:211,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 212
    functionName: test_create_load
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - r_artifact_repo_insert
    - g_file_test
    - g_assert_cmpuint
    - r_artifact_deactivate
    - create_random_artifact
    - g_hash_table_size
    - g_clear_pointer
    - g_assert_no_error
    - r_artifact_activate
    - r_artifact_repo_prune
    - g_assert_true
    - g_strdup_printf
    - r_artifact_repo_commit
    - g_assert_error
    - g_assert_cmpstr
    - g_autoptr
    - g_assert_false
    - show_tree
    - g_clear_error
    - r_artifact_repo_prepare
    linkageType: ''
    returnType: void
    signature: void test_create_load(ArtifactsFixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/artifacts.c:216,1
    - Dst: g_intern_static_string
      Src: /src/rauc/test/artifacts.c:219,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:221,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:222,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:223,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:225,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:226,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:227,1
    - Dst: create_random_artifact
      Src: /src/rauc/test/artifacts.c:230,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/test/artifacts.c:231,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:232,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:233,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:234,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:234,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:236,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/artifacts.c:237,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/artifacts.c:239,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:241,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:241,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:242,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:242,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:243,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:243,1
    - Dst: r_artifact_activate
      Src: /src/rauc/test/artifacts.c:246,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/test/artifacts.c:248,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:249,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:250,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:252,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:252,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:253,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:253,1
    - Dst: r_artifact_deactivate
      Src: /src/rauc/test/artifacts.c:256,1
    - Dst: show_tree
      Src: /src/rauc/test/artifacts.c:258,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/test/artifacts.c:260,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:261,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:262,1
    - Dst: g_assert_false
      Src: /src/rauc/test/artifacts.c:264,1
    - Dst: g_file_test
      Src: /src/rauc/test/artifacts.c:264,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:267,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:267,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/test/artifacts.c:269,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:270,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:271,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/test/artifacts.c:273,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/artifacts.c:274,1
    - Dst: g_assert_true
      Src: /src/rauc/test/artifacts.c:275,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/artifacts.c:276,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/artifacts.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ArtifactsFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 277
    functionName: test_create_load_parent
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - r_artifact_activate
    - r_artifact_repo_insert
    - g_assert_false
    - g_file_test
    - r_artifact_repo_prune
    - r_artifact_repo_prepare
    - g_assert_cmpuint
    - r_artifact_deactivate
    - create_random_artifact
    - r_artifact_repo_commit
    - g_assert_true
    - g_hash_table_size
    - g_assert_no_error
    - g_strdup_printf
    - show_tree
    - g_intern_static_string
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_create_load_parent(ArtifactsFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/artifacts.c:281,1
    - Dst: r_context_conf
      Src: /src/rauc/test/artifacts.c:283,1
    - Dst: g_strdup
      Src: /src/rauc/test/artifacts.c:283,1
    - Dst: r_context
      Src: /src/rauc/test/artifacts.c:284,1
    - Dst: g_test_init
      Src: /src/rauc/test/artifacts.c:286,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:288,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:292,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:296,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:300,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:304,1
    - Dst: g_test_add
      Src: /src/rauc/test/artifacts.c:308,1
    - Dst: g_test_run
      Src: /src/rauc/test/artifacts.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/rauc/test/artifacts.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - r_context
    - r_context_conf
    - g_strdup
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:17,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:18,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/progress.c:20,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - percentage
    - message
    - nesting_depth
    argTypes:
    - gint
    - gchar*
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: test_progress_callback
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void test_progress_callback(gint percentage,\n\t\tconst gchar *message,\n\t\tgint
      nesting_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/progress.c:35,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:35,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:38,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:39,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:40,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:41,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:42,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:43,1
    - Dst: g_list_length
      Src: /src/rauc/test/progress.c:43,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:43,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:44,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:46,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:47,1
    - Dst: g_list_length
      Src: /src/rauc/test/progress.c:47,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:47,1
    - Dst: g_list_length
      Src: /src/rauc/test/progress.c:50,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:50,1
    - Dst: g_list_nth_data
      Src: /src/rauc/test/progress.c:51,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:51,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/progress.c:53,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/progress.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:56,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:57,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:58,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:61,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:62,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:63,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:64,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:65,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:67,1
    - Dst: g_list_length
      Src: /src/rauc/test/progress.c:67,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:67,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:68,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 72
    functionName: progress_test_nesting
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - r_context
    - g_list_nth_data
    - g_assert_cmpint
    - g_assert_nonnull
    - g_list_length
    - r_context_end_step
    linkageType: ''
    returnType: void
    signature: void progress_test_nesting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:81,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:82,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:83,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:84,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:86,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: progress_test_unsuccessful_substep
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_assert_cmpint
    - r_context_end_step
    linkageType: ''
    returnType: void
    signature: void progress_test_unsuccessful_substep(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:99,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:100,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:102,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:104,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:106,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:107,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:109,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:110,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:112,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:113,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:115,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:116,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:117,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: progress_test_explicit_percentage
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_assert_cmpint
    - r_context_end_step
    - r_context_set_step_percentage
    linkageType: ''
    returnType: void
    signature: void progress_test_explicit_percentage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:135,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:136,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:137,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:139,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:140,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:141,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:144,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:146,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:150,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:152,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:156,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:158,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:160,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:161,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 164
    functionName: progress_test_explicit_percentage_backwards
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_assert_cmpint
    - r_context_end_step
    - r_context_set_step_percentage
    linkageType: ''
    returnType: void
    signature: void progress_test_explicit_percentage_backwards(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:173,1
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/test/progress.c:174,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:175,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:176,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:177,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:179,1
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/test/progress.c:181,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:182,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:183,1
    - Dst: r_context_begin_step
      Src: /src/rauc/test/progress.c:185,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:187,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:188,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:190,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:191,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/test/progress.c:193,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:194,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:196,1
    - Dst: r_context_end_step
      Src: /src/rauc/test/progress.c:197,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:198,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/progress.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 204
    functionName: progress_test_weighted_steps
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - r_context_begin_step_weighted
    - g_assert_cmpint
    - r_context_set_step_percentage
    - r_context_end_step
    linkageType: ''
    returnType: void
    signature: void progress_test_weighted_steps(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/progress.c:208,1
    - Dst: g_assert
      Src: /src/rauc/test/progress.c:210,1
    - Dst: g_setenv
      Src: /src/rauc/test/progress.c:210,1
    - Dst: r_context_conf
      Src: /src/rauc/test/progress.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/test/progress.c:213,1
    - Dst: r_context
      Src: /src/rauc/test/progress.c:214,1
    - Dst: r_context_register_progress_callback
      Src: /src/rauc/test/progress.c:216,1
    - Dst: g_test_init
      Src: /src/rauc/test/progress.c:218,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/progress.c:220,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/progress.c:221,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/progress.c:222,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/progress.c:223,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/progress.c:224,1
    - Dst: g_test_run
      Src: /src/rauc/test/progress.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/rauc/test/progress.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - r_context_register_progress_callback
    - g_strdup
    - r_context_conf
    - g_assert
    - r_context
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:9,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:9,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:10,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:11,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:12,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:12,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:14,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:14,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 17
    functionName: test_bootslot_rauc_slot
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_rauc_slot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:21,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:21,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:22,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:23,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:24,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:24,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:26,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:26,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: test_bootslot_root
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_root(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:33,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:33,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:34,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:35,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:36,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:36,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:38,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:38,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: test_bootslot_external_boot
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_external_boot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:45,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:45,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:46,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:47,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:48,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:48,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:50,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:50,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test_bootslot_nfs_boot
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_nfs_boot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:57,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:57,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:58,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:59,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:60,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:60,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:62,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:62,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: test_bootslot_partlabel
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_partlabel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:69,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:69,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:70,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:71,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:72,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:72,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:74,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:74,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: test_bootslot_partuuid
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_partuuid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:81,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:81,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:82,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:83,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:84,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:84,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:86,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:86,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: test_bootslot_uuid
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - r_context_clean
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_uuid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:93,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:93,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:94,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:95,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:96,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:96,1
    - Dst: g_assert_null
      Src: /src/rauc/test/context.c:98,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:98,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: test_bootslot_no_bootslot
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - r_context_conf
    - r_context
    - g_clear_pointer
    - r_context_clean
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: void test_bootslot_no_bootslot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:105,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:105,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:106,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:107,1
    - Dst: g_setenv
      Src: /src/rauc/test/context.c:107,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:108,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:109,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:109,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:111,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:111,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: test_bootslot_custom_bootloader
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - r_context_conf
    - r_context
    - g_assert_true
    - g_clear_pointer
    - r_context_clean
    - g_setenv
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_bootslot_custom_bootloader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:118,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:118,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:119,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:120,1
    - Dst: g_setenv
      Src: /src/rauc/test/context.c:120,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:121,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:122,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:122,1
    - Dst: g_assert_null
      Src: /src/rauc/test/context.c:124,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:124,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: test_bootslot_custom_bootloader_no_bootslot
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - r_context_conf
    - r_context
    - g_assert_true
    - g_clear_pointer
    - r_context_clean
    - g_assert_null
    - g_setenv
    linkageType: ''
    returnType: void
    signature: void test_bootslot_custom_bootloader_no_bootslot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:134,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:134,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:135,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:136,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:136,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:139,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:139,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:140,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:140,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:141,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:141,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/context.c:144,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:144,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:145,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/context.c:145,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:145,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:146,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/context.c:146,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:146,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:147,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/context.c:147,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:147,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:148,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/context.c:148,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:148,1
    - Dst: g_assert_false
      Src: /src/rauc/test/context.c:149,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/context.c:149,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:149,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: test_context_system_info
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - g_assert_true
    - r_context_clean
    - g_assert_nonnull
    - g_hash_table_contains
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_context_system_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:159,1
    - Dst: g_strdup
      Src: /src/rauc/test/context.c:159,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:160,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/context.c:161,1
    - Dst: r_context_conf
      Src: /src/rauc/test/context.c:161,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:163,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:163,1
    - Dst: g_assert_true
      Src: /src/rauc/test/context.c:164,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:164,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/context.c:165,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:165,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/context.c:167,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:167,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/context.c:168,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/context.c:168,1
    - Dst: r_context
      Src: /src/rauc/test/context.c:168,1
    - Dst: r_context_clean
      Src: /src/rauc/test/context.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: test_context_system_info_dummy
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpuint
    - r_context
    - g_strdup
    - r_context_conf
    - g_clear_pointer
    - g_assert_true
    - g_hash_table_size
    - r_context_clean
    - g_assert_nonnull
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void test_context_system_info_dummy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/context.c:175,1
    - Dst: g_test_init
      Src: /src/rauc/test/context.c:177,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:179,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:181,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:183,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:185,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:187,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:189,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:191,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:193,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:195,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:197,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:199,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/context.c:201,1
    - Dst: g_test_run
      Src: /src/rauc/test/context.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/rauc/test/context.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_test_add_func
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/status_file.c:18,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:19,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:21,1
    - Dst: r_context_conf
      Src: /src/rauc/test/status_file.c:21,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: status_file_fixture_set_up_global
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_context_conf
    - g_dir_make_tmp
    - replace_strdup
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void status_file_fixture_set_up_global(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/status_file.c:28,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:29,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:31,1
    - Dst: r_context_conf
      Src: /src/rauc/test/status_file.c:31,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: status_file_fixture_set_up_datadir
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_context_conf
    - g_dir_make_tmp
    - replace_strdup
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void status_file_fixture_set_up_datadir(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:38,1
    - Dst: rm_tree
      Src: /src/rauc/test/status_file.c:38,1
    - Dst: g_free
      Src: /src/rauc/test/status_file.c:39,1
    - Dst: r_context_clean
      Src: /src/rauc/test/status_file.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: status_file_fixture_tear_down
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - r_context_clean
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void status_file_fixture_tear_down(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:47,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:47,1
    - Dst: r_slot_status_read
      Src: /src/rauc/test/status_file.c:49,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:50,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:51,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:52,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:53,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:54,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: status_file_test_read_slot_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - r_slot_status_read
    - g_assert_no_error
    - g_assert_cmpint
    - g_assert_nonnull
    - g_new0
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void status_file_test_read_slot_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:61,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:61,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:63,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:65,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:67,1
    - Dst: r_slot_status_write
      Src: /src/rauc/test/status_file.c:67,1
    - Dst: r_slot_free_status
      Src: /src/rauc/test/status_file.c:69,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:70,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:72,1
    - Dst: r_slot_status_read
      Src: /src/rauc/test/status_file.c:72,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:74,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:75,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:76,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: status_file_test_write_slot_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_slot_status_write
    - g_strdup
    - r_slot_free_status
    - g_assert_true
    - r_slot_status_read
    - g_assert_cmpint
    - g_assert_nonnull
    - g_new0
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void status_file_test_write_slot_status(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:84,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:90,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:90,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/test/status_file.c:93,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/test/status_file.c:94,1
    - Dst: r_slot_free_status
      Src: /src/rauc/test/status_file.c:96,1
    - Dst: g_debug
      Src: /src/rauc/test/status_file.c:98,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:99,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:100,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:102,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/test/status_file.c:106,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/test/status_file.c:107,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:108,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:109,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:110,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/test/status_file.c:114,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/test/status_file.c:115,1
    - Dst: r_slot_free_status
      Src: /src/rauc/test/status_file.c:117,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/test/status_file.c:123,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/test/status_file.c:124,1
    - Dst: r_slot_status_load
      Src: /src/rauc/test/status_file.c:125,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:126,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:127,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:128,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 132
    functionName: status_file_test_global_slot_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_slot_status_save
    - g_hash_table_iter_init
    - r_context
    - g_strdup
    - r_slot_free_status
    - g_debug
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_nonnull
    - g_new0
    - g_hash_table_iter_next
    - g_assert_cmpstr
    - r_slot_status_load
    linkageType: ''
    returnType: void
    signature: "void status_file_test_global_slot_status(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:141,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:147,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:148,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:150,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:151,1
    - Dst: r_system_status_load
      Src: /src/rauc/test/status_file.c:154,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:155,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:156,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: status_file_test_load_system_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_system_status_load
    - write_tmp_file
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_new0
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_load_system_status(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:167,1
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:169,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:177,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:178,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:180,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:181,1
    - Dst: r_system_status_load
      Src: /src/rauc/test/status_file.c:184,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:185,1
    - Dst: g_assert_error
      Src: /src/rauc/test/status_file.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: status_file_test_load_broken
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - r_system_status_load
    - write_tmp_file
    - g_assert_nonnull
    - g_new0
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_load_broken(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:194,1
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:196,1
    - Dst: g_build_filename
      Src: /src/rauc/test/status_file.c:198,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:199,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:201,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:201,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:202,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:202,1
    - Dst: r_system_status_save
      Src: /src/rauc/test/status_file.c:205,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:206,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:207,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:209,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:210,1
    - Dst: r_system_status_load
      Src: /src/rauc/test/status_file.c:213,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:214,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:215,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/status_file.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 219
    functionName: status_file_test_save_system_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_context
    - r_system_status_load
    - replace_strdup
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - r_system_status_save
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_save_system_status(StatusFileFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:226,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:229,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:229,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:230,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:230,1
    - Dst: r_system_status_save
      Src: /src/rauc/test/status_file.c:233,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:234,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:235,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:238,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:238,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: status_file_test_save_system_status_per_slot
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_file_test
    - r_context
    - replace_strdup
    - g_assert_true
    - g_assert_no_error
    - r_system_status_save
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_save_system_status_per_slot(StatusFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:246,1
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:248,1
    - Dst: g_auto
      Src: /src/rauc/test/status_file.c:249,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:257,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:258,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:260,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:260,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:261,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:261,1
    - Dst: r_system_status_save
      Src: /src/rauc/test/status_file.c:264,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:265,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:266,1
    - Dst: g_key_file_new
      Src: /src/rauc/test/status_file.c:269,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/test/status_file.c:270,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:271,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:272,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/test/status_file.c:275,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:276,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:277,1
    - Dst: g_strv_contains
      Src: /src/rauc/test/status_file.c:277,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:278,1
    - Dst: g_strv_contains
      Src: /src/rauc/test/status_file.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: status_file_test_save_system_status_existing_slot_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_key_file_get_groups
    - r_context
    - g_strv_contains
    - write_tmp_file
    - replace_strdup
    - g_key_file_load_from_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_key_file_new
    - g_assert_nonnull
    - r_system_status_save
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_save_system_status_existing_slot_status(StatusFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:286,1
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:288,1
    - Dst: g_auto
      Src: /src/rauc/test/status_file.c:289,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:298,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:299,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:301,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:301,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:302,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:302,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/status_file.c:304,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/status_file.c:305,1
    - Dst: r_system_status_save
      Src: /src/rauc/test/status_file.c:308,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:309,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:310,1
    - Dst: g_key_file_new
      Src: /src/rauc/test/status_file.c:313,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/test/status_file.c:314,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:315,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:316,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/test/status_file.c:319,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:320,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:321,1
    - Dst: g_strv_contains
      Src: /src/rauc/test/status_file.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 322
    functionName: status_file_test_save_system_status_broken_existing_slot_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_test_expect_message
    - g_key_file_get_groups
    - r_context
    - g_strv_contains
    - write_tmp_file
    - replace_strdup
    - g_key_file_load_from_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_key_file_new
    - g_assert_nonnull
    - r_system_status_save
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_save_system_status_broken_existing_slot_status(StatusFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/status_file.c:332,1
    - Dst: g_auto
      Src: /src/rauc/test/status_file.c:333,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:340,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:341,1
    - Dst: replace_strdup
      Src: /src/rauc/test/status_file.c:345,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:345,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/status_file.c:348,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:348,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:351,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:352,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:353,1
    - Dst: g_key_file_new
      Src: /src/rauc/test/status_file.c:356,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/test/status_file.c:357,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:358,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:359,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/test/status_file.c:362,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:363,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:364,1
    - Dst: g_strv_contains
      Src: /src/rauc/test/status_file.c:364,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:365,1
    - Dst: g_strv_contains
      Src: /src/rauc/test/status_file.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 366
    functionName: status_file_test_save_slot_status_existing_system_status
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - r_slot_status_save
    - g_auto
    - g_key_file_get_groups
    - r_context
    - g_strv_contains
    - write_tmp_file
    - replace_strdup
    - g_key_file_load_from_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_key_file_new
    - g_assert_nonnull
    - g_hash_table_lookup
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void status_file_test_save_slot_status_existing_system_status(StatusFileFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:378,1
    - Dst: r_context
      Src: /src/rauc/test/status_file.c:378,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:380,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/status_file.c:381,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:382,1
    - Dst: r_slot_free_status
      Src: /src/rauc/test/status_file.c:386,1
    - Dst: g_new0
      Src: /src/rauc/test/status_file.c:387,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:388,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:390,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/test/status_file.c:393,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:394,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:395,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:397,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:398,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:399,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:400,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:400,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:403,1
    - Dst: g_lstat
      Src: /src/rauc/test/status_file.c:403,1
    - Dst: g_strdup
      Src: /src/rauc/test/status_file.c:407,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/test/status_file.c:409,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:410,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:411,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/status_file.c:412,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:414,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:415,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:416,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:417,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:417,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:419,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:420,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:421,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:422,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:422,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:423,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:423,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:426,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/status_file.c:427,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/status_file.c:428,1
    - Dst: r_slot_move_checksum_data_directory
      Src: /src/rauc/test/status_file.c:431,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:432,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:433,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/test/status_file.c:435,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:436,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:437,1
    - Dst: g_build_filename
      Src: /src/rauc/test/status_file.c:439,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/status_file.c:441,1
    - Dst: g_lstat
      Src: /src/rauc/test/status_file.c:441,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/status_file.c:442,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:445,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:445,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:446,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:446,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:447,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:447,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:450,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:451,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:452,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:453,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:453,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:454,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:454,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:455,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:455,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:458,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/status_file.c:459,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/status_file.c:460,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/test/status_file.c:463,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:464,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:465,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:466,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/test/status_file.c:466,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/status_file.c:468,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/status_file.c:469,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:470,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:471,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:471,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:474,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:475,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:476,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:477,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:477,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:478,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:478,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:479,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:479,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:480,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:480,1
    - Dst: r_slot_free_status
      Src: /src/rauc/test/status_file.c:483,1
    - Dst: r_slot_status_save
      Src: /src/rauc/test/status_file.c:487,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/status_file.c:488,1
    - Dst: g_assert_true
      Src: /src/rauc/test/status_file.c:489,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:490,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:490,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:491,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:491,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:492,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:492,1
    - Dst: g_assert_false
      Src: /src/rauc/test/status_file.c:493,1
    - Dst: g_file_test
      Src: /src/rauc/test/status_file.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - StatusFileFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 494
    functionName: status_file_test_datadir
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_assert_cmpuint
    - r_context
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - g_build_filename
    - r_slot_move_checksum_data_directory
    - g_strdup
    - g_assert_true
    - g_hash_table_lookup
    - g_assert_nonnull
    - r_slot_get_checksum_data_directory
    - r_replace_strdup
    - r_slot_status_save
    - g_assert_false
    - r_slot_free_status
    - g_new0
    - g_lstat
    - write_tmp_file
    - g_str_has_suffix
    linkageType: ''
    returnType: void
    signature: void status_file_test_datadir(StatusFileFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/status_file.c:498,1
    - Dst: g_test_init
      Src: /src/rauc/test/status_file.c:500,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/status_file.c:502,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/status_file.c:503,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:504,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:508,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:512,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:516,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:520,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:525,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:529,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:533,1
    - Dst: g_test_add
      Src: /src/rauc/test/status_file.c:538,1
    - Dst: g_test_run
      Src: /src/rauc/test/status_file.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 544
    functionName: main
    functionSourceFile: /src/rauc/test/status_file.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_test_add_func
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:14,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:15,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/test/utils.c:15,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:16,1
    - Dst: g_free
      Src: /src/rauc/test/utils.c:17,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:19,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:20,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/test/utils.c:20,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:21,1
    - Dst: g_free
      Src: /src/rauc/test/utils.c:22,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:24,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:25,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/test/utils.c:25,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:26,1
    - Dst: g_free
      Src: /src/rauc/test/utils.c:27,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:29,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:30,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/test/utils.c:30,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:31,1
    - Dst: g_free
      Src: /src/rauc/test/utils.c:32,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:34,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:35,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/test/utils.c:35,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:36,1
    - Dst: g_free
      Src: /src/rauc/test/utils.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 38
    functionName: whitespace_removed_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_strdup
    - r_whitespace_removed
    - g_assert_true
    - g_free
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void whitespace_removed_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/test/utils.c:42,1
    - Dst: g_test_message
      Src: /src/rauc/test/utils.c:47,1
    - Dst: g_test_skip
      Src: /src/rauc/test/utils.c:48,1
    - Dst: g_open
      Src: /src/rauc/test/utils.c:52,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:53,1
    - Dst: get_sectorsize
      Src: /src/rauc/test/utils.c:55,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:56,1
    - Dst: g_close
      Src: /src/rauc/test/utils.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: get_sectorsize_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_test_skip
    - g_test_message
    - g_open
    - g_assert_cmpint
    - get_sectorsize
    - g_getenv
    linkageType: ''
    returnType: void
    signature: void get_sectorsize_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/test/utils.c:65,1
    - Dst: g_test_message
      Src: /src/rauc/test/utils.c:70,1
    - Dst: g_test_skip
      Src: /src/rauc/test/utils.c:71,1
    - Dst: g_open
      Src: /src/rauc/test/utils.c:75,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:76,1
    - Dst: get_device_size
      Src: /src/rauc/test/utils.c:78,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:79,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:80,1
    - Dst: g_close
      Src: /src/rauc/test/utils.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: get_device_size_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_test_skip
    - g_test_message
    - g_open
    - g_assert_cmpint
    - g_assert_no_error
    - get_device_size
    - g_getenv
    linkageType: ''
    returnType: void
    signature: void get_device_size_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/utils.c:88,1
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:89,1
    - Dst: g_build_filename
      Src: /src/rauc/test/utils.c:90,1
    - Dst: g_build_filename
      Src: /src/rauc/test/utils.c:91,1
    - Dst: g_build_filename
      Src: /src/rauc/test/utils.c:92,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:98,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:99,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:100,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:101,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:104,1
    - Dst: mkdir
      Src: /src/rauc/test/utils.c:104,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:106,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:107,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:108,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:109,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:111,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:111,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:113,1
    - Dst: rmdir
      Src: /src/rauc/test/utils.c:113,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:116,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:117,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:118,1
    - Dst: g_file_read_link
      Src: /src/rauc/test/utils.c:120,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:121,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:122,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:123,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:125,1
    - Dst: lstat
      Src: /src/rauc/test/utils.c:125,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:128,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:129,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:130,1
    - Dst: g_file_read_link
      Src: /src/rauc/test/utils.c:132,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:133,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:134,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:135,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:137,1
    - Dst: lstat
      Src: /src/rauc/test/utils.c:137,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:138,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:141,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:142,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:143,1
    - Dst: g_file_read_link
      Src: /src/rauc/test/utils.c:145,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:146,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:147,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:150,1
    - Dst: lstat
      Src: /src/rauc/test/utils.c:150,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:154,1
    - Dst: mkdir
      Src: /src/rauc/test/utils.c:154,1
    - Dst: r_update_symlink
      Src: /src/rauc/test/utils.c:156,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:157,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:158,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:159,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:160,1
    - Dst: g_file_read_link
      Src: /src/rauc/test/utils.c:162,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:163,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:164,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 166
    functionName: update_symlink_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_file_test
    - r_update_symlink
    - g_assert_cmpuint
    - rmdir
    - g_dir_make_tmp
    - lstat
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_clear_pointer
    - g_file_read_link
    - mkdir
    - g_build_filename
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void update_symlink_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:172,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/utils.c:172,1
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:173,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/utils.c:173,1
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:174,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/utils.c:178,1
    - Dst: g_get_host_name
      Src: /src/rauc/test/utils.c:178,1
    - Dst: g_test_message
      Src: /src/rauc/test/utils.c:179,1
    - Dst: g_test_skip
      Src: /src/rauc/test/utils.c:180,1
    - Dst: r_fakeroot_init
      Src: /src/rauc/test/utils.c:184,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:185,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:186,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:189,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:189,1
    - Dst: r_fakeroot_add_args
      Src: /src/rauc/test/utils.c:192,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:193,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:195,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:195,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:196,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:196,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:197,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:197,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:198,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:198,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:199,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/test/utils.c:201,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:202,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:203,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/rauc/test/utils.c:205,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:206,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:207,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:208,1
    - Dst: g_strchomp
      Src: /src/rauc/test/utils.c:208,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/utils.c:210,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:211,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:212,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:214,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:215,1
    - Dst: r_fakeroot_add_args
      Src: /src/rauc/test/utils.c:218,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:220,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:220,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:221,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:221,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:222,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:222,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/utils.c:223,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/test/utils.c:225,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:227,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/utils.c:229,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:230,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:231,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:233,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:236,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:236,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/test/utils.c:239,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:240,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:241,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/rauc/test/utils.c:243,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:244,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:245,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:246,1
    - Dst: g_strchomp
      Src: /src/rauc/test/utils.c:246,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/utils.c:248,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:249,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:250,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:252,1
    - Dst: r_fakeroot_cleanup
      Src: /src/rauc/test/utils.c:254,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:255,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 257
    functionName: fakeroot_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_assert_cmpuint
    - g_ptr_array_add
    - g_test_message
    - g_clear_pointer
    - g_assert_no_error
    - r_fakeroot_cleanup
    - g_subprocess_wait_check
    - g_strdup
    - g_assert_true
    - g_ptr_array_new_with_free_func
    - g_assert_nonnull
    - r_fakeroot_add_args
    - g_assert_cmpstr
    - g_autoptr
    - g_strchomp
    - r_fakeroot_init
    - g_get_host_name
    - r_subprocess_newv
    - g_test_skip
    - g_subprocess_communicate_utf8
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: void fakeroot_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:261,1
    - Dst: g_bytes_new
      Src: /src/rauc/test/utils.c:264,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/test/utils.c:265,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:266,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:267,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:268,1
    - Dst: strlen
      Src: /src/rauc/test/utils.c:268,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:269,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:270,1
    - Dst: g_bytes_new
      Src: /src/rauc/test/utils.c:272,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/test/utils.c:273,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:274,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:275,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:276,1
    - Dst: strlen
      Src: /src/rauc/test/utils.c:276,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:277,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:278,1
    - Dst: g_bytes_new
      Src: /src/rauc/test/utils.c:280,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/test/utils.c:281,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:282,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/utils.c:283,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:284,1
    - Dst: strlen
      Src: /src/rauc/test/utils.c:284,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:285,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 287
    functionName: test_bytes_unref_to_string
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpuint
    - g_bytes_new
    - r_bytes_unref_to_string
    - g_clear_pointer
    - g_assert_nonnull
    - strlen
    - g_assert_null
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_bytes_unref_to_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/utils.c:291,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/test/utils.c:291,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:293,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/test/utils.c:295,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/test/utils.c:296,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:298,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:299,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:300,1
    - Dst: r_ptr_array_env_to_shell
      Src: /src/rauc/test/utils.c:302,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:303,1
    - Dst: g_environ_setenv
      Src: /src/rauc/test/utils.c:305,1
    - Dst: g_environ_setenv
      Src: /src/rauc/test/utils.c:306,1
    - Dst: r_environ_setenv_ptr_array
      Src: /src/rauc/test/utils.c:307,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:308,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:308,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:309,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:309,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:310,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:310,1
    - Dst: r_environ_setenv_ptr_array
      Src: /src/rauc/test/utils.c:312,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:313,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:313,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:314,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:314,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:315,1
    - Dst: g_environ_getenv
      Src: /src/rauc/test/utils.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 316
    functionName: environ_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_add_printf
    - g_auto
    - r_ptr_array_env_to_shell
    - g_environ_setenv
    - g_assert_cmpuint
    - g_ptr_array_new_full
    - r_environ_setenv_ptr_array
    - g_environ_getenv
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void environ_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:326,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:327,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:327,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:328,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:329,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:331,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:332,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:333,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:335,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:336,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:336,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:337,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:338,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:340,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:341,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:342,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:343,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:344,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:346,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:347,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:347,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:348,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:349,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:350,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:351,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:352,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:353,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:354,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:356,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:357,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:357,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:358,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:359,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:360,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:361,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:362,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:363,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:364,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:366,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:367,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:367,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:368,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:369,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:371,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:372,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:373,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:374,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:377,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:378,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:378,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:379,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:380,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:382,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:383,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:383,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:384,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:385,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:387,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:388,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:388,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:389,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:390,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:392,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:393,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:393,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:394,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:395,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:397,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:398,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:398,1
    - Dst: g_assert_error
      Src: /src/rauc/test/utils.c:399,1
    - Dst: g_clear_error
      Src: /src/rauc/test/utils.c:400,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:403,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:404,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:404,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:405,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:406,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:407,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:408,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:409,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:410,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:411,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:413,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:414,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:414,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:415,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:416,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:417,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:418,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:419,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:420,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/utils.c:421,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:423,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:424,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:424,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:425,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:426,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:427,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:428,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:429,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:430,1
    - Dst: r_replace_strdup
      Src: /src/rauc/test/utils.c:432,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:433,1
    - Dst: r_semver_parse
      Src: /src/rauc/test/utils.c:433,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:434,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:435,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:436,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/utils.c:437,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:438,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 440
    functionName: semver_parse_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_error
    - g_assert_cmpuint
    - g_strdup
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_clear_pointer
    - r_replace_strdup
    - r_semver_parse
    - g_assert_null
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void semver_parse_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:447,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:447,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:448,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:448,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:449,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:449,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:450,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:450,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:453,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:453,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:454,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:454,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:455,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:455,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:456,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:456,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:459,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:459,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:460,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:460,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:461,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:461,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:462,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:462,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:465,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:465,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:466,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:466,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:467,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:467,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:468,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:468,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:469,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:469,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:470,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:470,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:473,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:473,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:474,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:474,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:475,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:475,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:476,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:476,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:477,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:477,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:478,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/test/utils.c:478,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/utils.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 482
    functionName: semver_less_equal_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_assert_no_error
    - g_assert_true
    - g_assert_false
    - r_semver_less_equal
    linkageType: ''
    returnType: void
    signature: void semver_less_equal_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_format_duration
      Src: /src/rauc/test/utils.c:486,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:487,1
    - Dst: r_format_duration
      Src: /src/rauc/test/utils.c:489,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:490,1
    - Dst: r_format_duration
      Src: /src/rauc/test/utils.c:492,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:493,1
    - Dst: r_format_duration
      Src: /src/rauc/test/utils.c:495,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:496,1
    - Dst: r_format_duration
      Src: /src/rauc/test/utils.c:498,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 500
    functionName: format_duration_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - r_format_duration
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void format_duration_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_regex_match_simple
      Src: /src/rauc/test/utils.c:504,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/utils.c:505,1
    - Dst: r_regex_match_simple
      Src: /src/rauc/test/utils.c:507,1
    - Dst: g_assert_null
      Src: /src/rauc/test/utils.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: regex_match_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - r_regex_match_simple
    - g_assert_null
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void regex_match_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/utils.c:513,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:515,1
    - Dst: g_build_filename
      Src: /src/rauc/test/utils.c:515,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:516,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:516,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:520,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:520,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:523,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:523,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:527,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:527,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:528,1
    - Dst: g_open
      Src: /src/rauc/test/utils.c:528,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:530,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:530,1
    - Dst: g_assert_false
      Src: /src/rauc/test/utils.c:532,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:532,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/utils.c:535,1
    - Dst: g_auto
      Src: /src/rauc/test/utils.c:537,1
    - Dst: g_strdup
      Src: /src/rauc/test/utils.c:537,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:538,1
    - Dst: g_mkdir
      Src: /src/rauc/test/utils.c:538,1
    - Dst: g_assert_true
      Src: /src/rauc/test/utils.c:539,1
    - Dst: g_file_test
      Src: /src/rauc/test/utils.c:539,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:541,1
    - Dst: g_rmdir
      Src: /src/rauc/test/utils.c:541,1
    - Dst: g_test_assert_expected_messages
      Src: /src/rauc/test/utils.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 543
    functionName: tempfile_cleanup_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_assert_false
    - g_auto
    - g_test_expect_message
    - g_rmdir
    - g_strdup
    - g_dir_make_tmp
    - g_open
    - g_assert_true
    - g_assert_cmpint
    - g_mkdir
    - g_build_filename
    - g_test_assert_expected_messages
    linkageType: ''
    returnType: void
    signature: void tempfile_cleanup_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_get_boottime
      Src: /src/rauc/test/utils.c:547,1
    - Dst: g_usleep
      Src: /src/rauc/test/utils.c:548,1
    - Dst: r_get_boottime
      Src: /src/rauc/test/utils.c:549,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:551,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:554,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/utils.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: boottime_test
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_usleep
    - g_assert_cmpint
    - r_get_boottime
    linkageType: ''
    returnType: void
    signature: void boottime_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/utils.c:560,1
    - Dst: g_assert
      Src: /src/rauc/test/utils.c:562,1
    - Dst: g_setenv
      Src: /src/rauc/test/utils.c:562,1
    - Dst: g_test_init
      Src: /src/rauc/test/utils.c:564,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:566,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:567,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:568,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:569,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:570,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:571,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:572,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:573,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:574,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:575,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:576,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:577,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/utils.c:578,1
    - Dst: g_test_run
      Src: /src/rauc/test/utils.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 581
    functionName: main
    functionSourceFile: /src/rauc/test/utils.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:52,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:53,1
    - Dst: r_new_image
      Src: /src/rauc/test/update_handler.c:58,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:59,1
    - Dst: g_strconcat
      Src: /src/rauc/test/update_handler.c:60,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:61,1
    - Dst: derive_image_type_from_filename_pattern
      Src: /src/rauc/test/update_handler.c:61,1
    - Dst: g_new0
      Src: /src/rauc/test/update_handler.c:63,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:64,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:65,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:66,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:67,1
    - Dst: get_update_handler
      Src: /src/rauc/test/update_handler.c:69,1
    - Dst: g_assert_error
      Src: /src/rauc/test/update_handler.c:71,1
    - Dst: g_assert_null
      Src: /src/rauc/test/update_handler.c:72,1
    - Dst: g_clear_error
      Src: /src/rauc/test/update_handler.c:73,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:75,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - UpdateHandlerFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: test_get_update_handler
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - get_update_handler
    - g_assert_error
    - g_strdup
    - r_new_image
    - derive_image_type_from_filename_pattern
    - g_assert_no_error
    - g_intern_string
    - g_new0
    - g_assert_nonnull
    - g_assert_null
    - g_strconcat
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_get_update_handler(UpdateHandlerFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:87,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:88,1
    - Dst: r_new_image
      Src: /src/rauc/test/update_handler.c:92,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:93,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:94,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:96,1
    - Dst: derive_image_type_from_filename_pattern
      Src: /src/rauc/test/update_handler.c:96,1
    - Dst: g_new0
      Src: /src/rauc/test/update_handler.c:98,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:99,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:100,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:101,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:102,1
    - Dst: get_update_handler
      Src: /src/rauc/test/update_handler.c:104,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:105,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - UpdateHandlerFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: test_get_custom_update_handler
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - get_update_handler
    - g_strdup
    - r_new_image
    - derive_image_type_from_filename_pattern
    - g_assert_no_error
    - g_intern_string
    - g_new0
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_get_custom_update_handler(UpdateHandlerFixture *fixture,
      gconstpointer user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/update_handler.c:117,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:118,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:121,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/update_handler.c:121,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:123,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:124,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/update_handler.c:124,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/update_handler.c:130,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/update_handler.c:132,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/update_handler.c:134,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/update_handler.c:136,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/update_handler.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - UpdateHandlerFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: update_handler_fixture_set_up
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_test_expect_message
    - g_assert
    - g_strcmp0
    - g_dir_make_tmp
    - test_prepare_dummy_file
    - g_assert_nonnull
    - test_make_filesystem
    linkageType: ''
    returnType: void
    signature: "void update_handler_fixture_set_up(UpdateHandlerFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:151,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:151,1
    - Dst: test_rm_tree
      Src: /src/rauc/test/update_handler.c:154,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:156,1
    - Dst: test_rmdir
      Src: /src/rauc/test/update_handler.c:156,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/update_handler.c:158,1
    - Dst: g_test_failed
      Src: /src/rauc/test/update_handler.c:160,1
    - Dst: g_test_assert_expected_messages
      Src: /src/rauc/test/update_handler.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - UpdateHandlerFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: update_handler_fixture_tear_down
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - test_rmdir
    - g_assert
    - g_test_failed
    - g_clear_pointer
    - test_rm_tree
    - g_test_assert_expected_messages
    - test_remove
    linkageType: ''
    returnType: void
    signature: "void update_handler_fixture_tear_down(UpdateHandlerFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/test/update_handler.c:170,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:172,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:172,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:173,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:173,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:174,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:174,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:175,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:175,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:176,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:176,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:177,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:177,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:178,1
    - Dst: g_subprocess_newv
      Src: /src/rauc/test/update_handler.c:180,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/update_handler.c:183,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/update_handler.c:190,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/update_handler.c:192,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/test/update_handler.c:200,1
    - Dst: g_clear_object
      Src: /src/rauc/test/update_handler.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - dest
    - dir
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 203
    functionName: tar_image
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_subprocess_newv
    - g_ptr_array_new_full
    - g_clear_object
    - g_ptr_array_unref
    - g_subprocess_wait_check
    linkageType: ''
    returnType: gboolean
    signature: gboolean tar_image(const gchar *dest, const gchar *dir, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/test/update_handler.c:210,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:212,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:212,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:213,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:214,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:214,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:215,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:215,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:216,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:216,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:217,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:217,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:218,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:218,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/test/update_handler.c:219,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/test/update_handler.c:221,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/update_handler.c:223,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/update_handler.c:230,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/test/update_handler.c:232,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/test/update_handler.c:240,1
    - Dst: g_clear_object
      Src: /src/rauc/test/update_handler.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - idxpath
    - contentpath
    - store
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: casync_blob_image
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - g_clear_object
    - g_ptr_array_unref
    - r_subprocess_newv
    - g_subprocess_wait_check
    linkageType: ''
    returnType: gboolean
    signature: gboolean casync_blob_image(const gchar *idxpath, const gchar *contentpath,
      const gchar *store, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:258,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:259,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:261,1
    - Dst: g_mkdir
      Src: /src/rauc/test/update_handler.c:261,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:262,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/update_handler.c:262,1
    - Dst: tar_image
      Src: /src/rauc/test/update_handler.c:266,1
    - Dst: g_warning
      Src: /src/rauc/test/update_handler.c:268,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:272,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:272,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:273,1
    - Dst: g_rmdir
      Src: /src/rauc/test/update_handler.c:273,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/update_handler.c:277,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/update_handler.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - path
    - archname
    - filename
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: test_prepare_dummy_archive
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - tar_image
    - g_rmdir
    - g_assert
    - g_clear_pointer
    - g_mkdir
    - test_prepare_dummy_file
    - g_build_filename
    - g_warning
    - test_remove
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_prepare_dummy_archive(const gchar *path, const gchar
      *archname, const gchar *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:284,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:288,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:289,1
    - Dst: write_random_file
      Src: /src/rauc/test/update_handler.c:290,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:291,1
    - Dst: casync_blob_image
      Src: /src/rauc/test/update_handler.c:293,1
    - Dst: g_warning
      Src: /src/rauc/test/update_handler.c:294,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:298,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:298,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/update_handler.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - path
    - archname
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 300
    functionName: test_prepare_dummy_caibx
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_assert
    - casync_blob_image
    - test_remove
    - g_assert_nonnull
    - write_random_file
    - g_build_filename
    - g_warning
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *test_prepare_dummy_caibx(const gchar *path, const gchar *archname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:304,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:308,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:309,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:311,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:313,1
    - Dst: g_mkdir
      Src: /src/rauc/test/update_handler.c:313,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:314,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/update_handler.c:314,1
    - Dst: casync_blob_image
      Src: /src/rauc/test/update_handler.c:317,1
    - Dst: g_warning
      Src: /src/rauc/test/update_handler.c:318,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:322,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:322,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:323,1
    - Dst: g_rmdir
      Src: /src/rauc/test/update_handler.c:323,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/update_handler.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - path
    - archname
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: test_prepare_dummy_caidx
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_rmdir
    - g_assert
    - casync_blob_image
    - g_mkdir
    - test_prepare_dummy_file
    - test_remove
    - g_build_filename
    - g_warning
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *test_prepare_dummy_caidx(const gchar *path, const gchar *archname)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:337,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/update_handler.c:344,1
    - Dst: g_test_message
      Src: /src/rauc/test/update_handler.c:347,1
    - Dst: g_strconcat
      Src: /src/rauc/test/update_handler.c:351,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:352,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:353,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:354,1
    - Dst: g_getenv
      Src: /src/rauc/test/update_handler.c:354,1
    - Dst: g_test_message
      Src: /src/rauc/test/update_handler.c:356,1
    - Dst: g_test_skip
      Src: /src/rauc/test/update_handler.c:357,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:360,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:361,1
    - Dst: g_getenv
      Src: /src/rauc/test/update_handler.c:361,1
    - Dst: g_test_message
      Src: /src/rauc/test/update_handler.c:363,1
    - Dst: g_test_skip
      Src: /src/rauc/test/update_handler.c:364,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:367,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:368,1
    - Dst: g_getenv
      Src: /src/rauc/test/update_handler.c:368,1
    - Dst: g_test_message
      Src: /src/rauc/test/update_handler.c:370,1
    - Dst: g_test_skip
      Src: /src/rauc/test/update_handler.c:371,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:377,1
    - Dst: g_getenv
      Src: /src/rauc/test/update_handler.c:377,1
    - Dst: g_test_message
      Src: /src/rauc/test/update_handler.c:379,1
    - Dst: g_test_skip
      Src: /src/rauc/test/update_handler.c:380,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:385,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:388,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:391,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:391,1
    - Dst: g_getenv
      Src: /src/rauc/test/update_handler.c:392,1
    - Dst: g_test_skip
      Src: /src/rauc/test/update_handler.c:393,1
    - Dst: r_new_image
      Src: /src/rauc/test/update_handler.c:399,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:400,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:401,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:404,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:406,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:407,1
    - Dst: derive_image_type_from_filename_pattern
      Src: /src/rauc/test/update_handler.c:407,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:410,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:415,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/update_handler.c:421,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:422,1
    - Dst: test_do_chmod
      Src: /src/rauc/test/update_handler.c:423,1
    - Dst: g_strsplit
      Src: /src/rauc/test/update_handler.c:427,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:434,1
    - Dst: write_random_file
      Src: /src/rauc/test/update_handler.c:435,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:436,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:437,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:438,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/update_handler.c:438,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:439,1
    - Dst: test_make_filesystem
      Src: /src/rauc/test/update_handler.c:439,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:440,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:441,1
    - Dst: test_prepare_dummy_archive
      Src: /src/rauc/test/update_handler.c:441,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:442,1
    - Dst: test_prepare_dummy_caibx
      Src: /src/rauc/test/update_handler.c:443,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:444,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:446,1
    - Dst: g_new0
      Src: /src/rauc/test/update_handler.c:446,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:447,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:448,1
    - Dst: test_prepare_dummy_caidx
      Src: /src/rauc/test/update_handler.c:449,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:450,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:452,1
    - Dst: g_new0
      Src: /src/rauc/test/update_handler.c:452,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:453,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:454,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/test/update_handler.c:456,1
    - Dst: g_new0
      Src: /src/rauc/test/update_handler.c:461,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:462,1
    - Dst: g_intern_string
      Src: /src/rauc/test/update_handler.c:463,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:464,1
    - Dst: g_strdup
      Src: /src/rauc/test/update_handler.c:465,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:468,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:472,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:473,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:474,1
    - Dst: r_context
      Src: /src/rauc/test/update_handler.c:475,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:476,1
    - Dst: g_mkdir
      Src: /src/rauc/test/update_handler.c:476,1
    - Dst: get_update_handler
      Src: /src/rauc/test/update_handler.c:479,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:480,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:481,1
    - Dst: r_test_stats_start
      Src: /src/rauc/test/update_handler.c:484,1
    - Dst: handler
      Src: /src/rauc/test/update_handler.c:485,1
    - Dst: r_test_stats_stop
      Src: /src/rauc/test/update_handler.c:486,1
    - Dst: g_assert_error
      Src: /src/rauc/test/update_handler.c:489,1
    - Dst: g_assert_false
      Src: /src/rauc/test/update_handler.c:490,1
    - Dst: g_clear_error
      Src: /src/rauc/test/update_handler.c:491,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:494,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:495,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:504,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:505,1
    - Dst: get_file_size
      Src: /src/rauc/test/update_handler.c:505,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:506,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:507,1
    - Dst: get_file_size
      Src: /src/rauc/test/update_handler.c:507,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:508,1
    - Dst: test_mount
      Src: /src/rauc/test/update_handler.c:508,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:509,1
    - Dst: r_umount
      Src: /src/rauc/test/update_handler.c:509,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:510,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:512,1
    - Dst: test_mount
      Src: /src/rauc/test/update_handler.c:512,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:515,1
    - Dst: g_dir_open
      Src: /src/rauc/test/update_handler.c:521,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:522,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:523,1
    - Dst: g_dir_read_name
      Src: /src/rauc/test/update_handler.c:525,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:533,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:534,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:537,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:538,1
    - Dst: g_dir_open
      Src: /src/rauc/test/update_handler.c:538,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/update_handler.c:539,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:540,1
    - Dst: g_assert_null
      Src: /src/rauc/test/update_handler.c:541,1
    - Dst: g_dir_read_name
      Src: /src/rauc/test/update_handler.c:541,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/update_handler.c:544,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/update_handler.c:545,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:547,1
    - Dst: r_umount
      Src: /src/rauc/test/update_handler.c:547,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:548,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:548,1
    - Dst: g_build_filename
      Src: /src/rauc/test/update_handler.c:549,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:550,1
    - Dst: test_mount
      Src: /src/rauc/test/update_handler.c:550,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:551,1
    - Dst: g_file_test
      Src: /src/rauc/test/update_handler.c:551,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:552,1
    - Dst: r_umount
      Src: /src/rauc/test/update_handler.c:552,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/update_handler.c:567,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:568,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/update_handler.c:569,1
    - Dst: r_stats_free
      Src: /src/rauc/test/update_handler.c:572,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/update_handler.c:574,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:575,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/update_handler.c:576,1
    - Dst: r_stats_free
      Src: /src/rauc/test/update_handler.c:579,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/update_handler.c:581,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:582,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/update_handler.c:583,1
    - Dst: r_stats_free
      Src: /src/rauc/test/update_handler.c:586,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/update_handler.c:588,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/update_handler.c:589,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/update_handler.c:590,1
    - Dst: r_stats_free
      Src: /src/rauc/test/update_handler.c:593,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:596,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:599,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:601,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:605,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:606,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:607,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:608,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:609,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:614,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:615,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:616,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:617,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:621,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:622,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/update_handler.c:623,1
    - Dst: g_assert_null
      Src: /src/rauc/test/update_handler.c:625,1
    - Dst: r_test_stats_next
      Src: /src/rauc/test/update_handler.c:625,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:630,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:631,1
    - Dst: g_remove
      Src: /src/rauc/test/update_handler.c:631,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:632,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:633,1
    - Dst: g_remove
      Src: /src/rauc/test/update_handler.c:633,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:634,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:635,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:635,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:636,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:637,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:637,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:638,1
    - Dst: rm_tree
      Src: /src/rauc/test/update_handler.c:638,1
    - Dst: r_context
      Src: /src/rauc/test/update_handler.c:638,1
    - Dst: free_bundle
      Src: /src/rauc/test/update_handler.c:639,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:639,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/update_handler.c:640,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:641,1
    - Dst: test_remove
      Src: /src/rauc/test/update_handler.c:641,1
    - Dst: g_assert_true
      Src: /src/rauc/test/update_handler.c:642,1
    - Dst: rm_tree
      Src: /src/rauc/test/update_handler.c:642,1
    - Dst: r_context
      Src: /src/rauc/test/update_handler.c:642,1
    - Dst: free_bundle
      Src: /src/rauc/test/update_handler.c:643,1
    - Dst: r_context_conf
      Src: /src/rauc/test/update_handler.c:643,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:650,1
    - Dst: g_remove
      Src: /src/rauc/test/update_handler.c:650,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:653,1
    - Dst: g_rmdir
      Src: /src/rauc/test/update_handler.c:653,1
    - Dst: r_slot_free
      Src: /src/rauc/test/update_handler.c:655,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 248
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - UpdateHandlerFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 656
    functionName: test_update_handler
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - r_context
    - handler
    - test_do_chmod
    - g_test_message
    - r_stats_free
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - free_bundle
    - g_intern_string
    - g_build_filename
    - r_test_stats_start
    - g_assert_null
    - test_running_as_root
    - get_update_handler
    - get_file_size
    - g_dir_open
    - g_strdup
    - g_assert_true
    - g_mkdir
    - g_assert_nonnull
    - g_getenv
    - g_autoptr
    - g_assert_error
    - r_test_stats_next
    - g_assert_cmpstr
    - g_assert_false
    - test_prepare_dummy_caibx
    - rm_tree
    - r_new_image
    - g_assert
    - g_dir_read_name
    - g_strsplit
    - g_new0
    - r_umount
    - test_prepare_dummy_caidx
    - g_strconcat
    - test_make_filesystem
    - g_clear_error
    - test_prepare_dummy_archive
    - g_assert_not_reached
    - g_test_skip
    - r_test_stats_stop
    - g_rmdir
    - r_context_conf
    - g_remove
    - g_strcmp0
    - write_tmp_file
    - derive_image_type_from_filename_pattern
    - r_slot_free
    - test_prepare_dummy_file
    - write_random_file
    - test_mount
    - test_remove
    linkageType: ''
    returnType: void
    signature: "void test_update_handler(UpdateHandlerFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/test/update_handler.c:664,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:665,1
    - Dst: g_memory_input_stream_new_from_data
      Src: /src/rauc/test/update_handler.c:665,1
    - Dst: g_autoptr
      Src: /src/rauc/test/update_handler.c:666,1
    - Dst: g_memory_output_stream_new_resizable
      Src: /src/rauc/test/update_handler.c:666,1
    - Dst: g_assert_false
      Src: /src/rauc/test/update_handler.c:669,1
    - Dst: r_copy_stream_with_progress
      Src: /src/rauc/test/update_handler.c:669,1
    - Dst: g_assert_error
      Src: /src/rauc/test/update_handler.c:670,1
    - Dst: g_clear_error
      Src: /src/rauc/test/update_handler.c:671,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/update_handler.c:673,1
    - Dst: g_memory_output_stream_get_data_size
      Src: /src/rauc/test/update_handler.c:673,1
    - Dst: G_MEMORY_OUTPUT_STREAM
      Src: /src/rauc/test/update_handler.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: test_copy_stream_oversized_input
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - G_MEMORY_OUTPUT_STREAM
    - g_assert_false
    - g_memory_output_stream_get_data_size
    - r_copy_stream_with_progress
    - g_assert_error
    - g_assert_cmpuint
    - g_malloc0
    - g_memory_input_stream_new_from_data
    - g_memory_output_stream_new_resizable
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_copy_stream_oversized_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/update_handler.c:788,1
    - Dst: g_assert
      Src: /src/rauc/test/update_handler.c:790,1
    - Dst: g_setenv
      Src: /src/rauc/test/update_handler.c:790,1
    - Dst: g_test_init
      Src: /src/rauc/test/update_handler.c:792,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:794,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:800,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:806,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:812,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:819,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:826,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:832,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:838,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:844,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:851,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:857,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:863,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:869,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:876,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:882,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:888,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:894,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:901,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:907,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:913,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:919,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:926,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:932,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:938,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:944,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:951,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:957,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:963,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:969,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:976,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:982,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:988,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:994,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1001,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1007,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1013,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1019,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1026,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1032,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1038,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1044,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1051,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1059,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1065,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1071,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1077,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1083,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1089,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1095,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1101,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1107,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1113,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1121,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1127,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1133,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1141,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1148,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1156,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1162,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1168,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1175,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1181,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1188,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1205,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1211,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1218,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1224,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1230,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1236,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1242,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1249,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1255,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1261,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1267,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1273,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1279,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1285,1
    - Dst: g_test_add
      Src: /src/rauc/test/update_handler.c:1291,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/update_handler.c:1298,1
    - Dst: g_test_run
      Src: /src/rauc/test/update_handler.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 1302
    functionName: main
    functionSourceFile: /src/rauc/test/update_handler.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_test_add_func
    - setlocale
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptrs
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: dup_test_data
    functionSourceFile: /src/rauc/test/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dup_test_data(ptrs, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: BIT
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(nr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:55,1
    - Dst: g_subprocess_new
      Src: /src/rauc/test/boot_switch.c:60,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:67,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:68,1
    - Dst: g_subprocess_communicate_utf8
      Src: /src/rauc/test/boot_switch.c:70,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:71,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:72,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/boot_switch.c:74,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:75,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:76,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/boot_switch.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - device
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 79
    functionName: sfdisk_get
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_subprocess_new
    - g_subprocess_communicate_utf8
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_subprocess_wait_check
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *sfdisk_get(const gchar *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sfdisk_get
      Src: /src/rauc/test/boot_switch.c:83,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:84,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:85,1
    - Dst: json_from_string
      Src: /src/rauc/test/boot_switch.c:91,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:92,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:93,1
    - Dst: json_from_string
      Src: /src/rauc/test/boot_switch.c:95,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:96,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:97,1
    - Dst: json_node_get_object
      Src: /src/rauc/test/boot_switch.c:99,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:100,1
    - Dst: json_object_get_object_member
      Src: /src/rauc/test/boot_switch.c:101,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:102,1
    - Dst: json_object_has_member
      Src: /src/rauc/test/boot_switch.c:105,1
    - Dst: json_object_get_int_member
      Src: /src/rauc/test/boot_switch.c:106,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/boot_switch.c:107,1
    - Dst: json_object_remove_member
      Src: /src/rauc/test/boot_switch.c:108,1
    - Dst: json_object_remove_member
      Src: /src/rauc/test/boot_switch.c:112,1
    - Dst: json_object_get_array_member
      Src: /src/rauc/test/boot_switch.c:113,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:114,1
    - Dst: json_array_get_length
      Src: /src/rauc/test/boot_switch.c:115,1
    - Dst: json_array_get_object_element
      Src: /src/rauc/test/boot_switch.c:116,1
    - Dst: json_object_remove_member
      Src: /src/rauc/test/boot_switch.c:117,1
    - Dst: json_node_equal
      Src: /src/rauc/test/boot_switch.c:120,1
    - Dst: g_message
      Src: /src/rauc/test/boot_switch.c:122,1
    - Dst: json_to_string
      Src: /src/rauc/test/boot_switch.c:123,1
    - Dst: json_to_string
      Src: /src/rauc/test/boot_switch.c:124,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - device
    - expected
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 127
    functionName: sfdisk_check
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - json_object_get_array_member
    - json_from_string
    - json_object_get_object_member
    - json_object_remove_member
    - sfdisk_get
    - json_array_get_length
    - json_to_string
    - json_node_equal
    - json_array_get_object_element
    - g_assert_cmpint
    - g_assert_no_error
    - json_node_get_object
    - g_assert_nonnull
    - json_object_get_int_member
    - g_message
    - json_object_has_member
    - g_assert_true
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void sfdisk_check(const gchar *device, const gchar *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:131,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:133,1
    - Dst: g_bytes_new
      Src: /src/rauc/test/boot_switch.c:136,1
    - Dst: strlen
      Src: /src/rauc/test/boot_switch.c:136,1
    - Dst: g_subprocess_new
      Src: /src/rauc/test/boot_switch.c:138,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:144,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:145,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/test/boot_switch.c:147,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:148,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:149,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/test/boot_switch.c:151,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:152,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - device
    - dump
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: sfdisk_set
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_bytes_new
    - g_subprocess_new
    - g_subprocess_communicate
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - strlen
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void sfdisk_set(const gchar *device, const gchar *dump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:159,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:160,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/test/boot_switch.c:164,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/test/boot_switch.c:165,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:166,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:167,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_switch.c:169,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:169,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:170,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:171,1
    - Dst: g_input_stream_read_all
      Src: /src/rauc/test/boot_switch.c:173,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/rauc/test/boot_switch.c:174,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_switch.c:174,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:177,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:178,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_switch.c:180,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:180,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:181,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:182,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/test/boot_switch.c:184,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/rauc/test/boot_switch.c:185,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_switch.c:185,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:187,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - device
    - offset
    - marker
    argTypes:
    - gchar*
    - goffset
    - guint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 191
    functionName: swap_marker
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_io_stream_get_output_stream
    - g_io_stream_get_input_stream
    - g_output_stream_write_all
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_file_new_for_path
    - g_input_stream_read_all
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void swap_marker(const gchar *device, goffset offset, guint64 *marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:196,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:197,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/test/boot_switch.c:201,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/test/boot_switch.c:202,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:203,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:204,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_switch.c:206,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:206,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:207,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:208,1
    - Dst: g_input_stream_read_all
      Src: /src/rauc/test/boot_switch.c:210,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/rauc/test/boot_switch.c:211,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_switch.c:211,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:214,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - device
    - offset
    argTypes:
    - gchar*
    - goffset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: get_marker
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_io_stream_get_input_stream
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_file_new_for_path
    - g_input_stream_read_all
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: guint64
    signature: guint64 get_marker(const gchar *device, goffset offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:223,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_switch.c:224,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/test/boot_switch.c:229,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/test/boot_switch.c:230,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:231,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:232,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_switch.c:234,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:234,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:235,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:236,1
    - Dst: g_seekable_tell
      Src: /src/rauc/test/boot_switch.c:237,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:237,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_switch.c:238,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_switch.c:238,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:239,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:240,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/test/boot_switch.c:245,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/rauc/test/boot_switch.c:246,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_switch.c:246,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:248,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - device
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 253
    functionName: clear_device
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_io_stream_get_output_stream
    - g_seekable_tell
    - g_output_stream_write_all
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - g_file_new_for_path
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void clear_device(const gchar *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/boot_switch.c:258,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootSwitchFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: boot_switch_fixture_set_up
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void boot_switch_fixture_set_up(BootSwitchFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/test/boot_switch.c:268,1
    - Dst: test_rmdir
      Src: /src/rauc/test/boot_switch.c:268,1
    - Dst: g_free
      Src: /src/rauc/test/boot_switch.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootSwitchFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: boot_switch_fixture_tear_down
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - test_rmdir
    - g_assert
    - g_free
    linkageType: ''
    returnType: void
    signature: "void boot_switch_fixture_tear_down(BootSwitchFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_running_as_root
      Src: /src/rauc/test/boot_switch.c:297,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:301,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:302,1
    - Dst: g_getenv
      Src: /src/rauc/test/boot_switch.c:302,1
    - Dst: g_build_filename
      Src: /src/rauc/test/boot_switch.c:303,1
    - Dst: g_test_message
      Src: /src/rauc/test/boot_switch.c:306,1
    - Dst: g_test_skip
      Src: /src/rauc/test/boot_switch.c:307,1
    - Dst: clear_device
      Src: /src/rauc/test/boot_switch.c:310,1
    - Dst: r_new_image
      Src: /src/rauc/test/boot_switch.c:313,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:314,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:315,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:317,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:318,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_switch.c:320,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/boot_switch.c:320,1
    - Dst: swap_marker
      Src: /src/rauc/test/boot_switch.c:325,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:326,1
    - Dst: g_new0
      Src: /src/rauc/test/boot_switch.c:329,1
    - Dst: g_intern_string
      Src: /src/rauc/test/boot_switch.c:330,1
    - Dst: g_intern_string
      Src: /src/rauc/test/boot_switch.c:331,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:332,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_switch.c:333,1
    - Dst: g_build_filename
      Src: /src/rauc/test/boot_switch.c:339,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:340,1
    - Dst: r_context_conf
      Src: /src/rauc/test/boot_switch.c:341,1
    - Dst: r_context
      Src: /src/rauc/test/boot_switch.c:342,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_switch.c:343,1
    - Dst: g_mkdir
      Src: /src/rauc/test/boot_switch.c:343,1
    - Dst: sfdisk_set
      Src: /src/rauc/test/boot_switch.c:346,1
    - Dst: swap_marker
      Src: /src/rauc/test/boot_switch.c:350,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:351,1
    - Dst: swap_marker
      Src: /src/rauc/test/boot_switch.c:353,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:354,1
    - Dst: swap_marker
      Src: /src/rauc/test/boot_switch.c:356,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:357,1
    - Dst: swap_marker
      Src: /src/rauc/test/boot_switch.c:359,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:360,1
    - Dst: get_update_handler
      Src: /src/rauc/test/boot_switch.c:363,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:364,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_switch.c:365,1
    - Dst: handler
      Src: /src/rauc/test/boot_switch.c:368,1
    - Dst: g_assert_error
      Src: /src/rauc/test/boot_switch.c:371,1
    - Dst: g_clear_error
      Src: /src/rauc/test/boot_switch.c:372,1
    - Dst: g_assert_false
      Src: /src/rauc/test/boot_switch.c:373,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_switch.c:376,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_switch.c:377,1
    - Dst: sfdisk_check
      Src: /src/rauc/test/boot_switch.c:381,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:385,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:385,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:386,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:386,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:387,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:387,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:388,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:388,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:390,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:390,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:391,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:391,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:392,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:392,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/boot_switch.c:393,1
    - Dst: get_marker
      Src: /src/rauc/test/boot_switch.c:393,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_switch.c:398,1
    - Dst: g_remove
      Src: /src/rauc/test/boot_switch.c:398,1
    - Dst: g_rmdir
      Src: /src/rauc/test/boot_switch.c:400,1
    - Dst: r_free_image
      Src: /src/rauc/test/boot_switch.c:402,1
    - Dst: r_slot_free
      Src: /src/rauc/test/boot_switch.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootSwitchFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 404
    functionName: test_boot_switch
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_assert_cmphex
    - r_context
    - handler
    - g_test_message
    - swap_marker
    - g_assert_no_error
    - g_intern_string
    - g_build_filename
    - get_marker
    - clear_device
    - test_running_as_root
    - get_update_handler
    - sfdisk_check
    - g_strdup
    - g_assert_true
    - g_mkdir
    - g_assert_nonnull
    - g_getenv
    - g_assert_error
    - r_free_image
    - g_assert_false
    - r_new_image
    - g_assert
    - sfdisk_set
    - g_new0
    - g_clear_error
    - g_test_skip
    - g_rmdir
    - r_context_conf
    - g_remove
    - r_slot_free
    - test_prepare_dummy_file
    linkageType: ''
    returnType: void
    signature: "void test_boot_switch(BootSwitchFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: R_QUOTE
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R_QUOTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/boot_switch.c:411,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_switch.c:413,1
    - Dst: g_setenv
      Src: /src/rauc/test/boot_switch.c:413,1
    - Dst: g_test_init
      Src: /src/rauc/test/boot_switch.c:415,1
    - Dst: R_QUOTE
      Src: /src/rauc/test/boot_switch.c:430,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_switch.c:458,1
    - Dst: R_QUOTE
      Src: /src/rauc/test/boot_switch.c:479,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_switch.c:512,1
    - Dst: R_QUOTE
      Src: /src/rauc/test/boot_switch.c:535,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_switch.c:567,1
    - Dst: R_QUOTE
      Src: /src/rauc/test/boot_switch.c:589,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_switch.c:621,1
    - Dst: g_test_run
      Src: /src/rauc/test/boot_switch.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 630
    functionName: main
    functionSourceFile: /src/rauc/test/boot_switch.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - R_QUOTE
    - g_assert
    - setlocale
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/service.c:32,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/service.c:34,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/service.c:37,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/service.c:41,1
    - Dst: g_test_dbus_new
      Src: /src/rauc/test/service.c:44,1
    - Dst: g_test_dbus_add_service_dir
      Src: /src/rauc/test/service.c:45,1
    - Dst: g_test_dbus_up
      Src: /src/rauc/test/service.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: service_fixture_set_up
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_test_dbus_add_service_dir
    - g_test_dbus_up
    - write_tmp_file
    - g_test_dbus_new
    - g_dir_make_tmp
    - fixture_helper_set_up_system
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: void service_fixture_set_up(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service_fixture_set_up
      Src: /src/rauc/test/service.c:51,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/service.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: service_install_fixture_set_up
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - service_fixture_set_up
    linkageType: ''
    returnType: void
    signature: void service_install_fixture_set_up(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_test_dbus_down
      Src: /src/rauc/test/service.c:66,1
    - Dst: g_object_unref
      Src: /src/rauc/test/service.c:67,1
    - Dst: test_umount
      Src: /src/rauc/test/service.c:69,1
    - Dst: test_umount
      Src: /src/rauc/test/service.c:70,1
    - Dst: rm_tree
      Src: /src/rauc/test/service.c:72,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:73,1
    - Dst: g_assert_true
      Src: /src/rauc/test/service.c:74,1
    - Dst: g_free
      Src: /src/rauc/test/service.c:75,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/service.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: service_fixture_tear_down
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - rm_tree
    - g_object_unref
    - g_test_dbus_down
    - g_assert_true
    - g_assert_no_error
    - g_clear_pointer
    - test_umount
    - g_free
    linkageType: ''
    returnType: void
    signature: void service_fixture_tear_down(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/rauc/test/service.c:89,1
    - Dst: g_message
      Src: /src/rauc/test/service.c:90,1
    - Dst: g_variant_lookup
      Src: /src/rauc/test/service.c:92,1
    - Dst: g_autoptr
      Src: /src/rauc/test/service.c:93,1
    - Dst: g_queue_pop_head
      Src: /src/rauc/test/service.c:93,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:97,1
    - Dst: g_assert_true
      Src: /src/rauc/test/service.c:99,1
    - Dst: g_variant_is_floating
      Src: /src/rauc/test/service.c:99,1
    - Dst: g_variant_get_child
      Src: /src/rauc/test/service.c:100,1
    - Dst: g_variant_get_child
      Src: /src/rauc/test/service.c:101,1
    - Dst: g_variant_get_child
      Src: /src/rauc/test/service.c:102,1
    - Dst: g_message
      Src: /src/rauc/test/service.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:104,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:105,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - proxy
    - changed
    - invalidated
    - data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - gchar**
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: on_installer_changed
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_message
    - g_variant_is_floating
    - g_assert_cmpint
    - g_assert_nonnull
    - g_queue_pop_head
    - g_assert_cmpstr
    - g_variant_get_child
    - g_variant_lookup
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void on_installer_changed(GDBusProxy *proxy, GVariant *changed,\n\t\tconst
      gchar* const *invalidated,\n\t\tgpointer data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_installer_get_last_error
      Src: /src/rauc/test/service.c:114,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:115,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:116,1
    - Dst: g_main_loop_quit
      Src: /src/rauc/test/service.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - proxy
    - result
    - data
    argTypes:
    - GDBusProxy*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: on_installer_completed
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - r_installer_get_last_error
    - g_main_loop_quit
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: "void on_installer_completed(GDBusProxy *proxy, gint result,\n\t\tgpointer
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_installer_get_last_error
      Src: /src/rauc/test/service.c:124,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:125,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:126,1
    - Dst: g_main_loop_quit
      Src: /src/rauc/test/service.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - proxy
    - result
    - data
    argTypes:
    - GDBusProxy*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: on_installer_completed_failed
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - r_installer_get_last_error
    - g_main_loop_quit
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: "void on_installer_completed_failed(GDBusProxy *proxy, gint result,\n\t\tgpointer
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/test/service.c:136,1
    - Dst: g_variant_n_children
      Src: /src/rauc/test/service.c:136,1
    - Dst: g_variant_get_child_value
      Src: /src/rauc/test/service.c:137,1
    - Dst: g_variant_get_int32
      Src: /src/rauc/test/service.c:138,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:139,1
    - Dst: g_variant_unref
      Src: /src/rauc/test/service.c:140,1
    - Dst: g_variant_get_child_value
      Src: /src/rauc/test/service.c:142,1
    - Dst: g_variant_get_string
      Src: /src/rauc/test/service.c:143,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:144,1
    - Dst: g_variant_unref
      Src: /src/rauc/test/service.c:145,1
    - Dst: g_variant_get_child_value
      Src: /src/rauc/test/service.c:147,1
    - Dst: g_variant_get_int32
      Src: /src/rauc/test/service.c:148,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:149,1
    - Dst: g_variant_unref
      Src: /src/rauc/test/service.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - progress
    - percentage
    - message
    - depth
    argTypes:
    - GVariant*
    - gint32
    - gchar*
    - gint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: assert_progress
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert
    - g_variant_get_int32
    - g_assert_cmpint
    - g_variant_n_children
    - g_variant_unref
    - g_variant_get_string
    - g_variant_get_child_value
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void assert_progress(GVariant *progress, gint32 percentage, const gchar
      *message, gint32 depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/service.c:155,1
    - Dst: g_queue_new
      Src: /src/rauc/test/service.c:155,1
    - Dst: g_test_skip
      Src: /src/rauc/test/service.c:166,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/service.c:171,1
    - Dst: g_main_loop_new
      Src: /src/rauc/test/service.c:174,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:177,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:177,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:178,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:178,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:179,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:179,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:180,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:180,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:181,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:181,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:182,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:182,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:183,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:183,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:184,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:184,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:185,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:185,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:186,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:186,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:187,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:187,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:188,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:188,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:189,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:189,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:190,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:190,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:192,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:192,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:193,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:193,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:194,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:194,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:195,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:195,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:197,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:197,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:198,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:198,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:199,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:199,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/test/service.c:200,1
    - Dst: g_variant_new
      Src: /src/rauc/test/service.c:200,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/test/service.c:202,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:206,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:207,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:210,1
    - Dst: g_signal_connect
      Src: /src/rauc/test/service.c:210,1
    - Dst: G_CALLBACK
      Src: /src/rauc/test/service.c:211,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:212,1
    - Dst: g_signal_connect
      Src: /src/rauc/test/service.c:212,1
    - Dst: G_CALLBACK
      Src: /src/rauc/test/service.c:213,1
    - Dst: r_installer_get_operation
      Src: /src/rauc/test/service.c:216,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:217,1
    - Dst: r_installer_get_last_error
      Src: /src/rauc/test/service.c:218,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:219,1
    - Dst: r_installer_get_progress
      Src: /src/rauc/test/service.c:221,1
    - Dst: assert_progress
      Src: /src/rauc/test/service.c:222,1
    - Dst: r_installer_get_compatible
      Src: /src/rauc/test/service.c:224,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:225,1
    - Dst: r_installer_get_variant
      Src: /src/rauc/test/service.c:226,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:227,1
    - Dst: r_installer_get_boot_slot
      Src: /src/rauc/test/service.c:228,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:229,1
    - Dst: r_context
      Src: /src/rauc/test/service.c:231,1
    - Dst: g_build_filename
      Src: /src/rauc/test/service.c:233,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:234,1
    - Dst: r_installer_call_install_sync
      Src: /src/rauc/test/service.c:238,1
    - Dst: g_auto
      Src: /src/rauc/test/service.c:244,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/test/service.c:244,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/test/service.c:245,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/test/service.c:248,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:252,1
    - Dst: g_assert_true
      Src: /src/rauc/test/service.c:253,1
    - Dst: g_main_loop_run
      Src: /src/rauc/test/service.c:255,1
    - Dst: g_clear_object
      Src: /src/rauc/test/service.c:257,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/service.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 3
    argNames:
    - fixture
    - user_data
    - deprecated
    argTypes:
    - ServiceFixture*
    - gconstpointer
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 260
    functionName: service_test_install
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpuint
    - r_context
    - r_installer_get_last_error
    - g_assert_cmpint
    - g_assert_no_error
    - g_build_filename
    - r_installer_call_install_bundle_sync
    - r_installer_get_progress
    - r_installer_proxy_new_for_bus_sync
    - test_running_as_root
    - g_signal_connect
    - g_assert_true
    - g_assert_nonnull
    - assert_progress
    - g_assert_cmpstr
    - g_autoptr
    - g_main_loop_run
    - g_auto
    - G_CALLBACK
    - r_installer_get_compatible
    - r_installer_get_operation
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_clear_object
    - g_main_loop_new
    - g_test_skip
    - r_installer_call_install_sync
    - g_queue_push_tail
    - g_queue_new
    - r_installer_get_boot_slot
    - r_installer_get_variant
    - g_variant_new
    linkageType: ''
    returnType: void
    signature: void service_test_install(ServiceFixture *fixture, gconstpointer user_data,
      gboolean deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service_test_install
      Src: /src/rauc/test/service.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: service_test_install_bundle
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - service_test_install
    linkageType: ''
    returnType: void
    signature: void service_test_install_bundle(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/test/service.c:271,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/test/service.c:271,1
    - Dst: g_test_skip
      Src: /src/rauc/test/service.c:274,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/service.c:279,1
    - Dst: g_main_loop_new
      Src: /src/rauc/test/service.c:282,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/test/service.c:284,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:287,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:288,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:290,1
    - Dst: g_signal_connect
      Src: /src/rauc/test/service.c:290,1
    - Dst: G_CALLBACK
      Src: /src/rauc/test/service.c:291,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/test/service.c:294,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/test/service.c:296,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/test/service.c:299,1
    - Dst: g_assert_error
      Src: /src/rauc/test/service.c:303,1
    - Dst: g_assert_false
      Src: /src/rauc/test/service.c:304,1
    - Dst: g_clear_error
      Src: /src/rauc/test/service.c:305,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/test/service.c:308,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/test/service.c:309,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/test/service.c:311,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/test/service.c:314,1
    - Dst: g_assert_error
      Src: /src/rauc/test/service.c:318,1
    - Dst: g_assert_false
      Src: /src/rauc/test/service.c:319,1
    - Dst: g_clear_error
      Src: /src/rauc/test/service.c:320,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/test/service.c:323,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/test/service.c:324,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/test/service.c:326,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/test/service.c:329,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:333,1
    - Dst: g_assert_true
      Src: /src/rauc/test/service.c:334,1
    - Dst: g_main_loop_run
      Src: /src/rauc/test/service.c:336,1
    - Dst: g_clear_object
      Src: /src/rauc/test/service.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 339
    functionName: service_test_install_api
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - g_assert_no_error
    - r_installer_call_install_bundle_sync
    - r_installer_proxy_new_for_bus_sync
    - test_running_as_root
    - g_signal_connect
    - g_assert_true
    - g_variant_dict_insert
    - g_assert_nonnull
    - g_assert_error
    - g_main_loop_run
    - g_assert_false
    - g_auto
    - G_CALLBACK
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_clear_object
    - g_main_loop_new
    - g_clear_error
    - g_test_skip
    - g_variant_dict_init
    linkageType: ''
    returnType: void
    signature: void service_test_install_api(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service_test_install
      Src: /src/rauc/test/service.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: service_test_install_deprecated
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - service_test_install
    linkageType: ''
    returnType: void
    signature: void service_test_install_deprecated(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/rauc/test/service.c:354,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/service.c:359,1
    - Dst: g_build_filename
      Src: /src/rauc/test/service.c:362,1
    - Dst: g_assert_true
      Src: /src/rauc/test/service.c:363,1
    - Dst: test_copy_file
      Src: /src/rauc/test/service.c:363,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/test/service.c:365,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:371,1
    - Dst: g_error
      Src: /src/rauc/test/service.c:374,1
    - Dst: r_installer_call_info_sync
      Src: /src/rauc/test/service.c:379,1
    - Dst: g_autoptr
      Src: /src/rauc/test/service.c:386,1
    - Dst: g_autoptr
      Src: /src/rauc/test/service.c:387,1
    - Dst: g_auto
      Src: /src/rauc/test/service.c:388,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/test/service.c:388,1
    - Dst: r_installer_call_inspect_bundle_sync
      Src: /src/rauc/test/service.c:389,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/test/service.c:391,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:395,1
    - Dst: g_variant_lookup
      Src: /src/rauc/test/service.c:396,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:397,1
    - Dst: g_variant_lookup
      Src: /src/rauc/test/service.c:398,1
    - Dst: g_variant_lookup
      Src: /src/rauc/test/service.c:399,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:401,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:402,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/service.c:403,1
    - Dst: g_clear_object
      Src: /src/rauc/test/service.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - fixture
    - user_data
    - deprecated
    argTypes:
    - ServiceFixture*
    - gconstpointer
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 407
    functionName: service_test_info
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - r_installer_proxy_new_for_bus_sync
    - g_auto
    - test_running_as_root
    - g_test_skip
    - g_variant_lookup
    - test_copy_file
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_error
    - g_assert_true
    - r_installer_call_info_sync
    - g_assert_no_error
    - g_clear_object
    - g_assert_nonnull
    - g_build_filename
    - g_assert_cmpstr
    - r_installer_call_inspect_bundle_sync
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void service_test_info(ServiceFixture *fixture, gconstpointer user_data,
      gboolean deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service_test_info
      Src: /src/rauc/test/service.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: service_test_info_bundle
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - service_test_info
    linkageType: ''
    returnType: void
    signature: void service_test_info_bundle(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service_test_info
      Src: /src/rauc/test/service.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: service_test_info_deprecated
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - service_test_info
    linkageType: ''
    returnType: void
    signature: void service_test_info_deprecated(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_test_skip
      Src: /src/rauc/test/service.c:425,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/service.c:430,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/test/service.c:433,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:439,1
    - Dst: g_error
      Src: /src/rauc/test/service.c:442,1
    - Dst: r_installer_call_get_slot_status_sync
      Src: /src/rauc/test/service.c:446,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/service.c:450,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/service.c:451,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/service.c:452,1
    - Dst: g_variant_n_children
      Src: /src/rauc/test/service.c:452,1
    - Dst: g_clear_object
      Src: /src/rauc/test/service.c:455,1
    - Dst: g_variant_unref
      Src: /src/rauc/test/service.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - ServiceFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 457
    functionName: service_test_slot_status
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - r_installer_proxy_new_for_bus_sync
    - test_running_as_root
    - g_test_skip
    - g_clear_object
    - g_error
    - r_installer_call_get_slot_status_sync
    - g_assert_cmpint
    - g_assert_no_error
    - g_variant_n_children
    - g_assert_nonnull
    - g_variant_unref
    linkageType: ''
    returnType: void
    signature: void service_test_slot_status(ServiceFixture *fixture, gconstpointer
      user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/service.c:461,1
    - Dst: g_assert
      Src: /src/rauc/test/service.c:463,1
    - Dst: g_setenv
      Src: /src/rauc/test/service.c:463,1
    - Dst: g_test_init
      Src: /src/rauc/test/service.c:465,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:467,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:471,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:475,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:479,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:483,1
    - Dst: g_test_add
      Src: /src/rauc/test/service.c:487,1
    - Dst: g_test_run
      Src: /src/rauc/test/service.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 492
    functionName: main
    functionSourceFile: /src/rauc/test/service.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - setlocale
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/hash_index.c:22,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:23,1
    - Dst: g_test_message
      Src: /src/rauc/test/hash_index.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: fixture_set_up
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 1
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void fixture_set_up(Fixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:30,1
    - Dst: rm_tree
      Src: /src/rauc/test/hash_index.c:30,1
    - Dst: g_free
      Src: /src/rauc/test/hash_index.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: fixture_tear_down
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 1
    functionsReached:
    - g_assert_true
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void fixture_tear_down(Fixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:36,1
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:37,1
    - Dst: g_new0
      Src: /src/rauc/test/hash_index.c:38,1
    - Dst: g_open
      Src: /src/rauc/test/hash_index.c:45,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:46,1
    - Dst: r_hash_index_open
      Src: /src/rauc/test/hash_index.c:49,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:50,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:51,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:56,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:57,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:59,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:60,1
    - Dst: g_build_filename
      Src: /src/rauc/test/hash_index.c:63,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:64,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:65,1
    - Dst: g_file_test
      Src: /src/rauc/test/hash_index.c:65,1
    - Dst: r_hash_index_export
      Src: /src/rauc/test/hash_index.c:67,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:68,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:69,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:71,1
    - Dst: g_file_test
      Src: /src/rauc/test/hash_index.c:71,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:74,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:75,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:76,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:77,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:78,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:79,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:80,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:80,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:81,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:84,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:85,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:86,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:87,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:88,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:89,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:90,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:90,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:91,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:94,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:95,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:96,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:97,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:98,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:99,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:100,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:100,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:101,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:104,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:105,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:106,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:107,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:108,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:109,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:110,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:110,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:111,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:114,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:115,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:116,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:117,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:118,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:119,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:120,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:120,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:121,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:124,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:125,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:126,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:127,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:128,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 132
    functionName: test_basic
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 1
    functionsReached:
    - g_file_test
    - g_assert_cmphex
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - g_build_filename
    - GUINT32_FROM_BE
    - r_hash_index_open
    - r_hash_index_get_chunk
    - memcpy
    - g_open
    - g_assert_true
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    - g_assert_false
    - r_hash_index_export
    - r_hex_decode
    - g_assert_cmpmem
    - g_new0
    - g_clear_error
    linkageType: ''
    returnType: void
    signature: void test_basic(Fixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:136,1
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:137,1
    - Dst: g_new0
      Src: /src/rauc/test/hash_index.c:138,1
    - Dst: g_open
      Src: /src/rauc/test/hash_index.c:145,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:146,1
    - Dst: write_random_file
      Src: /src/rauc/test/hash_index.c:148,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:149,1
    - Dst: g_open
      Src: /src/rauc/test/hash_index.c:151,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:152,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:155,1
    - Dst: r_pread_exact
      Src: /src/rauc/test/hash_index.c:155,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:156,1
    - Dst: lseek
      Src: /src/rauc/test/hash_index.c:156,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:157,1
    - Dst: r_write_exact
      Src: /src/rauc/test/hash_index.c:157,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:158,1
    - Dst: lseek
      Src: /src/rauc/test/hash_index.c:158,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:159,1
    - Dst: r_write_exact
      Src: /src/rauc/test/hash_index.c:159,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:162,1
    - Dst: r_pread_exact
      Src: /src/rauc/test/hash_index.c:162,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:163,1
    - Dst: lseek
      Src: /src/rauc/test/hash_index.c:163,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:164,1
    - Dst: r_write_exact
      Src: /src/rauc/test/hash_index.c:164,1
    - Dst: r_hash_index_open
      Src: /src/rauc/test/hash_index.c:167,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:168,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:169,1
    - Dst: memset
      Src: /src/rauc/test/hash_index.c:173,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:174,1
    - Dst: lseek
      Src: /src/rauc/test/hash_index.c:174,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:175,1
    - Dst: r_write_exact
      Src: /src/rauc/test/hash_index.c:175,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:177,1
    - Dst: g_close
      Src: /src/rauc/test/hash_index.c:177,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:179,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:180,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:181,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:183,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/test/hash_index.c:184,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:187,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:188,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/hash_index.c:189,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:190,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:191,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:192,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:193,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:193,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:198,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:199,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:200,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:201,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:206,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:207,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:208,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:209,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:210,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:210,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:215,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:216,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:217,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:218,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:219,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:219,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:224,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:225,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:226,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:227,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:232,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:233,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:234,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:235,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:237,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:242,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:243,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:244,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:245,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:246,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:247,1
    - Dst: memset
      Src: /src/rauc/test/hash_index.c:250,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:251,1
    - Dst: lseek
      Src: /src/rauc/test/hash_index.c:251,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:252,1
    - Dst: r_write_exact
      Src: /src/rauc/test/hash_index.c:252,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/hash_index.c:255,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:260,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:261,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:262,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:263,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:268,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:269,1
    - Dst: g_assert_false
      Src: /src/rauc/test/hash_index.c:270,1
    - Dst: g_clear_error
      Src: /src/rauc/test/hash_index.c:271,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/test/hash_index.c:277,1
    - Dst: g_assert_true
      Src: /src/rauc/test/hash_index.c:278,1
    - Dst: g_assert_cmpmem
      Src: /src/rauc/test/hash_index.c:279,1
    - Dst: memcpy
      Src: /src/rauc/test/hash_index.c:280,1
    - Dst: g_assert_cmphex
      Src: /src/rauc/test/hash_index.c:281,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/test/hash_index.c:281,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/hash_index.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 284
    functionName: test_ranges
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 0
    functionsReached:
    - g_close
    - memset
    - r_write_exact
    - g_assert_cmphex
    - g_assert_cmpuint
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - lseek
    - GUINT32_FROM_BE
    - r_hash_index_open
    - r_hash_index_get_chunk
    - memcpy
    - g_open
    - g_assert_true
    - g_assert_nonnull
    - g_assert_error
    - g_autoptr
    - g_assert_false
    - r_hex_decode
    - g_assert_cmpmem
    - g_new0
    - g_clear_error
    - r_pread_exact
    - write_random_file
    linkageType: ''
    returnType: void
    signature: void test_ranges(Fixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:290,1
    - Dst: g_autoptr
      Src: /src/rauc/test/hash_index.c:291,1
    - Dst: write_random_file
      Src: /src/rauc/test/hash_index.c:294,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/hash_index.c:295,1
    - Dst: g_open
      Src: /src/rauc/test/hash_index.c:297,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/hash_index.c:298,1
    - Dst: r_hash_index_open
      Src: /src/rauc/test/hash_index.c:301,1
    - Dst: g_assert_error
      Src: /src/rauc/test/hash_index.c:302,1
    - Dst: g_assert_null
      Src: /src/rauc/test/hash_index.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - Fixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: test_invalid_size
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 0
    functionsReached:
    - r_hash_index_open
    - g_open
    - g_assert_cmpint
    - g_assert_nonnull
    - write_random_file
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_invalid_size(Fixture *fixture, gconstpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/hash_index.c:308,1
    - Dst: g_test_init
      Src: /src/rauc/test/hash_index.c:310,1
    - Dst: r_context_conf
      Src: /src/rauc/test/hash_index.c:312,1
    - Dst: r_context
      Src: /src/rauc/test/hash_index.c:313,1
    - Dst: g_test_add
      Src: /src/rauc/test/hash_index.c:315,1
    - Dst: g_test_add
      Src: /src/rauc/test/hash_index.c:316,1
    - Dst: g_test_add
      Src: /src/rauc/test/hash_index.c:317,1
    - Dst: g_test_run
      Src: /src/rauc/test/hash_index.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: main
    functionSourceFile: /src/rauc/test/hash_index.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - r_context
    - r_context_conf
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:29,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:31,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: install_fixture_set_up_bundle
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:39,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:41,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: install_fixture_set_up_bundle_central_status
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_central_status(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:61,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:63,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: install_fixture_set_up_bundle_already_mounted
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_already_mounted(InstallFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:83,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:85,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: install_fixture_set_up_bundle_custom_handler
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_custom_handler(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:107,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:109,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: install_fixture_set_up_bundle_install_check_hook
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_install_check_hook(InstallFixture
      *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:133,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:135,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: install_fixture_set_up_bundle_install_hook
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_install_hook(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:158,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:160,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: install_fixture_set_up_bundle_post_hook
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_post_hook(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:176,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:178,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: install_fixture_set_up_bundle_adaptive
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_bundle_adaptive(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:193,1
    - Dst: fixture_helper_set_up_system
      Src: /src/rauc/test/install.c:195,1
    - Dst: fixture_helper_set_up_bundle
      Src: /src/rauc/test/install.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: install_fixture_set_up_slot_skipping
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_set_up_bundle
    - fixture_helper_set_up_system
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_slot_skipping(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:262,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:263,1
    - Dst: g_test_message
      Src: /src/rauc/test/install.c:264,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:266,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:267,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:268,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 269
    functionName: install_fixture_set_up_system_conf
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - r_context_conf
    - write_tmp_file
    - g_test_message
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_system_conf(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup_printf
      Src: /src/rauc/test/install.c:280,1
    - Dst: system
      Src: /src/rauc/test/install.c:281,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:284,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:285,1
    - Dst: test_rm_tree
      Src: /src/rauc/test/install.c:286,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: install_fixture_tear_down
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - system
    - test_rm_tree
    - g_strdup_printf
    - test_umount
    - g_free
    linkageType: ''
    returnType: void
    signature: "void install_fixture_tear_down(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:293,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: install_test_bootname
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void install_test_bootname(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:299,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:300,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:301,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:302,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:325,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:326,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:328,1
    - Dst: load_manifest_file
      Src: /src/rauc/test/install.c:328,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:330,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:330,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:332,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:333,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:334,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:336,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:336,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:337,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:337,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:338,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:338,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:338,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:339,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:339,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:339,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:340,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:340,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:340,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:341,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:341,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:341,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:342,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:342,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:342,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:344,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:346,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:348,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:348,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:349,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:349,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:350,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:350,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:351,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:351,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:352,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:352,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:353,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:353,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:357,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:357,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/install.c:360,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:360,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:361,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:361,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:362,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:362,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:363,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:363,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:365,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:365,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:366,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:366,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:367,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:367,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:369,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:369,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:370,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:370,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:371,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:371,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:373,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:374,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:375,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:377,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:378,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:378,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:379,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:379,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:380,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:380,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:381,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 382
    functionName: install_test_target
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - r_install_make_plans
    - r_context
    - g_hash_table_size
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_contains
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_autoptr
    - determine_target_install_group
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_strcmp0
    - load_manifest_file
    linkageType: ''
    returnType: void
    signature: "void install_test_target(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:389,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:390,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:402,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:403,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:405,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:406,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:409,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:409,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:410,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:410,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:411,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:413,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:414,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:415,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:417,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:418,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:421,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 422
    functionName: test_install_determine_target_group_non_redundant
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - determine_slot_states
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_determine_target_group_non_redundant(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:430,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:431,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:455,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:456,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:458,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:459,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:462,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:462,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:463,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:463,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:464,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:466,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:467,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:468,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:470,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:471,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:474,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:474,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:475,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:475,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:476,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:476,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:478,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:478,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:479,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 480
    functionName: test_install_target_group_async
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - g_hash_table_contains
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_target_group_async(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:487,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:488,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:512,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:514,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:515,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:518,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:518,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:519,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:519,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:520,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:522,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:523,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:524,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:526,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:527,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:530,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:530,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:531,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:531,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:532,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:532,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:534,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:534,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:535,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 536
    functionName: test_install_target_group_sync
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - g_hash_table_contains
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_target_group_sync(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:543,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:544,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:563,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:565,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:566,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:569,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:569,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:570,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:570,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:571,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:573,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:574,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:575,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:577,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:578,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:581,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:581,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:582,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:582,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:583,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:583,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:585,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:585,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:586,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 587
    functionName: test_install_target_group_loose
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - g_hash_table_contains
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_target_group_loose(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:594,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:595,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:615,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:617,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:618,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:621,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:621,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:622,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:622,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:623,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:625,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:626,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:627,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:629,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:630,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:633,1
    - Dst: g_hash_table_size
      Src: /src/rauc/test/install.c:633,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:634,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/test/install.c:634,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:636,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 637
    functionName: test_install_target_group_n_redundant
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_hash_table_size
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - g_hash_table_contains
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_target_group_n_redundant(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:644,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:645,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:646,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:647,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:648,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:685,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:687,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:688,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:691,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:691,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:692,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:692,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:693,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:695,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:696,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:697,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:698,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:700,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:701,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:702,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:704,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:705,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:707,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:708,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:709,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:713,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:715,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:716,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:717,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:719,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:720,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 722
    functionName: test_install_image_selection
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_install_make_plans
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - load_manifest_mem
    - g_assert_true
    - g_assert_no_error
    - g_bytes_new_static
    - g_assert_nonnull
    - determine_slot_states
    - g_assert_cmpint
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_image_selection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:728,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:729,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:730,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:731,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:732,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:759,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:761,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:762,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:765,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:765,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:766,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:766,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:767,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:769,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:770,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:771,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:772,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:774,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:775,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:776,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:778,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:779,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:783,1
    - Dst: g_assert_null
      Src: /src/rauc/test/install.c:784,1
    - Dst: g_assert_error
      Src: /src/rauc/test/install.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 786
    functionName: test_install_image_selection_no_matching_slot
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_install_make_plans
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - load_manifest_mem
    - g_assert_true
    - g_assert_no_error
    - g_bytes_new_static
    - g_assert_nonnull
    - determine_slot_states
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_image_selection_no_matching_slot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:794,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:795,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:796,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:797,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:798,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:823,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:825,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:826,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:829,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:829,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:830,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:830,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:831,1
    - Dst: g_message
      Src: /src/rauc/test/install.c:833,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:833,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:835,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:836,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:837,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:838,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:840,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:841,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:842,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:844,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:845,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:849,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:850,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:851,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:854,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:856,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:857,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 859
    functionName: test_install_image_selection_boot_external
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_install_make_plans
    - determine_slot_states
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - load_manifest_mem
    - g_message
    - g_assert_no_error
    - g_bytes_new_static
    - g_assert_nonnull
    - g_assert_true
    - g_assert_cmpint
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_image_selection_boot_external(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:865,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:866,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:867,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:868,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:869,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:893,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:895,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:896,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:899,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:899,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:900,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:900,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:901,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:903,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:904,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:905,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:906,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:908,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:909,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:910,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:912,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:913,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:917,1
    - Dst: g_assert_null
      Src: /src/rauc/test/install.c:918,1
    - Dst: g_assert_error
      Src: /src/rauc/test/install.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 920
    functionName: test_install_image_readonly
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - determine_target_install_group
    - r_install_make_plans
    - r_context
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - g_dir_make_tmp
    - load_manifest_mem
    - g_assert_true
    - g_assert_no_error
    - g_bytes_new_static
    - g_assert_nonnull
    - determine_slot_states
    - g_assert_null
    - g_assert_error
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void test_install_image_readonly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:926,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:927,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:928,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:929,1
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:931,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:973,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:975,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:976,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:979,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:979,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:980,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:980,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:981,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:983,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:984,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:985,1
    - Dst: determine_target_install_group
      Src: /src/rauc/test/install.c:987,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:988,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:991,1
    - Dst: strlen
      Src: /src/rauc/test/install.c:991,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:992,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:993,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:994,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:995,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:997,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:998,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:999,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:1001,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:1003,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1004,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:1005,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1007,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1008,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1009,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:1012,1
    - Dst: strlen
      Src: /src/rauc/test/install.c:1012,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:1013,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1014,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1015,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1016,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:1018,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1019,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1020,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:1022,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/test/install.c:1024,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1025,1
    - Dst: g_assert_null
      Src: /src/rauc/test/install.c:1026,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1028,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1029,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1030,1
    - Dst: g_bytes_new_static
      Src: /src/rauc/test/install.c:1033,1
    - Dst: strlen
      Src: /src/rauc/test/install.c:1033,1
    - Dst: load_manifest_mem
      Src: /src/rauc/test/install.c:1034,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1035,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1036,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1037,1
    - Dst: r_install_make_plans
      Src: /src/rauc/test/install.c:1039,1
    - Dst: g_assert_null
      Src: /src/rauc/test/install.c:1040,1
    - Dst: g_assert_error
      Src: /src/rauc/test/install.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 1042
    functionName: test_install_image_variants
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - r_install_make_plans
    - r_context
    - g_dir_make_tmp
    - load_manifest_mem
    - g_clear_pointer
    - g_assert_cmpint
    - g_assert_no_error
    - g_bytes_new_static
    - g_assert_null
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - g_ptr_array_index
    - g_assert_cmpstr
    - g_autoptr
    - g_assert_error
    - determine_target_install_group
    - strlen
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    linkageType: ''
    returnType: void
    signature: void test_install_image_variants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1051
    functionName: install_notify
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_assert_nonnull
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_notify(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1057,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/install.c:1058,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1059,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/test/install.c:1059,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/test/install.c:1061,1
    - Dst: g_queue_pop_head
      Src: /src/rauc/test/install.c:1062,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1063,1
    - Dst: install_args_free
      Src: /src/rauc/test/install.c:1065,1
    - Dst: g_main_loop_quit
      Src: /src/rauc/test/install.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1071
    functionName: install_cleanup
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_queue_is_empty
    - g_assert_false
    - install_args_free
    - g_assert_cmpint
    - g_assert_nonnull
    - g_queue_pop_head
    - g_free
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_cleanup(gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/test/install.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: find_str_custom
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: gint find_str_custom(gconstpointer a, gconstpointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_queue_find_custom
      Src: /src/rauc/test/install.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - needle
    argTypes:
    - RaucInstallArgs*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: install_args_find_message
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_queue_find_custom
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_args_find_message(RaucInstallArgs *args, const gchar
      *needle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1093,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1096,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1099,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1103,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1104,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1105,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1105,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1106,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1108,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1109,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1111,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1112,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1113,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1115,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1116,1
    - Dst: do_install_bundle
      Src: /src/rauc/test/install.c:1119,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1121,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1122,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1124,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1125,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1126,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install.c:1126,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1127,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1128,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1128,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1129,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1129,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1130,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1130,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1131,1
    - Dst: test_rm_tree
      Src: /src/rauc/test/install.c:1131,1
    - Dst: g_assert_error
      Src: /src/rauc/test/install.c:1135,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1136,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1142,1
    - Dst: install_args_find_message
      Src: /src/rauc/test/install.c:1142,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/test/install.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1149
    functionName: install_test_bundle
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - RaucInstallArgs*::cleanup
    - r_context
    - install_args_find_message
    - do_install_bundle
    - g_assert_no_error
    - install_args_new
    - g_build_filename
    - g_steal_pointer
    - test_running_as_root
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - test_rm_tree
    - test_umount
    - g_assert_error
    - g_autoptr
    - g_assert_false
    - test_mkdir_relative
    - g_assert
    - r_context_conf
    - replace_strdup
    - test_mount
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: install_test_bundle
      Src: /src/rauc/test/install.c:1155,1
    - Dst: install_test_bundle
      Src: /src/rauc/test/install.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1159
    functionName: install_test_bundle_twice
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - install_test_bundle
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle_twice(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1169,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1173,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1174,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1175,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1175,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1176,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1178,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1179,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1181,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1181,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1183,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1184,1
    - Dst: g_main_loop_new
      Src: /src/rauc/test/install.c:1188,1
    - Dst: install_run
      Src: /src/rauc/test/install.c:1189,1
    - Dst: g_main_loop_run
      Src: /src/rauc/test/install.c:1190,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/install.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1192
    functionName: install_test_bundle_thread
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - install_run
    - g_main_loop_run
    - test_running_as_root
    - r_context
    - r_context_conf
    - replace_strdup
    - g_assert_true
    - g_clear_pointer
    - g_main_loop_new
    - g_assert_nonnull
    - determine_slot_states
    - install_args_new
    - g_build_filename
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle_thread(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1200,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1203,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1207,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1208,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1209,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1209,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1210,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1212,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1213,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1215,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1215,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1217,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1218,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1221,1
    - Dst: do_install_bundle
      Src: /src/rauc/test/install.c:1221,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:1222,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/test/install.c:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: install_test_bundle_hook_install_check
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - RaucInstallArgs*::cleanup
    - test_running_as_root
    - r_context
    - r_context_conf
    - do_install_bundle
    - replace_strdup
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - install_args_new
    - g_build_filename
    - g_assert_cmpstr
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle_hook_install_check(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1237,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1241,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1245,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1246,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1247,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1247,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1248,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1250,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1251,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1253,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1254,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1255,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1257,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1258,1
    - Dst: do_install_bundle
      Src: /src/rauc/test/install.c:1261,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1262,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1263,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1265,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1266,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1267,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1268,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1268,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1269,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1269,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1270,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1270,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1271,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1271,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1273,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1274,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1275,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1276,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1277,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1277,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1278,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1278,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1279,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1279,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/test/install.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1283
    functionName: install_test_bundle_hook_install
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - RaucInstallArgs*::cleanup
    - r_context
    - do_install_bundle
    - g_assert_no_error
    - install_args_new
    - g_build_filename
    - g_steal_pointer
    - test_running_as_root
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - test_umount
    - g_autoptr
    - g_assert_false
    - g_assert
    - g_free
    - r_context_conf
    - replace_strdup
    - test_mount
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle_hook_install(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1296,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1300,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1301,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1302,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1302,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1303,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1305,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1306,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1308,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1308,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1310,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1311,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1314,1
    - Dst: do_install_bundle
      Src: /src/rauc/test/install.c:1314,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1316,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1317,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1318,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1319,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1319,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1320,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1320,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1321,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1321,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1322,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1322,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1324,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1325,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1326,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1327,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1328,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1328,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1329,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1329,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1330,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1330,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/test/install.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1334
    functionName: install_test_bundle_hook_post_install
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - RaucInstallArgs*::cleanup
    - test_running_as_root
    - r_context
    - r_context_conf
    - g_assert
    - do_install_bundle
    - test_umount
    - replace_strdup
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - test_mount
    - install_args_new
    - g_build_filename
    - g_free
    - g_steal_pointer
    linkageType: ''
    returnType: void
    signature: "void install_test_bundle_hook_post_install(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1344,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1348,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1352,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1353,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1354,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1354,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1355,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1357,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1358,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1360,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1361,1
    - Dst: g_assert_false
      Src: /src/rauc/test/install.c:1362,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1362,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1364,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1365,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1366,1
    - Dst: install_args_new
      Src: /src/rauc/test/install.c:1368,1
    - Dst: g_steal_pointer
      Src: /src/rauc/test/install.c:1369,1
    - Dst: do_install_bundle
      Src: /src/rauc/test/install.c:1372,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1373,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1374,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1376,1
    - Dst: g_file_test
      Src: /src/rauc/test/install.c:1376,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/test/install.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1380
    functionName: install_test_already_mounted
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_assert_false
    - g_file_test
    - test_running_as_root
    - RaucInstallArgs*::cleanup
    - r_context
    - r_context_conf
    - do_install_bundle
    - replace_strdup
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - determine_slot_states
    - install_args_new
    - g_build_filename
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void install_test_already_mounted(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1389,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/install.c:1411,1
    - Dst: write_tmp_file
      Src: /src/rauc/test/install.c:1414,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1415,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1418,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1418,1
    - Dst: replace_strdup
      Src: /src/rauc/test/install.c:1419,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1419,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1420,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1421,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1421,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/install.c:1422,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1422,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1425,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1426,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install.c:1426,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1427,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1428,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1428,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1430,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1433,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1434,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install.c:1434,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1435,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1436,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1436,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1438,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1441,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1442,1
    - Dst: test_mkdir_relative
      Src: /src/rauc/test/install.c:1442,1
    - Dst: g_build_filename
      Src: /src/rauc/test/install.c:1443,1
    - Dst: g_assert
      Src: /src/rauc/test/install.c:1444,1
    - Dst: test_mount
      Src: /src/rauc/test/install.c:1444,1
    - Dst: g_free
      Src: /src/rauc/test/install.c:1446,1
    - Dst: determine_slot_states
      Src: /src/rauc/test/install.c:1448,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1449,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1450,1
    - Dst: update_external_mount_points
      Src: /src/rauc/test/install.c:1452,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/install.c:1453,1
    - Dst: g_assert_true
      Src: /src/rauc/test/install.c:1454,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:1457,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:1457,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1457,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/install.c:1458,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/test/install.c:1458,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1458,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1460,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1461,1
    - Dst: test_umount
      Src: /src/rauc/test/install.c:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1463
    functionName: install_test_external_mount_points
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_assert_no_error
    - g_build_filename
    - test_running_as_root
    - g_assert_true
    - g_assert_nonnull
    - determine_slot_states
    - g_hash_table_lookup
    - test_umount
    - g_assert_cmpstr
    - g_autoptr
    - test_mkdir_relative
    - g_assert
    - g_free
    - r_context_conf
    - write_tmp_file
    - replace_strdup
    - update_external_mount_points
    - test_mount
    linkageType: ''
    returnType: void
    signature: "void install_test_external_mount_points(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/install.c:1468,1
    - Dst: fixture_helper_fixture_set_up_system_user
      Src: /src/rauc/test/install.c:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - InstallFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1471
    functionName: install_fixture_set_up_system_user
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - fixture_helper_fixture_set_up_system_user
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void install_fixture_set_up_system_user(InstallFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/install.c:1475,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/test/install.c:1475,1
    - Dst: setlocale
      Src: /src/rauc/test/install.c:1478,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/install.c:1480,1
    - Dst: g_getenv
      Src: /src/rauc/test/install.c:1480,1
    - Dst: g_setenv
      Src: /src/rauc/test/install.c:1481,1
    - Dst: g_test_init
      Src: /src/rauc/test/install.c:1483,1
    - Dst: r_context_conf
      Src: /src/rauc/test/install.c:1485,1
    - Dst: g_strdup
      Src: /src/rauc/test/install.c:1485,1
    - Dst: r_context
      Src: /src/rauc/test/install.c:1486,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1488,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1490,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1492,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1494,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1496,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1498,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1500,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1502,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1504,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/install.c:1506,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1508,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/test/install.c:1513,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1515,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1521,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1521,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1526,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1526,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1531,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1531,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1536,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1536,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1541,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1541,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1546,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1547,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1561,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1561,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1566,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1574,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1574,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1579,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1587,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1587,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1592,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1600,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1600,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1605,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1613,1
    - Dst: dup_test_printf
      Src: /src/rauc/test/install.c:1613,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1619,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1625,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1630,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1635,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1647,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1653,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1663,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1669,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1679,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1685,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1697,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1703,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1713,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1718,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1728,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1733,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1744,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1749,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1759,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1764,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1775,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1781,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1792,1
    - Dst: dup_test_data
      Src: /src/rauc/test/install.c:1797,1
    - Dst: g_test_add
      Src: /src/rauc/test/install.c:1810,1
    - Dst: g_test_run
      Src: /src/rauc/test/install.c:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1817
    functionName: main
    functionSourceFile: /src/rauc/test/install.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_strdup
    - r_context_conf
    - r_context
    - r_manifest_bundle_format_to_str
    - dup_test_data
    - g_test_add_func
    - g_ptr_array_new_with_free_func
    - setlocale
    - g_strdup_printf
    - g_test_add
    - dup_test_printf
    - g_setenv
    - g_getenv
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/dm.c:30,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:31,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: dm_fixture_set_up
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void dm_fixture_set_up(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:38,1
    - Dst: rm_tree
      Src: /src/rauc/test/dm.c:38,1
    - Dst: g_free
      Src: /src/rauc/test/dm.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: dm_fixture_tear_down
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void dm_fixture_tear_down(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/rauc/test/dm.c:49,1
    - Dst: lseek
      Src: /src/rauc/test/dm.c:51,1
    - Dst: pread
      Src: /src/rauc/test/dm.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:61,1
    - Dst: g_bytes_get_size
      Src: /src/rauc/test/dm.c:61,1
    - Dst: memcmp
      Src: /src/rauc/test/dm.c:62,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/test/dm.c:62,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:63,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - fd
    - original
    argTypes:
    - int
    - GBytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: readable_sectors
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - aligned_alloc
    - g_test_message
    - g_assert_cmpint
    - pread
    - g_bytes_get_size
    - g_bytes_get_data
    - lseek
    - memcmp
    linkageType: ''
    returnType: guint
    signature: guint readable_sectors(int fd, GBytes *original)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/rauc/test/dm.c:79,1
    - Dst: aligned_alloc
      Src: /src/rauc/test/dm.c:80,1
    - Dst: lseek
      Src: /src/rauc/test/dm.c:82,1
    - Dst: lseek
      Src: /src/rauc/test/dm.c:83,1
    - Dst: pread
      Src: /src/rauc/test/dm.c:88,1
    - Dst: pread
      Src: /src/rauc/test/dm.c:89,1
    - Dst: memcmp
      Src: /src/rauc/test/dm.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - fd_a
    - fd_b
    - sectors
    argTypes:
    - int
    - int
    - guint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: num_diff_sectors
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - pread
    - aligned_alloc
    - lseek
    - memcmp
    linkageType: ''
    returnType: guint
    signature: guint num_diff_sectors(int fd_a, int fd_b, guint sectors)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:110,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:115,1
    - Dst: r_setup_loop
      Src: /src/rauc/test/dm.c:117,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:118,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:119,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:120,1
    - Dst: r_dm_new_verity
      Src: /src/rauc/test/dm.c:122,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:123,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:125,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:126,1
    - Dst: r_dm_setup
      Src: /src/rauc/test/dm.c:128,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:129,1
    - Dst: g_propagate_error
      Src: /src/rauc/test/dm.c:131,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:135,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:137,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:138,1
    - Dst: r_dm_remove
      Src: /src/rauc/test/dm.c:140,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:141,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 6
    argNames:
    - bundlefd
    - loop_size
    - data_size
    - root_digest
    - salt
    - error
    argTypes:
    - int
    - off_t
    - off_t
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 146
    functionName: open_loop_verity
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_dm_remove
    - r_setup_loop
    - r_dm_setup
    - g_strdup
    - r_dm_new_verity
    - g_open
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_nonnull
    - g_propagate_error
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int open_loop_verity(int bundlefd, off_t loop_size, off_t data_size,
      gchar *root_digest, gchar *salt, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:152,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:157,1
    - Dst: r_setup_loop
      Src: /src/rauc/test/dm.c:159,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:160,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:161,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:162,1
    - Dst: r_dm_new_crypt
      Src: /src/rauc/test/dm.c:164,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:165,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:167,1
    - Dst: r_dm_setup
      Src: /src/rauc/test/dm.c:169,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:170,1
    - Dst: g_propagate_error
      Src: /src/rauc/test/dm.c:172,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:176,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:178,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:179,1
    - Dst: r_dm_remove
      Src: /src/rauc/test/dm.c:181,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:182,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 5
    argNames:
    - bundlefd
    - loop_size
    - data_size
    - key
    - error
    argTypes:
    - int
    - off_t
    - off_t
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 187
    functionName: open_loop_crypt
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_dm_remove
    - r_setup_loop
    - r_dm_setup
    - g_strdup
    - g_open
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_nonnull
    - g_propagate_error
    - r_dm_new_crypt
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int open_loop_crypt(int bundlefd, off_t loop_size, off_t data_size,
      const gchar *key, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:193,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/dm.c:201,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:204,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:205,1
    - Dst: r_setup_loop
      Src: /src/rauc/test/dm.c:207,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:208,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:209,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:210,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:211,1
    - Dst: r_dm_new_verity
      Src: /src/rauc/test/dm.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:214,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:216,1
    - Dst: g_strdup
      Src: /src/rauc/test/dm.c:217,1
    - Dst: r_dm_setup
      Src: /src/rauc/test/dm.c:219,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:220,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:221,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:222,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:224,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:226,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:227,1
    - Dst: r_dm_remove
      Src: /src/rauc/test/dm.c:229,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:230,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:231,1
    - Dst: read
      Src: /src/rauc/test/dm.c:234,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:235,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:236,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:237,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:238,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:239,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 243
    functionName: dm_verity_simple_test
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_dm_remove
    - test_running_as_root
    - r_setup_loop
    - read
    - r_dm_setup
    - g_strdup
    - r_dm_new_verity
    - g_open
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_nonnull
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void dm_verity_simple_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:248,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:249,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:251,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:252,1
    - Dst: r_verity_hash_verify
      Src: /src/rauc/test/dm.c:254,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:255,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: verity_hash_test
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_verity_hash_verify
    - r_hex_decode
    - g_open
    - g_assert_cmpint
    linkageType: ''
    returnType: void
    signature: void verity_hash_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:275,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:277,1
    - Dst: g_build_filename
      Src: /src/rauc/test/dm.c:279,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:280,1
    - Dst: r_crypt_encrypt
      Src: /src/rauc/test/dm.c:282,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:283,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:284,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:286,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:287,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:289,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:290,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:293,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:293,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:295,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:295,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:297,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 299
    functionName: crypt_encrypt_test
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_hex_decode
    - num_diff_sectors
    - r_crypt_encrypt
    - g_assert_true
    - g_open
    - g_assert_no_error
    - g_assert_cmpint
    - g_assert_nonnull
    - g_build_filename
    linkageType: ''
    returnType: void
    signature: "void crypt_encrypt_test(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:316,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:318,1
    - Dst: g_build_filename
      Src: /src/rauc/test/dm.c:320,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:321,1
    - Dst: r_crypt_decrypt
      Src: /src/rauc/test/dm.c:323,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:324,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:325,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:327,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:328,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:330,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:331,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:334,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:334,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:336,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:336,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 339
    functionName: crypt_decrypt_test
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - r_crypt_decrypt
    - g_close
    - r_hex_decode
    - num_diff_sectors
    - g_open
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_assert_nonnull
    - g_build_filename
    linkageType: ''
    returnType: void
    signature: "void crypt_decrypt_test(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:344,1
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:346,1
    - Dst: random_bytes
      Src: /src/rauc/test/dm.c:351,1
    - Dst: r_hex_encode
      Src: /src/rauc/test/dm.c:352,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/dm.c:357,1
    - Dst: write_random_file
      Src: /src/rauc/test/dm.c:360,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:361,1
    - Dst: read_file
      Src: /src/rauc/test/dm.c:363,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:364,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:365,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:367,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:368,1
    - Dst: r_verity_hash_create
      Src: /src/rauc/test/dm.c:371,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:372,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:373,1
    - Dst: r_hex_encode
      Src: /src/rauc/test/dm.c:374,1
    - Dst: r_verity_hash_verify
      Src: /src/rauc/test/dm.c:377,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:378,1
    - Dst: open_loop_verity
      Src: /src/rauc/test/dm.c:381,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:382,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:383,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:386,1
    - Dst: readable_sectors
      Src: /src/rauc/test/dm.c:386,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:388,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/dm.c:390,1
    - Dst: r_verity_hash_verify
      Src: /src/rauc/test/dm.c:393,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:394,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:397,1
    - Dst: readable_sectors
      Src: /src/rauc/test/dm.c:397,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:399,1
    - Dst: open_loop_verity
      Src: /src/rauc/test/dm.c:402,1
    - Dst: g_assert_error
      Src: /src/rauc/test/dm.c:403,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/dm.c:404,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:405,1
    - Dst: g_clear_error
      Src: /src/rauc/test/dm.c:406,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/dm.c:409,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:412,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/dm.c:415,1
    - Dst: open_loop_verity
      Src: /src/rauc/test/dm.c:418,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:419,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:420,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:423,1
    - Dst: readable_sectors
      Src: /src/rauc/test/dm.c:423,1
    - Dst: r_verity_hash_verify
      Src: /src/rauc/test/dm.c:426,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:427,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:429,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 433
    functionName: verity_hash_create
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 1
    functionsReached:
    - g_close
    - g_test_message
    - read_file
    - g_assert_cmpint
    - g_assert_no_error
    - r_verity_hash_create
    - test_running_as_root
    - g_open
    - g_assert_nonnull
    - g_assert_cmpstr
    - g_assert_error
    - g_autoptr
    - readable_sectors
    - open_loop_verity
    - g_clear_error
    - r_verity_hash_verify
    - flip_bits_filename
    - write_random_file
    - r_hex_encode
    - random_bytes
    linkageType: ''
    returnType: void
    signature: "void verity_hash_create(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/dm.c:440,1
    - Dst: test_running_as_root
      Src: /src/rauc/test/dm.c:451,1
    - Dst: write_random_file
      Src: /src/rauc/test/dm.c:454,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:455,1
    - Dst: g_build_filename
      Src: /src/rauc/test/dm.c:457,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/dm.c:458,1
    - Dst: r_hex_decode
      Src: /src/rauc/test/dm.c:460,1
    - Dst: r_crypt_encrypt
      Src: /src/rauc/test/dm.c:461,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:462,1
    - Dst: g_assert_true
      Src: /src/rauc/test/dm.c:463,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:465,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:466,1
    - Dst: g_open
      Src: /src/rauc/test/dm.c:468,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:469,1
    - Dst: open_loop_crypt
      Src: /src/rauc/test/dm.c:471,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:472,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:473,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:476,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:476,1
    - Dst: g_test_message
      Src: /src/rauc/test/dm.c:478,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/dm.c:480,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:482,1
    - Dst: open_loop_crypt
      Src: /src/rauc/test/dm.c:484,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:485,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:486,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:489,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:489,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:491,1
    - Dst: flip_bits_filename
      Src: /src/rauc/test/dm.c:494,1
    - Dst: open_loop_crypt
      Src: /src/rauc/test/dm.c:496,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/dm.c:497,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:498,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/dm.c:501,1
    - Dst: num_diff_sectors
      Src: /src/rauc/test/dm.c:501,1
    - Dst: g_close
      Src: /src/rauc/test/dm.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - DMFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 504
    functionName: crypt_create
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_hex_decode
    - test_running_as_root
    - num_diff_sectors
    - flip_bits_filename
    - g_test_message
    - r_crypt_encrypt
    - g_assert_true
    - g_open
    - g_assert_no_error
    - g_assert_cmpint
    - g_assert_nonnull
    - write_random_file
    - g_build_filename
    - open_loop_crypt
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void crypt_create(DMFixture *fixture,\n\t\tgconstpointer user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/dm.c:511,1
    - Dst: g_test_init
      Src: /src/rauc/test/dm.c:513,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/dm.c:515,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/dm.c:516,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:522,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:528,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:534,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:540,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:543,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:545,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:548,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:550,1
    - Dst: g_test_add
      Src: /src/rauc/test/dm.c:552,1
    - Dst: g_test_run
      Src: /src/rauc/test/dm.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 555
    functionName: main
    functionSourceFile: /src/rauc/test/dm.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_test_add_func
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/network.c:17,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/network.c:18,1
    - Dst: g_test_message
      Src: /src/rauc/test/network.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NetworkFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: network_fixture_set_up
    functionSourceFile: /src/rauc/test/network.c
    functionUses: 0
    functionsReached:
    - g_test_message
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void network_fixture_set_up(NetworkFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/network.c:25,1
    - Dst: rm_tree
      Src: /src/rauc/test/network.c:25,1
    - Dst: g_free
      Src: /src/rauc/test/network.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NetworkFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: network_fixture_tear_down
    functionSourceFile: /src/rauc/test/network.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void network_fixture_tear_down(NetworkFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/network.c:36,1
    - Dst: download_file
      Src: /src/rauc/test/network.c:39,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/network.c:40,1
    - Dst: g_assert_true
      Src: /src/rauc/test/network.c:41,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/network.c:42,1
    - Dst: g_unlink
      Src: /src/rauc/test/network.c:42,1
    - Dst: download_file
      Src: /src/rauc/test/network.c:45,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/network.c:46,1
    - Dst: g_assert_true
      Src: /src/rauc/test/network.c:47,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/network.c:48,1
    - Dst: g_unlink
      Src: /src/rauc/test/network.c:48,1
    - Dst: download_file
      Src: /src/rauc/test/network.c:51,1
    - Dst: g_assert_error
      Src: /src/rauc/test/network.c:52,1
    - Dst: g_assert_false
      Src: /src/rauc/test/network.c:53,1
    - Dst: g_clear_error
      Src: /src/rauc/test/network.c:54,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/network.c:55,1
    - Dst: g_unlink
      Src: /src/rauc/test/network.c:55,1
    - Dst: download_file
      Src: /src/rauc/test/network.c:58,1
    - Dst: g_assert_error
      Src: /src/rauc/test/network.c:59,1
    - Dst: g_assert_false
      Src: /src/rauc/test/network.c:60,1
    - Dst: g_clear_error
      Src: /src/rauc/test/network.c:61,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/network.c:62,1
    - Dst: g_unlink
      Src: /src/rauc/test/network.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - NetworkFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: test_download_file
    functionSourceFile: /src/rauc/test/network.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - download_file
    - g_assert_true
    - g_assert_cmpint
    - g_assert_no_error
    - g_build_filename
    - g_unlink
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void test_download_file(NetworkFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/network.c:67,1
    - Dst: g_assert
      Src: /src/rauc/test/network.c:69,1
    - Dst: g_setenv
      Src: /src/rauc/test/network.c:69,1
    - Dst: r_context_conf
      Src: /src/rauc/test/network.c:71,1
    - Dst: g_strdup
      Src: /src/rauc/test/network.c:71,1
    - Dst: r_context
      Src: /src/rauc/test/network.c:72,1
    - Dst: g_test_init
      Src: /src/rauc/test/network.c:74,1
    - Dst: g_test_add
      Src: /src/rauc/test/network.c:76,1
    - Dst: g_test_run
      Src: /src/rauc/test/network.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/rauc/test/network.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_strdup
    - r_context_conf
    - g_assert
    - r_context
    - setlocale
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/checksum.c:14,1
    - Dst: compute_checksum
      Src: /src/rauc/test/checksum.c:14,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/checksum.c:15,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/checksum.c:16,1
    - Dst: g_assert
      Src: /src/rauc/test/checksum.c:17,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/checksum.c:19,1
    - Dst: g_assert_false
      Src: /src/rauc/test/checksum.c:21,1
    - Dst: compute_checksum
      Src: /src/rauc/test/checksum.c:21,1
    - Dst: g_assert_error
      Src: /src/rauc/test/checksum.c:22,1
    - Dst: g_clear_error
      Src: /src/rauc/test/checksum.c:23,1
    - Dst: g_assert_null
      Src: /src/rauc/test/checksum.c:24,1
    - Dst: g_assert
      Src: /src/rauc/test/checksum.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 26
    functionName: checksum_test1
    functionSourceFile: /src/rauc/test/checksum.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_assert_false
    - g_assert_error
    - g_assert
    - g_assert_true
    - g_clear_pointer
    - g_assert_no_error
    - compute_checksum
    - g_assert_null
    - g_assert_cmpstr
    linkageType: ''
    returnType: void
    signature: void checksum_test1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/checksum.c:30,1
    - Dst: g_assert
      Src: /src/rauc/test/checksum.c:32,1
    - Dst: g_setenv
      Src: /src/rauc/test/checksum.c:32,1
    - Dst: g_test_init
      Src: /src/rauc/test/checksum.c:34,1
    - Dst: g_test_add_func
      Src: /src/rauc/test/checksum.c:36,1
    - Dst: g_test_run
      Src: /src/rauc/test/checksum.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/rauc/test/checksum.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_test_add_func
    - setlocale
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/bootchooser.c:18,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: bootchooser_fixture_set_up
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void bootchooser_fixture_set_up(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bootchooser_fixture_set_up
      Src: /src/rauc/test/bootchooser.c:25,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:27,1
    - Dst: test_copy_file
      Src: /src/rauc/test/bootchooser.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: custom_bootchooser_fixture_set_up
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - bootchooser_fixture_set_up
    - test_copy_file
    linkageType: ''
    returnType: void
    signature: "void custom_bootchooser_fixture_set_up(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:34,1
    - Dst: rm_tree
      Src: /src/rauc/test/bootchooser.c:34,1
    - Dst: g_free
      Src: /src/rauc/test/bootchooser.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: bootchooser_fixture_tear_down
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void bootchooser_fixture_tear_down(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:68,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:69,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:71,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:71,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:72,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:73,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:75,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:75,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:76,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:77,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:77,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:78,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:81,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:81,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:87,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:87,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:88,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:89,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:89,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:90,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:92,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:93,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:94,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:95,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:98,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:98,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:104,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:104,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:105,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:106,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:106,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:107,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:109,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:110,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:111,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:112,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:115,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:115,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:121,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:121,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:122,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:123,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:123,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:124,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:126,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:127,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:128,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:129,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:132,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:132,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:138,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:138,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:144,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:144,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:147,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:147,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:153,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:153,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:159,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:159,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:162,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:162,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:168,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:168,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:174,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:174,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:177,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:177,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:183,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:183,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:189,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 190
    functionName: bootchooser_barebox
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - g_assert_false
    - r_boot_get_primary
    - r_context
    - r_context_conf
    - g_assert
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_setenv
    - r_boot_get_state
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_barebox(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:219,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:220,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:222,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:222,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:223,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:224,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:226,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:226,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:227,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:228,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:228,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:229,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:232,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:232,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:238,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:238,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:244,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:245,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:246,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:249,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:249,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:255,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:255,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:261,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:262,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:263,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:265,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:266,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:267,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 269
    functionName: bootchooser_barebox_asymmetric
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - r_boot_get_primary
    - r_context
    - r_context_conf
    - g_assert
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_setenv
    - g_assert_no_error
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_barebox_asymmetric(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:295,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:296,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:298,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:298,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:299,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:300,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:302,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:302,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:303,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:306,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:306,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:312,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:312,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:318,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:319,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:320,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:323,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:323,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:329,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:329,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:335,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:336,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 338
    functionName: bootchooser_barebox_conf_attempts
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - r_context
    - r_context_conf
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_setenv
    - g_assert_no_error
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_barebox_conf_attempts(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:352,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/bootchooser.c:352,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vars
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: test_grub_initialize_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_file_set_contents
    - g_assert_true
    - r_context
    linkageType: ''
    returnType: void
    signature: void test_grub_initialize_state(const gchar *vars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:363,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/bootchooser.c:363,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:363,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bootchooser.c:365,1
    - Dst: g_print
      Src: /src/rauc/test/bootchooser.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - compare
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: test_grub_post_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strcmp0
    - g_assert_true
    - g_print
    - g_file_get_contents
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_grub_post_state(const gchar *compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:407,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:408,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:410,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:410,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:411,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:412,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:414,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:414,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:415,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:416,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:416,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:417,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:420,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:427,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:427,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:428,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:429,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:429,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:430,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:433,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:438,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:438,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:439,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:440,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:441,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:441,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:442,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:443,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:446,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:453,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:454,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:455,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:456,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:459,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:466,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bootchooser.c:467,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:468,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:469,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:472,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:478,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bootchooser.c:479,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:480,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:481,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:484,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:490,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bootchooser.c:491,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:492,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:493,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:496,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:503,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:503,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:504,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:505,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:505,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:506,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:509,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:516,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:516,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:517,1
    - Dst: test_grub_post_state
      Src: /src/rauc/test/bootchooser.c:517,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:525,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:525,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:526,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:529,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:536,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:536,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:537,1
    - Dst: test_grub_post_state
      Src: /src/rauc/test/bootchooser.c:537,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:545,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:545,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:546,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:549,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:556,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:556,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:557,1
    - Dst: test_grub_post_state
      Src: /src/rauc/test/bootchooser.c:557,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:565,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:565,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:566,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:568,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:569,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:570,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:571,1
    - Dst: test_grub_initialize_state
      Src: /src/rauc/test/bootchooser.c:574,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:581,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:581,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:582,1
    - Dst: test_grub_post_state
      Src: /src/rauc/test/bootchooser.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 589
    functionName: bootchooser_grub
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_boot_set_state
    - r_boot_set_primary
    - g_assert_false
    - r_boot_get_primary
    - r_context
    - r_context_conf
    - g_assert
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - test_grub_initialize_state
    - g_assert_nonnull
    - r_boot_get_state
    - test_grub_post_state
    - g_assert_null
    - find_config_slot_by_name
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void bootchooser_grub(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/bootchooser.c:601,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:602,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:602,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:603,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/bootchooser.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - vars
    argTypes:
    - BootchooserFixture*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: test_uboot_initialize_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_build_filename
    - g_file_set_contents
    - g_setenv
    linkageType: ''
    returnType: void
    signature: void test_uboot_initialize_state(const BootchooserFixture *fixture,
      const gchar *vars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/bootchooser.c:616,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:619,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/bootchooser.c:619,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bootchooser.c:621,1
    - Dst: g_print
      Src: /src/rauc/test/bootchooser.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - compare
    argTypes:
    - BootchooserFixture*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionName: test_uboot_post_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_assert_true
    - g_print
    - g_build_filename
    - g_file_get_contents
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_uboot_post_state(const BootchooserFixture *fixture, const
      gchar *compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:663,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:664,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:666,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:666,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:667,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:668,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:670,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:670,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:671,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:672,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:672,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:673,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:676,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:681,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:681,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:682,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:683,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:683,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:684,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:687,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:692,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:693,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:694,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:695,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:698,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:703,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bootchooser.c:704,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:705,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:706,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:709,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:714,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:714,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:715,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:716,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:716,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:717,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:720,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:720,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:721,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:721,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:727,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:727,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:728,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:731,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:731,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:732,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:732,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:739,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:744,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:744,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:745,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:745,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:752,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:757,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:757,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:758,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 763
    functionName: bootchooser_uboot
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_boot_set_state
    - test_uboot_post_state
    - g_assert_false
    - r_boot_get_primary
    - test_uboot_initialize_state
    - r_context
    - r_context_conf
    - g_assert
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - r_boot_get_state
    - g_assert_nonnull
    - r_boot_set_primary
    - g_assert_null
    - find_config_slot_by_name
    - g_assert_error
    linkageType: ''
    returnType: void
    signature: "void bootchooser_uboot(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:794,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:795,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:797,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:797,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:798,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:799,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:801,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:801,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:802,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:803,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:803,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:804,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:807,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:812,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:813,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:814,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:815,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:815,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:822,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:827,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:828,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:829,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:830,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:830,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:837,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:842,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:843,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:844,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 846
    functionName: bootchooser_uboot_asymmetric
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - test_uboot_post_state
    - r_boot_get_primary
    - test_uboot_initialize_state
    - r_context
    - r_context_conf
    - g_assert
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_uboot_asymmetric(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:872,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:873,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:875,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:875,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:876,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:877,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:879,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:879,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:880,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:883,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:888,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:889,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:890,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:891,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:891,1
    - Dst: test_uboot_initialize_state
      Src: /src/rauc/test/bootchooser.c:898,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:903,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:904,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:905,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:907,1
    - Dst: test_uboot_post_state
      Src: /src/rauc/test/bootchooser.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 912
    functionName: bootchooser_uboot_conf_attempts
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - test_uboot_post_state
    - test_uboot_initialize_state
    - r_context
    - r_context_conf
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_assert_no_error
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_uboot_conf_attempts(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:948,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:949,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:951,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:951,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:952,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:953,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:955,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:955,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:956,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:958,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:958,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:959,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:960,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:961,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:963,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:963,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:964,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:964,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:966,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:966,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:967,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:969,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:969,1
    - Dst: r_boot_get_current_bootname
      Src: /src/rauc/test/bootchooser.c:971,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:971,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 973
    functionName: bootchooser_efi
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - r_boot_get_primary
    - r_boot_get_current_bootname
    - r_context
    - r_context_conf
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - r_boot_get_state
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_efi(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:1003,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1004,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:1006,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:1006,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:1007,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:1008,1
    - Dst: find_config_slot_by_name
      Src: /src/rauc/test/bootchooser.c:1010,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:1010,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1011,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1013,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:1013,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1015,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:1015,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1016,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:1017,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1019,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:1019,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1020,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:1021,1
    - Dst: g_unsetenv
      Src: /src/rauc/test/bootchooser.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1024
    functionName: bootchooser_efi_bootorder_failure
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - g_clear_error
    - g_assert_false
    - r_context
    - r_context_conf
    - write_tmp_file
    - g_clear_pointer
    - g_assert_true
    - g_setenv
    - g_unsetenv
    - g_assert_nonnull
    - r_boot_set_primary
    - find_config_slot_by_name
    linkageType: ''
    returnType: void
    signature: "void bootchooser_efi_bootorder_failure(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/bootchooser.c:1036,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1037,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:1037,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1038,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/bootchooser.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - vars
    argTypes:
    - BootchooserFixture*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: test_custom_initialize_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_build_filename
    - g_file_set_contents
    - g_setenv
    linkageType: ''
    returnType: void
    signature: void test_custom_initialize_state(const BootchooserFixture *fixture,
      const gchar *vars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/bootchooser.c:1049,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1052,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/bootchooser.c:1052,1
    - Dst: g_strcmp0
      Src: /src/rauc/test/bootchooser.c:1054,1
    - Dst: g_print
      Src: /src/rauc/test/bootchooser.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fixture
    - compare
    argTypes:
    - BootchooserFixture*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1060
    functionName: test_custom_post_state
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_assert_true
    - g_print
    - g_build_filename
    - g_file_get_contents
    linkageType: ''
    returnType: gboolean
    signature: gboolean test_custom_post_state(const BootchooserFixture *fixture,
      const gchar *compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_tmp_file
      Src: /src/rauc/test/bootchooser.c:1100,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1101,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/bootchooser.c:1103,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:1103,1
    - Dst: r_context_conf
      Src: /src/rauc/test/bootchooser.c:1104,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:1105,1
    - Dst: find_config_slot_by_device
      Src: /src/rauc/test/bootchooser.c:1107,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:1107,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1108,1
    - Dst: find_config_slot_by_device
      Src: /src/rauc/test/bootchooser.c:1109,1
    - Dst: r_context
      Src: /src/rauc/test/bootchooser.c:1109,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1110,1
    - Dst: test_custom_initialize_state
      Src: /src/rauc/test/bootchooser.c:1113,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1118,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1119,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1120,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1121,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1122,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1123,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1124,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1125,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:1127,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1128,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1129,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1130,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1131,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1132,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1133,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:1134,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1135,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1136,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1137,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1138,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1139,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1140,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1141,1
    - Dst: test_custom_post_state
      Src: /src/rauc/test/bootchooser.c:1141,1
    - Dst: test_custom_initialize_state
      Src: /src/rauc/test/bootchooser.c:1148,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1153,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1154,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1155,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1156,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1157,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1158,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1159,1
    - Dst: g_assert_false
      Src: /src/rauc/test/bootchooser.c:1160,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:1161,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1162,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1163,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1164,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1165,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1166,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1167,1
    - Dst: r_boot_set_state
      Src: /src/rauc/test/bootchooser.c:1168,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1169,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1170,1
    - Dst: r_boot_get_state
      Src: /src/rauc/test/bootchooser.c:1171,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1172,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1173,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1174,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1175,1
    - Dst: test_custom_post_state
      Src: /src/rauc/test/bootchooser.c:1175,1
    - Dst: test_custom_initialize_state
      Src: /src/rauc/test/bootchooser.c:1182,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:1187,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1188,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1189,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1190,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1191,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:1193,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1194,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1195,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:1196,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1197,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1198,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1199,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1200,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1201,1
    - Dst: test_custom_post_state
      Src: /src/rauc/test/bootchooser.c:1201,1
    - Dst: test_custom_initialize_state
      Src: /src/rauc/test/bootchooser.c:1208,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:1213,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1214,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1215,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1216,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1217,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/test/bootchooser.c:1219,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1220,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1221,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:1222,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/bootchooser.c:1223,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/bootchooser.c:1224,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1225,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1226,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1227,1
    - Dst: test_custom_post_state
      Src: /src/rauc/test/bootchooser.c:1227,1
    - Dst: test_custom_initialize_state
      Src: /src/rauc/test/bootchooser.c:1234,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/test/bootchooser.c:1239,1
    - Dst: g_assert_null
      Src: /src/rauc/test/bootchooser.c:1240,1
    - Dst: g_assert_error
      Src: /src/rauc/test/bootchooser.c:1241,1
    - Dst: g_clear_error
      Src: /src/rauc/test/bootchooser.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootchooserFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1243
    functionName: bootchooser_custom
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - r_boot_get_primary
    - r_context
    - g_clear_pointer
    - g_assert_no_error
    - r_boot_set_primary
    - g_assert_null
    - test_custom_post_state
    - g_assert_true
    - g_assert_nonnull
    - test_custom_initialize_state
    - g_assert_error
    - r_boot_set_state
    - g_assert_false
    - g_assert
    - find_config_slot_by_device
    - g_clear_error
    - r_context_conf
    - write_tmp_file
    - r_boot_get_state
    linkageType: ''
    returnType: void
    signature: "void bootchooser_custom(BootchooserFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/bootchooser.c:1248,1
    - Dst: g_assert
      Src: /src/rauc/test/bootchooser.c:1250,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:1250,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/bootchooser.c:1252,1
    - Dst: g_getenv
      Src: /src/rauc/test/bootchooser.c:1252,1
    - Dst: g_assert_true
      Src: /src/rauc/test/bootchooser.c:1253,1
    - Dst: g_setenv
      Src: /src/rauc/test/bootchooser.c:1253,1
    - Dst: g_free
      Src: /src/rauc/test/bootchooser.c:1254,1
    - Dst: g_test_init
      Src: /src/rauc/test/bootchooser.c:1256,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1258,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1262,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1266,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1270,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1274,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1278,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1282,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1286,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1290,1
    - Dst: g_test_add
      Src: /src/rauc/test/bootchooser.c:1294,1
    - Dst: g_test_run
      Src: /src/rauc/test/bootchooser.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1299
    functionName: main
    functionSourceFile: /src/rauc/test/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - g_assert_true
    - setlocale
    - g_strdup_printf
    - g_test_add
    - g_free
    - g_setenv
    - g_getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rauc/test/fakerand.c:12,1
    - Dst: ioctl
      Src: /src/rauc/test/fakerand.c:16,1
    - Dst: printf
      Src: /src/rauc/test/fakerand.c:17,1
    - Dst: strerror
      Src: /src/rauc/test/fakerand.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/rauc/test/fakerand.c
    functionUses: 0
    functionsReached:
    - ioctl
    - strerror
    - printf
    - open
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: BIT
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(nr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_raw_fallback.c:45,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_raw_fallback.c:46,1
    - Dst: g_autoptr
      Src: /src/rauc/test/boot_raw_fallback.c:50,1
    - Dst: g_rand_new_with_seed
      Src: /src/rauc/test/boot_raw_fallback.c:50,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/test/boot_raw_fallback.c:53,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/test/boot_raw_fallback.c:54,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:55,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_raw_fallback.c:56,1
    - Dst: g_seekable_seek
      Src: /src/rauc/test/boot_raw_fallback.c:58,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/test/boot_raw_fallback.c:58,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:59,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:60,1
    - Dst: g_malloc
      Src: /src/rauc/test/boot_raw_fallback.c:62,1
    - Dst: memset
      Src: /src/rauc/test/boot_raw_fallback.c:63,1
    - Dst: g_malloc
      Src: /src/rauc/test/boot_raw_fallback.c:66,1
    - Dst: g_rand_int
      Src: /src/rauc/test/boot_raw_fallback.c:74,1
    - Dst: g_input_stream_read_all
      Src: /src/rauc/test/boot_raw_fallback.c:78,1
    - Dst: g_io_stream_get_input_stream
      Src: /src/rauc/test/boot_raw_fallback.c:78,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_raw_fallback.c:78,1
    - Dst: memcmp
      Src: /src/rauc/test/boot_raw_fallback.c:85,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/test/boot_raw_fallback.c:89,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/rauc/test/boot_raw_fallback.c:89,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/test/boot_raw_fallback.c:89,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:96,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 6
    argNames:
    - filepath
    - offset
    - size
    - fill
    - random
    - compare
    argTypes:
    - gchar*
    - gsize
    - gsize
    - gchar
    - gboolean
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 102
    functionName: process_file
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - memset
    - g_rand_int
    - g_io_stream_get_output_stream
    - g_io_stream_get_input_stream
    - g_rand_new_with_seed
    - memcmp
    - g_output_stream_write_all
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_assert_true
    - g_malloc
    - g_assert_no_error
    - g_file_new_for_path
    - g_assert_nonnull
    - g_input_stream_read_all
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: "gboolean process_file(const gchar *filepath,\n\t\tgsize offset,\n\t\tgsize
      size,\n\t\tgchar fill,\n\t\tgboolean random,\n\t\tgboolean compare)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_file
      Src: /src/rauc/test/boot_raw_fallback.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - filepath
    - offset
    - size
    - fill
    - random
    argTypes:
    - gchar*
    - gsize
    - gsize
    - gchar
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: fill_file
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - process_file
    linkageType: ''
    returnType: gboolean
    signature: "gboolean fill_file(const gchar *filepath,\n\t\tgsize offset,\n\t\tgsize
      size,\n\t\tgchar fill,\n\t\tgboolean random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_file
      Src: /src/rauc/test/boot_raw_fallback.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - filepath
    - offset
    - size
    - fill
    - random
    argTypes:
    - gchar*
    - gsize
    - gsize
    - gchar
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: compare_file
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - process_file
    linkageType: ''
    returnType: gboolean
    signature: "gboolean compare_file(const gchar *filepath,\n\t\tgsize offset,\n\t\tgsize
      size,\n\t\tgchar fill,\n\t\tgboolean random)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/boot_raw_fallback.c:125,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_raw_fallback.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootRawFallbackFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: boot_raw_fallback_fixture_set_up
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - g_assert_nonnull
    - g_dir_make_tmp
    linkageType: ''
    returnType: void
    signature: "void boot_raw_fallback_fixture_set_up(BootRawFallbackFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:132,1
    - Dst: rm_tree
      Src: /src/rauc/test/boot_raw_fallback.c:132,1
    - Dst: g_free
      Src: /src/rauc/test/boot_raw_fallback.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootRawFallbackFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: boot_raw_fallback_fixture_tear_down
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void boot_raw_fallback_fixture_tear_down(BootRawFallbackFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/test/boot_raw_fallback.c:141,1
    - Dst: r_new_image
      Src: /src/rauc/test/boot_raw_fallback.c:143,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:144,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:145,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:147,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:148,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_raw_fallback.c:150,1
    - Dst: test_prepare_dummy_file
      Src: /src/rauc/test/boot_raw_fallback.c:150,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - dirname
    - imagename
    - size
    argTypes:
    - gchar*
    - gchar*
    - gsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: create_source_image
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - r_new_image
    - g_assert
    - fill_file
    - test_prepare_dummy_file
    - g_build_filename
    linkageType: ''
    returnType: RaucImage
    signature: "RaucImage *create_source_image(const gchar *dirname,\n\t\tconst gchar
      *imagename,\n\t\tgsize size)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: test_running_as_root
      Src: /src/rauc/test/boot_raw_fallback.c:172,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:176,1
    - Dst: g_getenv
      Src: /src/rauc/test/boot_raw_fallback.c:176,1
    - Dst: g_test_message
      Src: /src/rauc/test/boot_raw_fallback.c:178,1
    - Dst: g_test_skip
      Src: /src/rauc/test/boot_raw_fallback.c:179,1
    - Dst: get_file_size
      Src: /src/rauc/test/boot_raw_fallback.c:183,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:184,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_raw_fallback.c:185,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:187,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:195,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:195,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:198,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:198,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:200,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:200,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:205,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:205,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:208,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:208,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:210,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:210,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:215,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:215,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:219,1
    - Dst: fill_file
      Src: /src/rauc/test/boot_raw_fallback.c:219,1
    - Dst: create_source_image
      Src: /src/rauc/test/boot_raw_fallback.c:221,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_raw_fallback.c:222,1
    - Dst: g_new0
      Src: /src/rauc/test/boot_raw_fallback.c:225,1
    - Dst: g_intern_string
      Src: /src/rauc/test/boot_raw_fallback.c:226,1
    - Dst: g_intern_string
      Src: /src/rauc/test/boot_raw_fallback.c:227,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:228,1
    - Dst: g_strdup
      Src: /src/rauc/test/boot_raw_fallback.c:229,1
    - Dst: g_build_filename
      Src: /src/rauc/test/boot_raw_fallback.c:235,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_raw_fallback.c:236,1
    - Dst: r_context_conf
      Src: /src/rauc/test/boot_raw_fallback.c:237,1
    - Dst: r_context
      Src: /src/rauc/test/boot_raw_fallback.c:238,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_raw_fallback.c:239,1
    - Dst: g_mkdir
      Src: /src/rauc/test/boot_raw_fallback.c:239,1
    - Dst: get_update_handler
      Src: /src/rauc/test/boot_raw_fallback.c:242,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:243,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/boot_raw_fallback.c:244,1
    - Dst: g_strdup_printf
      Src: /src/rauc/test/boot_raw_fallback.c:256,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/boot_raw_fallback.c:257,1
    - Dst: g_free
      Src: /src/rauc/test/boot_raw_fallback.c:258,1
    - Dst: handler
      Src: /src/rauc/test/boot_raw_fallback.c:264,1
    - Dst: g_assert_error
      Src: /src/rauc/test/boot_raw_fallback.c:267,1
    - Dst: g_clear_error
      Src: /src/rauc/test/boot_raw_fallback.c:268,1
    - Dst: g_assert_false
      Src: /src/rauc/test/boot_raw_fallback.c:269,1
    - Dst: g_assert_no_error
      Src: /src/rauc/test/boot_raw_fallback.c:272,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:273,1
    - Dst: g_test_assert_expected_messages
      Src: /src/rauc/test/boot_raw_fallback.c:276,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:279,1
    - Dst: compare_file
      Src: /src/rauc/test/boot_raw_fallback.c:279,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:286,1
    - Dst: compare_file
      Src: /src/rauc/test/boot_raw_fallback.c:286,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:293,1
    - Dst: compare_file
      Src: /src/rauc/test/boot_raw_fallback.c:293,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:300,1
    - Dst: compare_file
      Src: /src/rauc/test/boot_raw_fallback.c:300,1
    - Dst: g_assert_true
      Src: /src/rauc/test/boot_raw_fallback.c:307,1
    - Dst: compare_file
      Src: /src/rauc/test/boot_raw_fallback.c:307,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_raw_fallback.c:314,1
    - Dst: g_remove
      Src: /src/rauc/test/boot_raw_fallback.c:314,1
    - Dst: g_rmdir
      Src: /src/rauc/test/boot_raw_fallback.c:316,1
    - Dst: g_free
      Src: /src/rauc/test/boot_raw_fallback.c:318,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/boot_raw_fallback.c:319,1
    - Dst: g_free
      Src: /src/rauc/test/boot_raw_fallback.c:320,1
    - Dst: r_free_image
      Src: /src/rauc/test/boot_raw_fallback.c:321,1
    - Dst: r_slot_free
      Src: /src/rauc/test/boot_raw_fallback.c:322,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - BootRawFallbackFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 323
    functionName: test_boot_raw_fallback
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - g_test_expect_message
    - create_source_image
    - r_context
    - handler
    - g_test_message
    - g_clear_pointer
    - g_assert_no_error
    - g_intern_string
    - g_build_filename
    - test_running_as_root
    - get_file_size
    - get_update_handler
    - g_strdup
    - fill_file
    - g_assert_true
    - g_mkdir
    - g_assert_nonnull
    - g_strdup_printf
    - g_test_assert_expected_messages
    - g_getenv
    - g_assert_error
    - r_free_image
    - g_assert_false
    - g_assert
    - g_new0
    - g_free
    - g_clear_error
    - g_test_skip
    - g_rmdir
    - r_context_conf
    - g_remove
    - r_slot_free
    - compare_file
    linkageType: ''
    returnType: void
    signature: "void test_boot_raw_fallback(BootRawFallbackFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: R_QUOTE
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R_QUOTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/boot_raw_fallback.c:330,1
    - Dst: g_assert
      Src: /src/rauc/test/boot_raw_fallback.c:332,1
    - Dst: g_setenv
      Src: /src/rauc/test/boot_raw_fallback.c:332,1
    - Dst: g_test_init
      Src: /src/rauc/test/boot_raw_fallback.c:334,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:345,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:361,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:377,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:393,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:409,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:425,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:441,1
    - Dst: g_test_add
      Src: /src/rauc/test/boot_raw_fallback.c:457,1
    - Dst: g_test_run
      Src: /src/rauc/test/boot_raw_fallback.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 465
    functionName: main
    functionSourceFile: /src/rauc/test/boot_raw_fallback.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_test_run
    - g_assert
    - setlocale
    - g_test_add
    - g_setenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_make_tmp
      Src: /src/rauc/test/event_log.c:19,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:20,1
    - Dst: r_context_conf
      Src: /src/rauc/test/event_log.c:22,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:22,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: event_log_fixture_set_up
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strdup
    - r_context_conf
    - g_dir_make_tmp
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: "void event_log_fixture_set_up(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:29,1
    - Dst: rm_tree
      Src: /src/rauc/test/event_log.c:29,1
    - Dst: g_free
      Src: /src/rauc/test/event_log.c:30,1
    - Dst: r_context_clean
      Src: /src/rauc/test/event_log.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: config_file_fixture_tear_down
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - g_assert_true
    - r_context_clean
    - g_free
    - rm_tree
    linkageType: ''
    returnType: void
    signature: "void config_file_fixture_tear_down(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:38,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:40,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:41,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:42,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:44,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:46,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/test/event_log.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: event_log_test_setup_logger
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - r_event_log_setup_logger
    - g_strdup
    - g_assert_true
    - g_assert_cmpint
    - g_new0
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_setup_logger(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:54,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:66,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:67,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:68,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:70,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:72,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:72,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:74,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:74,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:76,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:76,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:77,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: event_log_test_log_write_simple
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - strstr
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_file_get_contents
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_write_simple(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:84,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:95,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:96,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:97,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:99,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:100,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:101,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:103,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:105,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:105,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:107,1
    - Dst: g_assert_false
      Src: /src/rauc/test/event_log.c:108,1
    - Dst: g_file_test
      Src: /src/rauc/test/event_log.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: event_log_test_log_write_broken
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_false
    - g_file_test
    - g_test_expect_message
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - g_assert_true
    - g_new0
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_write_broken(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:115,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:124,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:125,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:126,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:128,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:129,1
    - Dst: g_test_expect_message
      Src: /src/rauc/test/event_log.c:130,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:132,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:134,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:134,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: event_log_test_log_no_space_left
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - g_test_expect_message
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - g_assert_true
    - g_new0
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_no_space_left(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:143,1
    - Dst: g_test_skip
      Src: /src/rauc/test/event_log.c:154,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:158,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:159,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:161,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:163,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:165,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:165,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:167,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:167,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:169,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:169,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:170,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 171
    functionName: event_log_test_log_write_json
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - g_test_skip
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - strstr
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_file_get_contents
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_write_json(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:178,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:188,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:189,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:190,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:194,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:196,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:201,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:201,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:203,1
    - Dst: g_file_test
      Src: /src/rauc/test/event_log.c:203,1
    - Dst: g_assert_false
      Src: /src/rauc/test/event_log.c:205,1
    - Dst: g_file_test
      Src: /src/rauc/test/event_log.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: event_log_test_max_size
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - g_file_test
    - g_assert_false
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - g_assert_true
    - g_new0
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_max_size(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/test/event_log.c:213,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:225,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:226,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:227,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:232,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:233,1
    - Dst: g_file_set_contents
      Src: /src/rauc/test/event_log.c:233,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:235,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:238,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:238,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:241,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:241,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/event_log.c:242,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/event_log.c:243,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:246,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:246,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:247,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:247,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:250,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:250,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/event_log.c:251,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/event_log.c:252,1
    - Dst: g_free
      Src: /src/rauc/test/event_log.c:253,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:254,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:255,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:255,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/event_log.c:256,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/event_log.c:257,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:260,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:260,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:261,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:261,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:264,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:264,1
    - Dst: writer
      Src: /src/rauc/test/event_log.c:265,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:265,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:268,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:268,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/test/event_log.c:269,1
    - Dst: g_clear_pointer
      Src: /src/rauc/test/event_log.c:270,1
    - Dst: g_free
      Src: /src/rauc/test/event_log.c:271,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:272,1
    - Dst: g_assert_false
      Src: /src/rauc/test/event_log.c:273,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 274
    functionName: event_log_test_max_files_rotation
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    - g_assert_false
    - r_event_log_setup_logger
    - writer
    - g_strdup
    - g_file_set_contents
    - g_assert_true
    - g_clear_pointer
    - g_new0
    - g_build_filename
    - g_free
    - g_file_get_contents
    - g_assert_cmpstr
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: "void event_log_test_max_files_rotation(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_event_log_level_to_priority
      Src: /src/rauc/test/event_log.c:283,1
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:291,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:292,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:293,1
    - Dst: g_malloc
      Src: /src/rauc/test/event_log.c:294,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:295,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:298,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:300,1
    - Dst: g_list_append
      Src: /src/rauc/test/event_log.c:300,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:300,1
    - Dst: g_log_structured_array
      Src: /src/rauc/test/event_log.c:303,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/test/event_log.c:303,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:305,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:305,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:306,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 307
    functionName: event_log_test_structured_logging
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - r_event_log_level_to_priority
    - G_N_ELEMENTS
    - r_event_log_setup_logger
    - g_list_append
    - g_strdup
    - r_context
    - strstr
    - g_log_structured_array
    - g_malloc
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: "void event_log_test_structured_logging(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:316,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:317,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:318,1
    - Dst: g_malloc
      Src: /src/rauc/test/event_log.c:319,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:320,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:323,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:325,1
    - Dst: g_list_append
      Src: /src/rauc/test/event_log.c:325,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:325,1
    - Dst: r_event_log_message
      Src: /src/rauc/test/event_log.c:328,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:330,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:330,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:331,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 332
    functionName: event_log_test_log_utility
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - r_event_log_setup_logger
    - g_list_append
    - g_strdup
    - r_context
    - strstr
    - g_malloc
    - r_event_log_message
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_utility(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/test/event_log.c:341,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:342,1
    - Dst: g_build_filename
      Src: /src/rauc/test/event_log.c:343,1
    - Dst: g_malloc
      Src: /src/rauc/test/event_log.c:344,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:345,1
    - Dst: g_strdup
      Src: /src/rauc/test/event_log.c:346,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/test/event_log.c:349,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:351,1
    - Dst: g_list_append
      Src: /src/rauc/test/event_log.c:351,1
    - Dst: r_context
      Src: /src/rauc/test/event_log.c:351,1
    - Dst: r_event_log_message
      Src: /src/rauc/test/event_log.c:354,1
    - Dst: r_event_log_message
      Src: /src/rauc/test/event_log.c:355,1
    - Dst: r_event_log_message
      Src: /src/rauc/test/event_log.c:356,1
    - Dst: r_event_log_message
      Src: /src/rauc/test/event_log.c:357,1
    - Dst: g_assert_true
      Src: /src/rauc/test/event_log.c:359,1
    - Dst: g_file_get_contents
      Src: /src/rauc/test/event_log.c:359,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:360,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:360,1
    - Dst: g_assert_null
      Src: /src/rauc/test/event_log.c:361,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:361,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:362,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:362,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/test/event_log.c:363,1
    - Dst: strstr
      Src: /src/rauc/test/event_log.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - fixture
    - user_data
    argTypes:
    - EventLogFixture*
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: event_log_test_log_filtering
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - r_event_log_setup_logger
    - g_list_append
    - g_strdup
    - r_context
    - strstr
    - g_malloc
    - r_event_log_message
    - g_assert_true
    - g_assert_nonnull
    - g_new0
    - g_build_filename
    - g_assert_null
    - g_file_get_contents
    linkageType: ''
    returnType: void
    signature: "void event_log_test_log_filtering(EventLogFixture *fixture,\n\t\tgconstpointer
      user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/rauc/test/event_log.c:370,1
    - Dst: g_test_init
      Src: /src/rauc/test/event_log.c:372,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:374,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:377,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:380,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:383,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:386,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:394,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:402,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:410,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:413,1
    - Dst: g_log_set_writer_func
      Src: /src/rauc/test/event_log.c:419,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:420,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:423,1
    - Dst: g_test_add
      Src: /src/rauc/test/event_log.c:426,1
    - Dst: g_test_run
      Src: /src/rauc/test/event_log.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 431
    functionName: main
    functionSourceFile: /src/rauc/test/event_log.c
    functionUses: 0
    functionsReached:
    - g_test_init
    - g_log_set_writer_func
    - g_test_run
    - setlocale
    - g_test_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/nbd.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: r_nbd_error_quark
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_nbd_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/src/nbd.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: r_nbd_new_device
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_malloc0
    linkageType: ''
    returnType: RaucNBDDevice
    signature: RaucNBDDevice *r_nbd_new_device(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/nbd.c:53,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:56,1
    - Dst: r_nbd_remove_device
      Src: /src/rauc/src/nbd.c:57,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:58,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nbd_dev
    argTypes:
    - RaucNBDDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: r_nbd_free_device
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_return_if_fail
    - g_message
    - r_nbd_remove_device
    - g_free
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_nbd_free_device(RaucNBDDevice *nbd_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/src/nbd.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: r_nbd_new_server
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 1
    functionsReached:
    - g_malloc0
    linkageType: ''
    returnType: RaucNBDServer
    signature: RaucNBDServer *r_nbd_new_server(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/nbd.c:76,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:79,1
    - Dst: r_nbd_stop_server
      Src: /src/rauc/src/nbd.c:80,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:81,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:85,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:86,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:87,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:88,1
    - Dst: g_strfreev
      Src: /src/rauc/src/nbd.c:89,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:90,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:91,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:92,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - nbd_srv
    argTypes:
    - RaucNBDServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: r_nbd_free_server
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_nbd_stop_server
    - g_return_if_fail
    - g_clear_pointer
    - g_message
    - g_strfreev
    - g_free
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_nbd_free_server(RaucNBDServer *nbd_srv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/rauc/src/nbd.c:98,1
    - Dst: nlmsg_hdr
      Src: /src/rauc/src/nbd.c:98,1
    - Dst: nla_parse
      Src: /src/rauc/src/nbd.c:103,1
    - Dst: genlmsg_attrdata
      Src: /src/rauc/src/nbd.c:103,1
    - Dst: genlmsg_attrlen
      Src: /src/rauc/src/nbd.c:103,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:105,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:107,1
    - Dst: nla_get_u32
      Src: /src/rauc/src/nbd.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: netlink_connect_cb
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - nlmsg_data
    - genlmsg_attrlen
    - nla_parse
    - g_error
    - genlmsg_attrdata
    - nlmsg_hdr
    - nla_get_u32
    linkageType: ''
    returnType: int
    signature: int netlink_connect_cb(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_alloc
      Src: /src/rauc/src/nbd.c:116,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:120,1
    - Dst: genl_connect
      Src: /src/rauc/src/nbd.c:124,1
    - Dst: nl_socket_free
      Src: /src/rauc/src/nbd.c:126,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:128,1
    - Dst: nl_geterror
      Src: /src/rauc/src/nbd.c:128,1
    - Dst: genl_ctrl_resolve
      Src: /src/rauc/src/nbd.c:132,1
    - Dst: nl_close
      Src: /src/rauc/src/nbd.c:134,1
    - Dst: nl_socket_free
      Src: /src/rauc/src/nbd.c:135,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - driver_id
    - error
    argTypes:
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: netlink_connect
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - nl_geterror
    - nl_close
    - nl_socket_alloc
    - genl_connect
    - genl_ctrl_resolve
    - nl_socket_free
    - g_set_error
    linkageType: ''
    returnType: struct nl_sock
    signature: struct nl_sock *netlink_connect(int *driver_id, GError **error)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:155,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:157,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:158,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:159,1
    - Dst: g_assert
      Src: /src/rauc/src/nbd.c:161,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:163,1
    - Dst: netlink_connect
      Src: /src/rauc/src/nbd.c:165,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/nbd.c:168,1
    - Dst: nlmsg_alloc
      Src: /src/rauc/src/nbd.c:172,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:174,1
    - Dst: genlmsg_put
      Src: /src/rauc/src/nbd.c:176,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:177,1
    - Dst: NLA_PUT_U64
      Src: /src/rauc/src/nbd.c:180,1
    - Dst: NLA_PUT_U64
      Src: /src/rauc/src/nbd.c:181,1
    - Dst: NLA_PUT_U64
      Src: /src/rauc/src/nbd.c:182,1
    - Dst: NLA_PUT_U64
      Src: /src/rauc/src/nbd.c:183,1
    - Dst: nla_nest_start
      Src: /src/rauc/src/nbd.c:185,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:187,1
    - Dst: nla_nest_start
      Src: /src/rauc/src/nbd.c:188,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:190,1
    - Dst: NLA_PUT_U32
      Src: /src/rauc/src/nbd.c:191,1
    - Dst: nla_nest_end
      Src: /src/rauc/src/nbd.c:192,1
    - Dst: nla_nest_end
      Src: /src/rauc/src/nbd.c:193,1
    - Dst: nl_socket_modify_cb
      Src: /src/rauc/src/nbd.c:195,1
    - Dst: nl_send_sync
      Src: /src/rauc/src/nbd.c:196,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:198,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:202,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:204,1
    - Dst: g_open
      Src: /src/rauc/src/nbd.c:206,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:209,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/nbd.c:209,1
    - Dst: g_strerror
      Src: /src/rauc/src/nbd.c:209,1
    - Dst: nlmsg_alloc
      Src: /src/rauc/src/nbd.c:214,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:216,1
    - Dst: genlmsg_put
      Src: /src/rauc/src/nbd.c:218,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:219,1
    - Dst: NLA_PUT_U32
      Src: /src/rauc/src/nbd.c:221,1
    - Dst: NLA_PUT_U64
      Src: /src/rauc/src/nbd.c:222,1
    - Dst: nl_socket_modify_cb
      Src: /src/rauc/src/nbd.c:224,1
    - Dst: nl_send_sync
      Src: /src/rauc/src/nbd.c:225,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:227,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:231,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/nbd.c:234,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:242,1
    - Dst: nl_close
      Src: /src/rauc/src/nbd.c:246,1
    - Dst: nl_socket_free
      Src: /src/rauc/src/nbd.c:247,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 81
    argCount: 3
    argNames:
    - nbd_dev
    - devicefd
    - error
    argTypes:
    - RaucNBDDevice*
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 250
    functionName: r_nbd_setup_device
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - nl_close
    - genlmsg_put
    - g_steal_pointer
    - nla_nest_end
    - NLA_PUT_U32
    - NLA_PUT_U64
    - nlmsg_alloc
    - g_open
    - nl_socket_modify_cb
    - g_strdup_printf
    - nla_nest_start
    - g_auto
    - g_assert
    - g_error
    - g_file_error_from_errno
    - g_propagate_error
    - nl_socket_free
    - g_set_error
    - netlink_connect
    - g_return_val_if_fail
    - g_strerror
    - nl_send_sync
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_setup_device(RaucNBDDevice *nbd_dev, int *devicefd,
      GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:260,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:261,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:266,1
    - Dst: netlink_connect
      Src: /src/rauc/src/nbd.c:268,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/nbd.c:271,1
    - Dst: nlmsg_alloc
      Src: /src/rauc/src/nbd.c:275,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:277,1
    - Dst: genlmsg_put
      Src: /src/rauc/src/nbd.c:279,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:280,1
    - Dst: NLA_PUT_U32
      Src: /src/rauc/src/nbd.c:282,1
    - Dst: nl_send_sync
      Src: /src/rauc/src/nbd.c:284,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:285,1
    - Dst: g_close
      Src: /src/rauc/src/nbd.c:292,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:294,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:301,1
    - Dst: nl_close
      Src: /src/rauc/src/nbd.c:305,1
    - Dst: nl_socket_free
      Src: /src/rauc/src/nbd.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - nbd_dev
    - error
    argTypes:
    - RaucNBDDevice*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 309
    functionName: r_nbd_remove_device
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 1
    functionsReached:
    - g_close
    - NLA_PUT_U32
    - nl_close
    - nl_send_sync
    - nlmsg_alloc
    - g_error
    - genlmsg_put
    - g_message
    - g_clear_pointer
    - g_propagate_error
    - nl_socket_free
    - netlink_connect
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_remove_device(RaucNBDDevice *nbd_dev, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:357,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:358,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - xfer
    argTypes:
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: free_transfer
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: void free_transfer(struct RaucNBDTransfer *xfer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/nbd.c:368,1
    - Dst: memcpy
      Src: /src/rauc/src/nbd.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: write_cb
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/nbd.c:384,1
    - Dst: g_strndup
      Src: /src/rauc/src/nbd.c:387,1
    - Dst: g_strchomp
      Src: /src/rauc/src/nbd.c:389,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:391,1
    - Dst: g_strsplit
      Src: /src/rauc/src/nbd.c:391,1
    - Dst: g_strv_length
      Src: /src/rauc/src/nbd.c:392,1
    - Dst: g_ascii_strdown
      Src: /src/rauc/src/nbd.c:395,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:396,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:397,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:398,1
    - Dst: g_strsplit
      Src: /src/rauc/src/nbd.c:402,1
    - Dst: g_strv_length
      Src: /src/rauc/src/nbd.c:403,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:404,1
    - Dst: g_strsplit
      Src: /src/rauc/src/nbd.c:408,1
    - Dst: g_strv_length
      Src: /src/rauc/src/nbd.c:409,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:410,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:414,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:414,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:415,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/nbd.c:420,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:422,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:428,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:429,1
    - Dst: curl_getdate
      Src: /src/rauc/src/nbd.c:430,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:433,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:435,1
    - Dst: curl_getdate
      Src: /src/rauc/src/nbd.c:436,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:439,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:441,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/nbd.c:442,1
    - Dst: g_strescape
      Src: /src/rauc/src/nbd.c:443,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:444,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 448
    functionName: header_cb
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_strescape
    - g_ascii_strtoull
    - g_auto
    - g_strchomp
    - g_strndup
    - curl_getdate
    - g_str_equal
    - g_assert_cmpint
    - g_message
    - g_strsplit
    - g_ascii_strdown
    - r_replace_strdup
    - g_strv_length
    linkageType: ''
    returnType: size_t
    signature: size_t header_cb(char *buffer, size_t size, size_t nitems, void *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_null
      Src: /src/rauc/src/nbd.c:454,1
    - Dst: curl_easy_init
      Src: /src/rauc/src/nbd.c:456,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:458,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:460,1
    - Dst: g_getenv
      Src: /src/rauc/src/nbd.c:462,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:463,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:465,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:467,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/nbd.c:469,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:471,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:473,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:476,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:479,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:480,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:484,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:486,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:488,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:489,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:490,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:491,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:493,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:494,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:495,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:498,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:501,1
    - Dst: g_debug
      Src: /src/rauc/src/nbd.c:503,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:507,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:509,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - xfer
    argTypes:
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 513
    functionName: prepare_curl
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_str_has_prefix
    - curl_easy_setopt
    - curl_easy_init
    - g_debug
    - g_error
    - g_assert_null
    - g_getenv
    linkageType: ''
    returnType: void
    signature: void prepare_curl(struct RaucNBDTransfer *xfer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:521,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:524,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:527,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:530,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:533,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:536,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:539,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:542,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:544,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:547,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:550,1
    - Dst: r_stats_add
      Src: /src/rauc/src/nbd.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 555
    functionName: collect_curl_stats
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_stats_add
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void collect_curl_stats(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/rauc/src/nbd.c:563,1
    - Dst: prepare_curl
      Src: /src/rauc/src/nbd.c:567,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:568,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:569,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:570,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:573,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:575,1
    - Dst: curl_multi_add_handle
      Src: /src/rauc/src/nbd.c:577,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: start_read
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - g_error
    - g_malloc
    - curl_multi_add_handle
    - g_strdup_printf
    - prepare_curl
    linkageType: ''
    returnType: void
    signature: void start_read(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/rauc/src/nbd.c:595,1
    - Dst: curl_slist_free_all
      Src: /src/rauc/src/nbd.c:597,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - initial_list
    - strv
    argTypes:
    - struct curl_slist*
    - GStrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 605
    functionName: gstrv_add_to_slist
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - g_error
    - curl_slist_free_all
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *gstrv_add_to_slist(struct curl_slist *initial_list,
      const GStrv strv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/rauc/src/nbd.c:615,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:616,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:617,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/nbd.c:617,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:618,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:619,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:621,1
    - Dst: g_assert_true
      Src: /src/rauc/src/nbd.c:622,1
    - Dst: g_variant_new_from_data
      Src: /src/rauc/src/nbd.c:624,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/nbd.c:628,1
    - Dst: g_variant_print
      Src: /src/rauc/src/nbd.c:630,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:631,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/nbd.c:634,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:635,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:636,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:637,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:638,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:639,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:640,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:641,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/nbd.c:642,1
    - Dst: gstrv_add_to_slist
      Src: /src/rauc/src/nbd.c:645,1
    - Dst: gstrv_add_to_slist
      Src: /src/rauc/src/nbd.c:646,1
    - Dst: gstrv_add_to_slist
      Src: /src/rauc/src/nbd.c:649,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:653,1
    - Dst: prepare_curl
      Src: /src/rauc/src/nbd.c:655,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:658,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:660,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:661,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:662,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:663,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:664,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/nbd.c:666,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:669,1
    - Dst: g_malloc
      Src: /src/rauc/src/nbd.c:671,1
    - Dst: g_debug
      Src: /src/rauc/src/nbd.c:675,1
    - Dst: curl_multi_add_handle
      Src: /src/rauc/src/nbd.c:677,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 680
    functionName: start_configure
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_read_exact
    - g_auto
    - prepare_curl
    - curl_easy_setopt
    - g_variant_dict_lookup
    - gstrv_add_to_slist
    - G_VARIANT_DICT_INIT
    - g_variant_new_from_data
    - g_error
    - g_malloc
    - g_assert_true
    - g_message
    - g_debug
    - g_assert_nonnull
    - curl_multi_add_handle
    - g_variant_dict_init
    - g_variant_print
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void start_configure(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_read
      Src: /src/rauc/src/nbd.c:686,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:690,1
    - Dst: free_transfer
      Src: /src/rauc/src/nbd.c:692,1
    - Dst: start_configure
      Src: /src/rauc/src/nbd.c:696,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 704
    functionName: start_request
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - start_read
    - g_error
    - g_message
    - free_transfer
    - start_configure
    linkageType: ''
    returnType: void
    signature: void start_request(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:719,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:721,1
    - Dst: g_warning
      Src: /src/rauc/src/nbd.c:724,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:725,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:729,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:730,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:733,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:735,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:736,1
    - Dst: collect_curl_stats
      Src: /src/rauc/src/nbd.c:739,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 746
    functionName: finish_read
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - GUINT32_TO_BE
    - collect_curl_stats
    - r_write_exact
    - curl_easy_getinfo
    - g_error
    - g_clear_pointer
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean finish_read(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:755,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/nbd.c:755,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:756,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/nbd.c:760,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:767,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:769,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:775,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:778,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:781,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:784,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/nbd.c:787,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:789,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:790,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:796,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:803,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:808,1
    - Dst: g_str_equal
      Src: /src/rauc/src/nbd.c:810,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:811,1
    - Dst: g_free
      Src: /src/rauc/src/nbd.c:812,1
    - Dst: g_strdup
      Src: /src/rauc/src/nbd.c:813,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:816,1
    - Dst: g_warning
      Src: /src/rauc/src/nbd.c:820,1
    - Dst: collect_curl_stats
      Src: /src/rauc/src/nbd.c:823,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:829,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:830,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:833,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:836,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:839,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:841,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:843,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/nbd.c:845,1
    - Dst: g_variant_get_size
      Src: /src/rauc/src/nbd.c:846,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:848,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:849,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:850,1
    - Dst: g_variant_get_data
      Src: /src/rauc/src/nbd.c:850,1
    - Dst: g_variant_get_size
      Src: /src/rauc/src/nbd.c:850,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:851,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:854,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 857
    functionName: finish_configure
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_write_exact
    - g_variant_get_data
    - g_clear_pointer
    - collect_curl_stats
    - g_variant_get_size
    - g_strdup
    - curl_easy_getinfo
    - g_variant_dict_insert
    - g_assert_nonnull
    - g_strdup_printf
    - g_autoptr
    - g_auto
    - G_VARIANT_DICT_INIT
    - g_str_equal
    - g_error
    - g_variant_dict_end
    - g_free
    - g_message
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean finish_configure(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: finish_read
      Src: /src/rauc/src/nbd.c:865,1
    - Dst: finish_configure
      Src: /src/rauc/src/nbd.c:869,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:873,1
    - Dst: curl_multi_remove_handle
      Src: /src/rauc/src/nbd.c:879,1
    - Dst: curl_easy_cleanup
      Src: /src/rauc/src/nbd.c:880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - xfer
    argTypes:
    - struct RaucNBDContext*
    - struct RaucNBDTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 885
    functionName: finish_request
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - g_message
    - finish_read
    - finish_configure
    - curl_multi_remove_handle
    linkageType: ''
    returnType: gboolean
    signature: gboolean finish_request(struct RaucNBDContext *ctx, struct RaucNBDTransfer
      *xfer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:894,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:895,1
    - Dst: prctl
      Src: /src/rauc/src/nbd.c:897,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:898,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/nbd.c:900,1
    - Dst: strerror
      Src: /src/rauc/src/nbd.c:901,1
    - Dst: signal
      Src: /src/rauc/src/nbd.c:906,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:908,1
    - Dst: getuid
      Src: /src/rauc/src/nbd.c:908,1
    - Dst: getgid
      Src: /src/rauc/src/nbd.c:908,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:910,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:911,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:912,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:913,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:914,1
    - Dst: r_stats_new
      Src: /src/rauc/src/nbd.c:915,1
    - Dst: curl_multi_init
      Src: /src/rauc/src/nbd.c:918,1
    - Dst: curl_multi_wait
      Src: /src/rauc/src/nbd.c:926,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:928,1
    - Dst: g_malloc0
      Src: /src/rauc/src/nbd.c:931,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:934,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/nbd.c:940,1
    - Dst: g_assert
      Src: /src/rauc/src/nbd.c:949,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:949,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/src/nbd.c:950,1
    - Dst: GUINT64_FROM_BE
      Src: /src/rauc/src/nbd.c:951,1
    - Dst: GUINT32_FROM_BE
      Src: /src/rauc/src/nbd.c:952,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:955,1
    - Dst: memcpy
      Src: /src/rauc/src/nbd.c:956,1
    - Dst: start_request
      Src: /src/rauc/src/nbd.c:958,1
    - Dst: curl_multi_perform
      Src: /src/rauc/src/nbd.c:961,1
    - Dst: g_assert
      Src: /src/rauc/src/nbd.c:962,1
    - Dst: curl_multi_info_read
      Src: /src/rauc/src/nbd.c:969,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:974,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:978,1
    - Dst: g_assert
      Src: /src/rauc/src/nbd.c:979,1
    - Dst: curl_easy_getinfo
      Src: /src/rauc/src/nbd.c:981,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:983,1
    - Dst: g_debug
      Src: /src/rauc/src/nbd.c:986,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:990,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:991,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:994,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:995,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:999,1
    - Dst: finish_request
      Src: /src/rauc/src/nbd.c:1002,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1004,1
    - Dst: free_transfer
      Src: /src/rauc/src/nbd.c:1008,1
    - Dst: free_transfer
      Src: /src/rauc/src/nbd.c:1013,1
    - Dst: sleep
      Src: /src/rauc/src/nbd.c:1016,1
    - Dst: start_request
      Src: /src/rauc/src/nbd.c:1017,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1024,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1025,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1026,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1027,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1028,1
    - Dst: r_stats_show
      Src: /src/rauc/src/nbd.c:1029,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1033,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1036,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1037,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1038,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1039,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1040,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1041,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1042,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1043,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1044,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1045,1
    - Dst: curl_multi_cleanup
      Src: /src/rauc/src/nbd.c:1046,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1047,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1048,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1049,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 118
    argCount: 2
    argNames:
    - sock
    - error
    argTypes:
    - gint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 887
    functionDepth: 4
    functionLinenumber: 887
    functionLinenumberEnd: 1051
    functionName: r_nbd_run_server
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_read_exact
    - start_request
    - strerror
    - g_clear_pointer
    - getuid
    - g_malloc0
    - signal
    - GUINT32_FROM_BE
    - getgid
    - memcpy
    - g_propagate_prefixed_error
    - curl_multi_info_read
    - sleep
    - curl_easy_getinfo
    - r_stats_show
    - g_debug
    - GUINT32_TO_BE
    - GUINT64_FROM_BE
    - g_assert
    - g_error
    - prctl
    - g_file_error_from_errno
    - curl_multi_init
    - g_set_error
    - g_return_val_if_fail
    - curl_multi_perform
    - finish_request
    - g_message
    - r_stats_new
    - free_transfer
    - curl_multi_wait
    - curl_multi_cleanup
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_run_server(gint sock, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1058,1
    - Dst: r_nbd_run_server
      Src: /src/rauc/src/nbd.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    functionName: nbd_server_thread
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_nbd_run_server
    - g_message
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED nbd_server_thread(gpointer data)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:1070,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:1071,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/nbd.c:1071,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1073,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1074,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1077,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1079,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1081,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1083,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1085,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1087,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/nbd.c:1089,1
    - Dst: g_variant_new_strv
      Src: /src/rauc/src/nbd.c:1090,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/nbd.c:1091,1
    - Dst: g_variant_print
      Src: /src/rauc/src/nbd.c:1093,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1094,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1097,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1098,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1099,1
    - Dst: g_variant_get_size
      Src: /src/rauc/src/nbd.c:1099,1
    - Dst: memcpy
      Src: /src/rauc/src/nbd.c:1100,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:1102,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1103,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:1104,1
    - Dst: g_variant_get_data
      Src: /src/rauc/src/nbd.c:1104,1
    - Dst: g_variant_get_size
      Src: /src/rauc/src/nbd.c:1104,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1105,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1106,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:1109,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1110,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1112,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1113,1
    - Dst: memcmp
      Src: /src/rauc/src/nbd.c:1114,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1115,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:1118,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1119,1
    - Dst: g_malloc
      Src: /src/rauc/src/nbd.c:1120,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:1121,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1122,1
    - Dst: g_variant_new_from_data
      Src: /src/rauc/src/nbd.c:1124,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1129,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/nbd.c:1131,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1133,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1136,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1137,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1139,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1144,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1149,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1154,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1159,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1167,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1169,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1171,1
    - Dst: g_format_size_full
      Src: /src/rauc/src/nbd.c:1174,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1175,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1177,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:1179,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/rauc/src/nbd.c:1179,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/nbd.c:1180,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1181,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1183,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:1185,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/rauc/src/nbd.c:1185,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/nbd.c:1186,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1187,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/nbd.c:1189,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 2
    argNames:
    - nbd_srv
    - error
    argTypes:
    - RaucNBDServer*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1192
    functionName: nbd_configure
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - r_read_exact
    - r_write_exact
    - g_date_time_new_from_unix_utc
    - g_variant_get_data
    - g_date_time_format
    - g_clear_pointer
    - memcmp
    - memcpy
    - g_variant_get_size
    - g_format_size_full
    - g_variant_dict_insert
    - g_autoptr
    - g_auto
    - GUINT32_TO_BE
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_error
    - g_malloc
    - g_variant_new_from_data
    - g_set_error
    - g_variant_print
    - g_return_val_if_fail
    - g_variant_dict_lookup
    - g_variant_new_strv
    - g_message
    - g_variant_dict_init
    linkageType: ''
    returnType: gboolean
    signature: gboolean nbd_configure(RaucNBDServer *nbd_srv, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/rauc/src/nbd.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - child_args
    argTypes:
    - child_setup_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: clear_child_setup_args
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: void clear_child_setup_args(child_setup_args *child_args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setgroups
      Src: /src/rauc/src/nbd.c:1213,1
    - Dst: write
      Src: /src/rauc/src/nbd.c:1215,1
    - Dst: strlen
      Src: /src/rauc/src/nbd.c:1215,1
    - Dst: exit
      Src: /src/rauc/src/nbd.c:1216,1
    - Dst: setgid
      Src: /src/rauc/src/nbd.c:1220,1
    - Dst: write
      Src: /src/rauc/src/nbd.c:1222,1
    - Dst: strlen
      Src: /src/rauc/src/nbd.c:1222,1
    - Dst: exit
      Src: /src/rauc/src/nbd.c:1223,1
    - Dst: setuid
      Src: /src/rauc/src/nbd.c:1227,1
    - Dst: write
      Src: /src/rauc/src/nbd.c:1229,1
    - Dst: strlen
      Src: /src/rauc/src/nbd.c:1229,1
    - Dst: exit
      Src: /src/rauc/src/nbd.c:1230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1233
    functionName: nbd_server_child_setup
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - write
    - setuid
    - exit
    - setgid
    - strlen
    - setgroups
    linkageType: ''
    returnType: void
    signature: void nbd_server_child_setup(gpointer user_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1246,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1247,1
    - Dst: getuid
      Src: /src/rauc/src/nbd.c:1251,1
    - Dst: getgid
      Src: /src/rauc/src/nbd.c:1251,1
    - Dst: r_context
      Src: /src/rauc/src/nbd.c:1254,1
    - Dst: sysconf
      Src: /src/rauc/src/nbd.c:1258,1
    - Dst: g_malloc0
      Src: /src/rauc/src/nbd.c:1261,1
    - Dst: getpwnam_r
      Src: /src/rauc/src/nbd.c:1263,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1266,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1272,1
    - Dst: g_io_error_from_errno
      Src: /src/rauc/src/nbd.c:1274,1
    - Dst: g_strerror
      Src: /src/rauc/src/nbd.c:1275,1
    - Dst: getgrouplist
      Src: /src/rauc/src/nbd.c:1283,1
    - Dst: g_malloc0
      Src: /src/rauc/src/nbd.c:1284,1
    - Dst: getgrouplist
      Src: /src/rauc/src/nbd.c:1287,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1291,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/nbd.c:1300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - args
    - error
    argTypes:
    - child_setup_args*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1303
    functionName: nbd_server_child_prepare
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 0
    functionsReached:
    - getgid
    - g_set_error
    - g_strerror
    - r_context
    - getgrouplist
    - getuid
    - g_malloc0
    - g_io_error_from_errno
    - g_return_val_if_fail
    - getpwnam_r
    - g_steal_pointer
    - sysconf
    linkageType: ''
    returnType: gboolean
    signature: gboolean nbd_server_child_prepare(child_setup_args *args, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1311,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1312,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1314,1
    - Dst: socketpair
      Src: /src/rauc/src/nbd.c:1316,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1317,1
    - Dst: g_io_error_from_errno
      Src: /src/rauc/src/nbd.c:1319,1
    - Dst: g_strerror
      Src: /src/rauc/src/nbd.c:1321,1
    - Dst: g_auto
      Src: /src/rauc/src/nbd.c:1327,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:1329,1
    - Dst: g_autoptr
      Src: /src/rauc/src/nbd.c:1330,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/nbd.c:1330,1
    - Dst: nbd_server_child_prepare
      Src: /src/rauc/src/nbd.c:1332,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/nbd.c:1333,1
    - Dst: g_strdup
      Src: /src/rauc/src/nbd.c:1342,1
    - Dst: g_getenv
      Src: /src/rauc/src/nbd.c:1342,1
    - Dst: g_strdup
      Src: /src/rauc/src/nbd.c:1344,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/nbd.c:1345,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/nbd.c:1345,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/nbd.c:1346,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/nbd.c:1348,1
    - Dst: g_subprocess_launcher_set_child_setup
      Src: /src/rauc/src/nbd.c:1349,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/nbd.c:1350,1
    - Dst: g_subprocess_launcher_take_fd
      Src: /src/rauc/src/nbd.c:1351,1
    - Dst: r_subprocess_launcher_spawnv
      Src: /src/rauc/src/nbd.c:1354,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/nbd.c:1356,1
    - Dst: g_malloc
      Src: /src/rauc/src/nbd.c:1364,1
    - Dst: g_thread_new
      Src: /src/rauc/src/nbd.c:1366,1
    - Dst: nbd_configure
      Src: /src/rauc/src/nbd.c:1372,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/nbd.c:1373,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1378,1
    - Dst: g_close
      Src: /src/rauc/src/nbd.c:1384,1
    - Dst: g_close
      Src: /src/rauc/src/nbd.c:1386,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - nbd_srv
    - error
    argTypes:
    - RaucNBDServer*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1388
    functionName: r_nbd_start_server
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 1
    functionsReached:
    - g_close
    - g_ptr_array_add
    - g_thread_new
    - g_subprocess_launcher_setenv
    - g_steal_pointer
    - g_propagate_prefixed_error
    - g_subprocess_launcher_new
    - g_strdup
    - g_subprocess_launcher_take_fd
    - nbd_server_child_prepare
    - nbd_configure
    - g_io_error_from_errno
    - g_getenv
    - g_autoptr
    - g_auto
    - g_subprocess_launcher_set_child_setup
    - g_ptr_array_new_full
    - g_malloc
    - g_propagate_error
    - g_set_error
    - r_subprocess_launcher_spawnv
    - g_return_val_if_fail
    - g_strerror
    - socketpair
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_start_server(RaucNBDServer *nbd_srv, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1395,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1396,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1401,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1408,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1409,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:1411,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1412,1
    - Dst: g_clear_error
      Src: /src/rauc/src/nbd.c:1413,1
    - Dst: g_close
      Src: /src/rauc/src/nbd.c:1416,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/nbd.c:1420,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/nbd.c:1422,1
    - Dst: g_message
      Src: /src/rauc/src/nbd.c:1429,1
    - Dst: g_clear_object
      Src: /src/rauc/src/nbd.c:1432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - nbd_srv
    - error
    argTypes:
    - RaucNBDServer*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1434
    functionName: r_nbd_stop_server
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - g_close
    - GUINT32_TO_BE
    - r_write_exact
    - g_propagate_prefixed_error
    - g_clear_object
    - g_message
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_stop_server(RaucNBDServer *nbd_srv, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1441,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1442,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1443,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/nbd.c:1444,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1446,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1447,1
    - Dst: GUINT64_TO_BE
      Src: /src/rauc/src/nbd.c:1448,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1449,1
    - Dst: memcpy
      Src: /src/rauc/src/nbd.c:1450,1
    - Dst: r_write_exact
      Src: /src/rauc/src/nbd.c:1452,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1453,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:1454,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1455,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1457,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1458,1
    - Dst: memcmp
      Src: /src/rauc/src/nbd.c:1459,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1460,1
    - Dst: GUINT32_TO_BE
      Src: /src/rauc/src/nbd.c:1461,1
    - Dst: g_set_error
      Src: /src/rauc/src/nbd.c:1462,1
    - Dst: r_read_exact
      Src: /src/rauc/src/nbd.c:1469,1
    - Dst: g_error
      Src: /src/rauc/src/nbd.c:1470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - sock
    - data
    - size
    - offset
    - error
    argTypes:
    - gint
    - guint8*
    - size_t
    - off_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1473
    functionName: r_nbd_read
    functionSourceFile: /src/rauc/src/nbd.c
    functionUses: 1
    functionsReached:
    - r_read_exact
    - GUINT32_TO_BE
    - memcpy
    - r_write_exact
    - g_error
    - g_set_error
    - GUINT64_TO_BE
    - memcmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_nbd_read(gint sock, guint8 *data, size_t size, off_t offset,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/src/stats.c:8,1
    - Dst: g_strdup
      Src: /src/rauc/src/stats.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - label
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: r_stats_new
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 3
    functionsReached:
    - g_strdup
    - g_new0
    linkageType: ''
    returnType: RaucStats
    signature: RaucStats *r_stats_new(const gchar *label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/stats.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - stats
    - value
    argTypes:
    - RaucStats*
    - gdouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: r_stats_add
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 2
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_stats_add(RaucStats *stats, gdouble value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/stats.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stats
    argTypes:
    - RaucStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: r_stats_get_avg
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 1
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: gdouble r_stats_get_avg(const RaucStats *stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/stats.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - stats
    argTypes:
    - RaucStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: r_stats_get_recent_avg
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 1
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gdouble
    signature: gdouble r_stats_get_recent_avg(const RaucStats *stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/stats.c:65,1
    - Dst: g_string_sized_new
      Src: /src/rauc/src/stats.c:65,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/stats.c:67,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/stats.c:70,1
    - Dst: g_strdup
      Src: /src/rauc/src/stats.c:72,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/stats.c:75,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/stats.c:78,1
    - Dst: r_stats_get_avg
      Src: /src/rauc/src/stats.c:79,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/stats.c:80,1
    - Dst: r_stats_get_recent_avg
      Src: /src/rauc/src/stats.c:80,1
    - Dst: g_message
      Src: /src/rauc/src/stats.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - stats
    - prefix
    argTypes:
    - RaucStats*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: r_stats_show
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 1
    functionsReached:
    - r_stats_get_recent_avg
    - g_strdup_printf
    - g_strdup
    - g_string_append_printf
    - g_message
    - g_string_sized_new
    - r_stats_get_avg
    - g_return_if_fail
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_stats_show(const RaucStats *stats, const gchar *prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_list_append
      Src: /src/rauc/src/stats.c:93,1
    - Dst: g_free
      Src: /src/rauc/src/stats.c:97,1
    - Dst: g_free
      Src: /src/rauc/src/stats.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stats
    argTypes:
    - RaucStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: r_stats_free
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 1
    functionsReached:
    - g_list_append
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_stats_free(RaucStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/rauc/src/stats.c:104,1
    - Dst: g_assert_null
      Src: /src/rauc/src/stats.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: r_test_stats_start
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 2
    functionsReached:
    - g_assert_false
    - g_assert_null
    linkageType: ''
    returnType: void
    signature: void r_test_stats_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_true
      Src: /src/rauc/src/stats.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: r_test_stats_stop
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 2
    functionsReached:
    - g_assert_true
    linkageType: ''
    returnType: void
    signature: void r_test_stats_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_false
      Src: /src/rauc/src/stats.c:121,1
    - Dst: g_list_delete_link
      Src: /src/rauc/src/stats.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: r_test_stats_next
    functionSourceFile: /src/rauc/src/stats.c
    functionUses: 2
    functionsReached:
    - g_assert_false
    - g_list_delete_link
    linkageType: ''
    returnType: RaucStats
    signature: RaucStats *r_test_stats_next(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/slot.c:18,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:19,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:20,1
    - Dst: g_strfreev
      Src: /src/rauc/src/slot.c:21,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:22,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:23,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:24,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:25,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:26,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:27,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:28,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:29,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:30,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 32
    functionName: r_slot_free
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 3
    functionsReached:
    - g_strfreev
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_slot_free(gpointer value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:39,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:40,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:41,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:42,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:43,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:44,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:45,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:47,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:48,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/slot.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - slotstatus
    argTypes:
    - RaucSlotStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: r_slot_clear_status
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: void r_slot_clear_status(RaucSlotStatus *slotstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_slot_clear_status
      Src: /src/rauc/src/slot.c:57,1
    - Dst: g_free
      Src: /src/rauc/src/slot.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - slotstatus
    argTypes:
    - RaucSlotStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: r_slot_free_status
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 3
    functionsReached:
    - g_free
    - r_slot_clear_status
    linkageType: ''
    returnType: void
    signature: void r_slot_free_status(RaucSlotStatus *slotstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:66,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:67,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/slot.c:69,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/slot.c:70,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - slots
    - device
    argTypes:
    - GHashTable*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: r_slot_find_by_device
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_hash_table_iter_init
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_slot_find_by_device(GHashTable *slots, const gchar *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:84,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/slot.c:86,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/slot.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - slots
    argTypes:
    - GHashTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: r_slot_get_booted
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_slot_get_booted(GHashTable *slots)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/src/slot.c:107,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/slot.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - bootstate
    argTypes:
    - SlotBootState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: r_slot_bootstate_to_str
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_error
    - g_assert_not_reached
    linkageType: ''
    returnType: gchar
    signature: gchar * r_slot_bootstate_to_str(SlotBootState bootstate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/src/slot.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - slotstate
    argTypes:
    - SlotState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: r_slot_slotstate_to_str
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_error
    linkageType: ''
    returnType: gchar
    signature: gchar * r_slot_slotstate_to_str(SlotState slotstate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:136,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:138,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: r_slot_str_to_slotstate
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: SlotState
    signature: SlotState r_slot_str_to_slotstate(gchar *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: r_slot_is_valid_type
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_is_valid_type(const gchar *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: r_slot_is_mountable
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_is_mountable(RaucSlot *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: r_slot_get_parent_root
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot * r_slot_get_parent_root(RaucSlot *slot)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:208,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:209,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/slot.c:225,1
    - Dst: g_build_filename
      Src: /src/rauc/src/slot.c:227,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/slot.c:228,1
    - Dst: g_set_error
      Src: /src/rauc/src/slot.c:230,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/slot.c:233,1
    - Dst: g_strerror
      Src: /src/rauc/src/slot.c:236,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/slot.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - slot
    - checksum
    - error
    argTypes:
    - RaucSlot*
    - RaucChecksum*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 241
    functionName: r_slot_get_checksum_data_directory
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 1
    functionsReached:
    - g_mkdir_with_parents
    - g_strerror
    - g_file_error_from_errno
    - g_build_filename
    - g_strdup_printf
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *r_slot_get_checksum_data_directory(const RaucSlot *slot, const
      RaucChecksum *checksum, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:247,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:248,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/slot.c:264,1
    - Dst: g_build_filename
      Src: /src/rauc/src/slot.c:265,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/slot.c:267,1
    - Dst: g_build_filename
      Src: /src/rauc/src/slot.c:268,1
    - Dst: g_file_test
      Src: /src/rauc/src/slot.c:270,1
    - Dst: rm_tree
      Src: /src/rauc/src/slot.c:271,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/slot.c:272,1
    - Dst: rename
      Src: /src/rauc/src/slot.c:277,1
    - Dst: g_set_error
      Src: /src/rauc/src/slot.c:282,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/slot.c:284,1
    - Dst: g_strerror
      Src: /src/rauc/src/slot.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - slot
    - old_digest
    - new_digest
    - error
    argTypes:
    - RaucSlot*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 290
    functionName: r_slot_move_checksum_data_directory
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 1
    functionsReached:
    - g_set_error
    - g_strerror
    - g_file_test
    - rm_tree
    - g_propagate_prefixed_error
    - rename
    - g_file_error_from_errno
    - g_strdup_printf
    - g_build_filename
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_move_checksum_data_directory(const RaucSlot *slot,
      const gchar *old_digest, const gchar *new_digest, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/slot.c:296,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/slot.c:300,1
    - Dst: g_assert
      Src: /src/rauc/src/slot.c:306,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/slot.c:306,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:309,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/slot.c:318,1
    - Dst: g_dir_open
      Src: /src/rauc/src/slot.c:319,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/slot.c:323,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/slot.c:325,1
    - Dst: g_str_equal
      Src: /src/rauc/src/slot.c:328,1
    - Dst: g_build_filename
      Src: /src/rauc/src/slot.c:333,1
    - Dst: g_debug
      Src: /src/rauc/src/slot.c:334,1
    - Dst: rm_tree
      Src: /src/rauc/src/slot.c:336,1
    - Dst: g_warning
      Src: /src/rauc/src/slot.c:337,1
    - Dst: g_clear_error
      Src: /src/rauc/src/slot.c:338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 341
    functionName: r_slot_clean_data_directory
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_warning
    - g_str_has_prefix
    - g_dir_open
    - rm_tree
    - g_assert
    - g_dir_read_name
    - g_return_if_fail
    - g_strcmp0
    - g_str_equal
    - g_debug
    - g_strdup_printf
    - g_build_filename
    - g_path_is_absolute
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_slot_clean_data_directory(const RaucSlot *slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:349,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/slot.c:351,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/slot.c:353,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/slot.c:354,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/slot.c:357,1
    - Dst: g_intern_string
      Src: /src/rauc/src/slot.c:362,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/rauc/src/slot.c:363,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/slot.c:364,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/slot.c:366,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/src/slot.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 369
    functionName: r_slot_get_root_classes
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_new
    - g_hash_table_iter_init
    - g_ptr_array_add
    - g_ptr_array_free
    - g_ptr_array_remove_fast
    - g_assert_nonnull
    - g_intern_string
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar ** r_slot_get_root_classes(GHashTable *slots)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - slotlist
    - testslot
    argTypes:
    - GList*
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: r_slot_list_contains
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 2
    functionsReached:
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_list_contains(GList *slotlist, const RaucSlot *testslot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:396,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:397,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/slot.c:399,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/slot.c:400,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/slot.c:401,1
    - Dst: g_list_append
      Src: /src/rauc/src/slot.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - slots
    - class
    argTypes:
    - GHashTable*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 407
    functionName: r_slot_get_all_of_class
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 1
    functionsReached:
    - g_hash_table_iter_init
    - g_list_append
    - g_strcmp0
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList
    signature: GList * r_slot_get_all_of_class(GHashTable *slots, const gchar* class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:416,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/slot.c:417,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/slot.c:419,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/slot.c:420,1
    - Dst: r_slot_get_parent_root
      Src: /src/rauc/src/slot.c:424,1
    - Dst: g_list_append
      Src: /src/rauc/src/slot.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - slots
    - parent
    argTypes:
    - GHashTable*
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: r_slot_get_all_children
    functionSourceFile: /src/rauc/src/slot.c
    functionUses: 1
    functionsReached:
    - g_hash_table_iter_init
    - g_list_append
    - r_slot_get_parent_root
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList
    signature: GList * r_slot_get_all_children(GHashTable *slots, RaucSlot *parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:29,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/config_file.c:31,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/config_file.c:32,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:43,1
    - Dst: g_message
      Src: /src/rauc/src/config_file.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - slots
    - error
    argTypes:
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 56
    functionName: fix_grandparent_links
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_message
    - g_hash_table_iter_next
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean fix_grandparent_links(GHashTable *slots, GError **error)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:62,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:65,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:66,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:67,1
    - Dst: g_strsplit
      Src: /src/rauc/src/config_file.c:70,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:87,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:89,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:91,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:94,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:115,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:122,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - mask
    - config
    - error
    argTypes:
    - guint*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 132
    functionName: parse_bundle_formats
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 2
    functionsReached:
    - g_auto
    - g_strcmp0
    - g_strsplit
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_bundle_formats(guint *mask, const gchar *config, GError
      **error)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:138,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:139,1
    - Dst: g_assert_null
      Src: /src/rauc/src/config_file.c:141,1
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:145,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/config_file.c:145,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:148,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/config_file.c:153,1
    - Dst: strlen
      Src: /src/rauc/src/config_file.c:156,1
    - Dst: g_new0
      Src: /src/rauc/src/config_file.c:158,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:159,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:162,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:164,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/config_file.c:168,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/config_file.c:171,1
    - Dst: g_build_filename
      Src: /src/rauc/src/config_file.c:176,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:177,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:181,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:182,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:183,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:184,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:185,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:187,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:191,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:193,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:195,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:199,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:203,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:207,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:212,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/config_file.c:217,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:218,1
    - Dst: g_assert_null
      Src: /src/rauc/src/config_file.c:219,1
    - Dst: g_malloc
      Src: /src/rauc/src/config_file.c:220,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:221,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:223,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:225,1
    - Dst: g_strv_length
      Src: /src/rauc/src/config_file.c:229,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/config_file.c:229,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:230,1
    - Dst: r_event_log_is_supported_type
      Src: /src/rauc/src/config_file.c:235,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:236,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:241,1
    - Dst: key_file_consume_binary_suffixed_string
      Src: /src/rauc/src/config_file.c:243,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:244,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:245,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:247,1
    - Dst: key_file_consume_integer
      Src: /src/rauc/src/config_file.c:251,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:252,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:254,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:256,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/config_file.c:260,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/config_file.c:264,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:270,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:271,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:275,1
    - Dst: g_list_append
      Src: /src/rauc/src/config_file.c:278,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:278,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 112
    argCount: 3
    argNames:
    - key_file
    - config
    - error
    argTypes:
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 282
    functionName: r_event_log_parse_config_sections
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - key_file_consume_binary_suffixed_string
    - g_set_error_literal
    - g_key_file_get_string_list
    - g_clear_pointer
    - g_build_filename
    - g_assert_null
    - g_steal_pointer
    - g_key_file_remove_key
    - g_list_append
    - g_strdup
    - g_path_is_absolute
    - g_strv_length
    - g_autoptr
    - check_remaining_keys
    - g_key_file_remove_group
    - g_str_has_prefix
    - g_auto
    - key_file_consume_integer
    - g_strv_contains
    - g_malloc
    - key_file_consume_string
    - r_event_log_is_supported_type
    - g_propagate_error
    - g_new0
    - g_set_error
    - strlen
    - g_free
    - g_return_val_if_fail
    - g_clear_error
    - g_key_file_get_groups
    - g_error_matches
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_event_log_parse_config_sections(GKeyFile *key_file, RaucConfig
      *config, GError **error)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:288,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:289,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:290,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:292,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:293,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:294,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:295,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:297,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:302,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:303,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:304,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:305,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:307,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/config_file.c:311,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:312,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:317,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:320,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:321,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:322,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:323,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:325,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:329,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:330,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:331,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:332,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:333,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:334,1
    - Dst: g_debug
      Src: /src/rauc/src/config_file.c:336,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:337,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:339,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:340,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:341,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:343,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:345,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:348,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:349,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:350,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:351,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:353,1
    - Dst: key_file_consume_integer
      Src: /src/rauc/src/config_file.c:359,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:360,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:362,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:364,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:368,1
    - Dst: key_file_consume_integer
      Src: /src/rauc/src/config_file.c:373,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:374,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:376,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:378,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:382,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/config_file.c:387,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:388,1
    - Dst: g_debug
      Src: /src/rauc/src/config_file.c:389,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:392,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:394,1
    - Dst: g_message
      Src: /src/rauc/src/config_file.c:397,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:400,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:404,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/config_file.c:406,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:407,1
    - Dst: g_debug
      Src: /src/rauc/src/config_file.c:408,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:411,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:413,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:417,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:421,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:423,1
    - Dst: g_debug
      Src: /src/rauc/src/config_file.c:425,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:426,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:429,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:430,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:432,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:434,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:437,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:442,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:443,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:445,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:447,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:450,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:454,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:455,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:457,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:459,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:462,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:465,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:466,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:467,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:468,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:470,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:475,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:481,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:485,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:486,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:487,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:488,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:490,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:495,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:501,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:516,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:517,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:518,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:519,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:521,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:525,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:526,1
    - Dst: g_assert_null
      Src: /src/rauc/src/config_file.c:527,1
    - Dst: g_build_filename
      Src: /src/rauc/src/config_file.c:529,1
    - Dst: g_message
      Src: /src/rauc/src/config_file.c:532,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:534,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:536,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:538,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:542,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:544,1
    - Dst: g_message
      Src: /src/rauc/src/config_file.c:549,1
    - Dst: resolve_path
      Src: /src/rauc/src/config_file.c:551,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:552,1
    - Dst: g_message
      Src: /src/rauc/src/config_file.c:554,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:562,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:563,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:564,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:566,1
    - Dst: parse_bundle_formats
      Src: /src/rauc/src/config_file.c:569,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:570,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:575,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:576,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:578,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:580,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:583,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:585,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:586,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:589,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 261
    argCount: 4
    argNames:
    - filename
    - key_file
    - c
    - error
    argTypes:
    - gchar*
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 592
    functionName: parse_system_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    - resolve_path_take
    - g_build_filename
    - g_assert_null
    - g_steal_pointer
    - g_key_file_remove_key
    - g_key_file_get_uint64
    - g_strdup
    - g_debug
    - r_semver_less_equal
    - g_key_file_remove_group
    - check_remaining_keys
    - key_file_consume_integer
    - key_file_consume_string
    - g_propagate_error
    - g_set_error
    - g_free
    - g_return_val_if_fail
    - g_clear_error
    - parse_bundle_formats
    - g_error_matches
    - g_strcmp0
    - g_message
    - resolve_path
    - g_key_file_get_boolean
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_system_section(const gchar *filename, GKeyFile *key_file,
      RaucConfig *c, GError **error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:599,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:600,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:601,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:603,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:606,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:607,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:608,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:609,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:611,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:612,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:613,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:615,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:617,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:620,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:622,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:623,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:624,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:626,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:628,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:631,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:633,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:634,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:635,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:637,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:639,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:642,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:644,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:645,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:646,1
    - Dst: g_assert_null
      Src: /src/rauc/src/config_file.c:647,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:648,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:650,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:655,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:656,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:657,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/config_file.c:660,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:661,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:662,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:663,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:665,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:668,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:670,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:671,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:674,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 4
    argNames:
    - filename
    - key_file
    - c
    - error
    argTypes:
    - gchar*
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 677
    functionName: parse_keyring_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_key_file_has_group
    - g_key_file_remove_key
    - g_key_file_remove_group
    - g_strdup
    - g_error_matches
    - g_key_file_get_string_list
    - g_strcmp0
    - resolve_path_take
    - key_file_consume_string
    - g_free
    - check_remaining_keys
    - g_propagate_error
    - g_assert_null
    - g_key_file_get_boolean
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_keyring_section(const gchar *filename, GKeyFile *key_file,
      RaucConfig *c, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:683,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:684,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:685,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:687,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:690,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:691,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:692,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:693,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:694,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:695,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:697,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:699,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:702,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:703,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:704,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - key_file
    - c
    - error
    argTypes:
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 710
    functionName: parse_casync_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_key_file_has_group
    - g_key_file_remove_key
    - g_key_file_remove_group
    - g_error_matches
    - key_file_consume_string
    - check_remaining_keys
    - g_propagate_error
    - g_key_file_get_boolean
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_casync_section(GKeyFile *key_file, RaucConfig *c, GError
      **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:718,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:719,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:721,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:724,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:725,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:726,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:727,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/config_file.c:728,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:729,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:730,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:731,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:733,1
    - Dst: r_install_is_supported_http_header
      Src: /src/rauc/src/config_file.c:737,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:738,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:744,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:745,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:746,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - key_file
    - c
    - error
    argTypes:
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 752
    functionName: parse_streaming_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_key_file_has_group
    - g_key_file_remove_key
    - g_error_matches
    - g_key_file_get_string_list
    - r_install_is_supported_http_header
    - key_file_consume_string
    - check_remaining_keys
    - g_propagate_error
    - g_set_error
    - g_key_file_remove_group
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_streaming_section(GKeyFile *key_file, RaucConfig *c,
      GError **error)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:758,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:762,1
    - Dst: key_file_consume_string_list
      Src: /src/rauc/src/config_file.c:767,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:769,1
    - Dst: key_file_consume_string_list
      Src: /src/rauc/src/config_file.c:773,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:776,1
    - Dst: g_strdupv
      Src: /src/rauc/src/config_file.c:779,1
    - Dst: key_file_consume_string_list
      Src: /src/rauc/src/config_file.c:782,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:785,1
    - Dst: key_file_consume_string_list
      Src: /src/rauc/src/config_file.c:789,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:792,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:796,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:798,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/config_file.c:801,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:802,1
    - Dst: key_file_consume_integer
      Src: /src/rauc/src/config_file.c:808,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:809,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:811,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:813,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:817,1
    - Dst: key_file_consume_integer
      Src: /src/rauc/src/config_file.c:822,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:823,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:825,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:827,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:831,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:841,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:842,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:843,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:844,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:846,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:850,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:851,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:854,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 3
    argNames:
    - key_file
    - c
    - error
    argTypes:
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 857
    functionName: parse_polling_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_key_file_has_group
    - g_str_has_prefix
    - key_file_consume_integer
    - g_strdup
    - g_error_matches
    - key_file_consume_string
    - check_remaining_keys
    - g_propagate_error
    - g_set_error
    - g_strdupv
    - g_key_file_remove_group
    - key_file_consume_string_list
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_polling_section(GKeyFile *key_file, RaucConfig *c, GError
      **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:863,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:864,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:865,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:867,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:870,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:871,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:872,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:873,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:874,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:875,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - filename
    - key_file
    - c
    - error
    argTypes:
    - gchar*
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 881
    functionName: parse_encryption_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_has_group
    - resolve_path_take
    - key_file_consume_string
    - g_propagate_error
    - g_return_val_if_fail
    - g_key_file_remove_group
    - check_remaining_keys
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_encryption_section(const gchar *filename, GKeyFile *key_file,
      RaucConfig *c, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:887,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:888,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:889,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:891,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:894,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:895,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:896,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:897,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - filename
    - key_file
    - c
    - error
    argTypes:
    - gchar*
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 903
    functionName: parse_autoinstall_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_has_group
    - resolve_path_take
    - key_file_consume_string
    - g_propagate_error
    - g_return_val_if_fail
    - g_key_file_remove_group
    - check_remaining_keys
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_autoinstall_section(const gchar *filename, GKeyFile
      *key_file, RaucConfig *c, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:909,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:910,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:911,1
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/config_file.c:913,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:916,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:917,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:919,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:920,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:922,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:923,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:924,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:925,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - filename
    - key_file
    - c
    - error
    argTypes:
    - gchar*
    - GKeyFile*
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 931
    functionName: parse_handlers_section
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_has_group
    - resolve_path_take
    - key_file_consume_string
    - g_propagate_error
    - g_return_val_if_fail
    - g_key_file_remove_group
    - check_remaining_keys
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_handlers_section(const gchar *filename, GKeyFile *key_file,
      RaucConfig *c, GError **error)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:937,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/config_file.c:937,1
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:939,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/config_file.c:939,1
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:941,1
    - Dst: g_strsplit
      Src: /src/rauc/src/config_file.c:941,1
    - Dst: g_str_equal
      Src: /src/rauc/src/config_file.c:944,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:945,1
    - Dst: g_new0
      Src: /src/rauc/src/config_file.c:945,1
    - Dst: g_strv_length
      Src: /src/rauc/src/config_file.c:948,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:949,1
    - Dst: g_strconcat
      Src: /src/rauc/src/config_file.c:954,1
    - Dst: g_intern_string
      Src: /src/rauc/src/config_file.c:955,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:956,1
    - Dst: g_build_filename
      Src: /src/rauc/src/config_file.c:961,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:963,1
    - Dst: g_intern_string
      Src: /src/rauc/src/config_file.c:965,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:967,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:968,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:970,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:975,1
    - Dst: g_strdup
      Src: /src/rauc/src/config_file.c:977,1
    - Dst: r_slot_is_valid_type
      Src: /src/rauc/src/config_file.c:980,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:981,1
    - Dst: g_str_equal
      Src: /src/rauc/src/config_file.c:987,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/config_file.c:987,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:988,1
    - Dst: g_str_equal
      Src: /src/rauc/src/config_file.c:992,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/config_file.c:993,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/config_file.c:993,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:994,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:999,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/config_file.c:1001,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1002,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/config_file.c:1003,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1006,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1009,1
    - Dst: value_check_whitespace
      Src: /src/rauc/src/config_file.c:1014,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/config_file.c:1015,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1023,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1025,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1026,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1028,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1030,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1033,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1035,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1036,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1038,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1040,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1043,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1045,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1046,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1047,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1049,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1050,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1051,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1053,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1054,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1056,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1058,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1062,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1066,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1069,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1070,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1071,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1073,1
    - Dst: g_key_file_get_boolean
      Src: /src/rauc/src/config_file.c:1075,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1076,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1078,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1080,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/config_file.c:1083,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1085,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1086,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1087,1
    - Dst: key_file_consume_binary_suffixed_string
      Src: /src/rauc/src/config_file.c:1088,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/config_file.c:1091,1
    - Dst: key_file_consume_binary_suffixed_string
      Src: /src/rauc/src/config_file.c:1095,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/config_file.c:1098,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1103,1
    - Dst: key_file_consume_binary_suffixed_string
      Src: /src/rauc/src/config_file.c:1104,1
    - Dst: g_error_matches
      Src: /src/rauc/src/config_file.c:1106,1
    - Dst: g_clear_error
      Src: /src/rauc/src/config_file.c:1108,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1110,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1115,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1116,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1117,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:1120,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1121,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:1125,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/config_file.c:1127,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:1132,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 156
    argCount: 4
    argNames:
    - filename
    - c
    - key_file
    - error
    argTypes:
    - char*
    - RaucConfig*
    - GKeyFile*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1133
    functionName: parse_slots
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_shell_parse_argv
    - key_file_consume_binary_suffixed_string
    - resolve_path_take
    - g_hash_table_new_full
    - g_intern_string
    - g_build_filename
    - g_steal_pointer
    - g_key_file_remove_key
    - g_hash_table_insert
    - g_propagate_prefixed_error
    - g_strdup
    - g_key_file_remove_group
    - g_strv_length
    - g_autoptr
    - check_remaining_keys
    - g_str_has_prefix
    - g_auto
    - g_str_equal
    - key_file_consume_string
    - g_new0
    - g_propagate_error
    - g_strsplit
    - g_set_error
    - g_free
    - g_strconcat
    - g_clear_error
    - g_key_file_get_groups
    - g_error_matches
    - g_strcmp0
    - g_str_has_suffix
    - r_slot_is_valid_type
    - value_check_whitespace
    - g_key_file_get_boolean
    linkageType: ''
    returnType: GHashTable
    signature: GHashTable *parse_slots(const char *filename, RaucConfig *c, GKeyFile
      *key_file, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1140,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/config_file.c:1140,1
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:1142,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/config_file.c:1142,1
    - Dst: g_auto
      Src: /src/rauc/src/config_file.c:1144,1
    - Dst: g_strsplit
      Src: /src/rauc/src/config_file.c:1144,1
    - Dst: g_str_equal
      Src: /src/rauc/src/config_file.c:1147,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1148,1
    - Dst: g_new0
      Src: /src/rauc/src/config_file.c:1148,1
    - Dst: g_strv_length
      Src: /src/rauc/src/config_file.c:1151,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1152,1
    - Dst: g_intern_string
      Src: /src/rauc/src/config_file.c:1156,1
    - Dst: g_build_filename
      Src: /src/rauc/src/config_file.c:1161,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1163,1
    - Dst: resolve_path_take
      Src: /src/rauc/src/config_file.c:1165,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1165,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1167,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1172,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1174,1
    - Dst: r_artifact_repo_is_valid_type
      Src: /src/rauc/src/config_file.c:1179,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1180,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/config_file.c:1185,1
    - Dst: g_intern_string
      Src: /src/rauc/src/config_file.c:1186,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1187,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1189,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/config_file.c:1193,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1194,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/config_file.c:1198,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/config_file.c:1200,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - filename
    - data_directory
    - key_file
    - error
    argTypes:
    - char*
    - char*
    - GKeyFile*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1206
    functionName: parse_artifact_repos
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - resolve_path_take
    - g_hash_table_new_full
    - g_intern_string
    - g_build_filename
    - r_artifact_repo_is_valid_type
    - g_steal_pointer
    - g_hash_table_insert
    - g_key_file_remove_group
    - g_strv_length
    - check_remaining_keys
    - g_autoptr
    - g_auto
    - g_str_equal
    - key_file_consume_string
    - g_new0
    - g_propagate_error
    - g_strsplit
    - g_set_error
    - g_free
    - g_key_file_get_groups
    linkageType: ''
    returnType: GHashTable
    signature: GHashTable *parse_artifact_repos(const char *filename, const char *data_directory,
      GKeyFile *key_file, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1212,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1213,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1216,1
    - Dst: g_hash_table_get_keys
      Src: /src/rauc/src/config_file.c:1216,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/config_file.c:1218,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/config_file.c:1222,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1224,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1231,1
    - Dst: fix_grandparent_links
      Src: /src/rauc/src/config_file.c:1238,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - slots
    - error
    argTypes:
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1244
    functionName: resolve_slot_parents
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_propagate_error
    - g_return_val_if_fail
    - fix_grandparent_links
    - g_hash_table_lookup
    - g_hash_table_get_keys
    - g_set_error
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean resolve_slot_parents(GHashTable *slots, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1248,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1249,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/config_file.c:1252,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1254,1
    - Dst: g_hash_table_new
      Src: /src/rauc/src/config_file.c:1254,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/config_file.c:1255,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/src/config_file.c:1261,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1262,1
    - Dst: g_hash_table_add
      Src: /src/rauc/src/config_file.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - slots
    - error
    argTypes:
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1270
    functionName: check_duplicate_bootnames
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_hash_table_iter_init
    - g_hash_table_new
    - g_hash_table_iter_next
    - g_return_val_if_fail
    - g_hash_table_contains
    - g_hash_table_add
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_duplicate_bootnames(GHashTable *slots, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1274,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/config_file.c:1277,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/config_file.c:1279,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/src/config_file.c:1282,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - config
    - error
    argTypes:
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1289
    functionName: check_unique_slotclasses
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_hash_table_iter_next
    - g_set_error
    - g_hash_table_contains
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_unique_slotclasses(RaucConfig *config, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1293,1
    - Dst: r_context
      Src: /src/rauc/src/config_file.c:1298,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/config_file.c:1301,1
    - Dst: r_context
      Src: /src/rauc/src/config_file.c:1301,1
    - Dst: g_warning
      Src: /src/rauc/src/config_file.c:1302,1
    - Dst: g_compute_checksum_for_data
      Src: /src/rauc/src/config_file.c:1306,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1308,1
    - Dst: r_context
      Src: /src/rauc/src/config_file.c:1308,1
    - Dst: g_warning
      Src: /src/rauc/src/config_file.c:1309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1313
    functionName: r_config_file_modified_check
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_strcmp0
    - g_file_get_contents
    - g_compute_checksum_for_data
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_config_file_modified_check(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1328,1
    - Dst: g_new0
      Src: /src/rauc/src/config_file.c:1328,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1330,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1331,1
    - Dst: g_compute_checksum_for_data
      Src: /src/rauc/src/config_file.c:1333,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1335,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/config_file.c:1335,1
    - Dst: g_key_file_load_from_data
      Src: /src/rauc/src/config_file.c:1336,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1337,1
    - Dst: r_context_conf
      Src: /src/rauc/src/config_file.c:1342,1
    - Dst: g_key_file_set_value
      Src: /src/rauc/src/config_file.c:1344,1
    - Dst: parse_system_section
      Src: /src/rauc/src/config_file.c:1348,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1349,1
    - Dst: parse_keyring_section
      Src: /src/rauc/src/config_file.c:1354,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1355,1
    - Dst: parse_casync_section
      Src: /src/rauc/src/config_file.c:1360,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1361,1
    - Dst: parse_streaming_section
      Src: /src/rauc/src/config_file.c:1366,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1367,1
    - Dst: parse_polling_section
      Src: /src/rauc/src/config_file.c:1372,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1373,1
    - Dst: parse_encryption_section
      Src: /src/rauc/src/config_file.c:1378,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1379,1
    - Dst: parse_autoinstall_section
      Src: /src/rauc/src/config_file.c:1384,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1385,1
    - Dst: parse_handlers_section
      Src: /src/rauc/src/config_file.c:1390,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1391,1
    - Dst: r_event_log_parse_config_sections
      Src: /src/rauc/src/config_file.c:1395,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1396,1
    - Dst: parse_slots
      Src: /src/rauc/src/config_file.c:1401,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1403,1
    - Dst: resolve_slot_parents
      Src: /src/rauc/src/config_file.c:1408,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1409,1
    - Dst: parse_artifact_repos
      Src: /src/rauc/src/config_file.c:1414,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1416,1
    - Dst: check_remaining_groups
      Src: /src/rauc/src/config_file.c:1420,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1421,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:1425,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - filename
    - data
    - length
    - error
    argTypes:
    - gchar*
    - gchar*
    - gsize
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1426
    functionName: parse_config
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - check_remaining_groups
    - r_event_log_parse_config_sections
    - parse_encryption_section
    - parse_streaming_section
    - parse_casync_section
    - parse_slots
    - g_compute_checksum_for_data
    - g_key_file_set_value
    - g_steal_pointer
    - parse_keyring_section
    - g_key_file_new
    - g_autoptr
    - parse_autoinstall_section
    - parse_polling_section
    - g_propagate_error
    - g_new0
    - resolve_slot_parents
    - parse_system_section
    - parse_artifact_repos
    - g_return_val_if_fail
    - r_context_conf
    - parse_handlers_section
    - g_key_file_load_from_data
    linkageType: ''
    returnType: RaucConfig
    signature: RaucConfig *parse_config(const gchar *filename, const gchar *data,
      gsize length, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1432,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1433,1
    - Dst: parse_config
      Src: /src/rauc/src/config_file.c:1439,1
    - Dst: strlen
      Src: /src/rauc/src/config_file.c:1439,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/config_file.c:1441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - config
    - error
    argTypes:
    - RaucConfig**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1448
    functionName: default_config
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - strlen
    - parse_config
    - g_propagate_prefixed_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean default_config(RaucConfig **config, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1454,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1455,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1456,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/config_file.c:1461,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1462,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1466,1
    - Dst: g_autoptr
      Src: /src/rauc/src/config_file.c:1471,1
    - Dst: parse_config
      Src: /src/rauc/src/config_file.c:1471,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1473,1
    - Dst: check_duplicate_bootnames
      Src: /src/rauc/src/config_file.c:1477,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1478,1
    - Dst: check_unique_slotclasses
      Src: /src/rauc/src/config_file.c:1482,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1483,1
    - Dst: check_config_target
      Src: /src/rauc/src/config_file.c:1487,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/config_file.c:1488,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/config_file.c:1493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - filename
    - config
    - error
    argTypes:
    - gchar*
    - RaucConfig**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1450
    functionDepth: 3
    functionLinenumber: 1450
    functionLinenumberEnd: 1496
    functionName: load_config
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 38
    functionsReached:
    - parse_config
    - check_duplicate_bootnames
    - check_unique_slotclasses
    - check_config_target
    - g_return_val_if_fail
    - g_propagate_error
    - g_set_error
    - g_file_get_contents
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_config(const gchar *filename, RaucConfig **config, GError
      **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error_literal
      Src: /src/rauc/src/config_file.c:1501,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/config_file.c:1507,1
    - Dst: r_boot_is_supported_bootloader
      Src: /src/rauc/src/config_file.c:1511,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1512,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1519,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/config_file.c:1519,1
    - Dst: g_set_error
      Src: /src/rauc/src/config_file.c:1520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - config
    - error
    argTypes:
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1527
    functionName: check_config_target
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 1
    functionsReached:
    - g_set_error
    - g_strcmp0
    - r_boot_is_supported_bootloader
    - g_set_error_literal
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_config_target(const RaucConfig *config, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1531,1
    - Dst: r_slot_find_by_device
      Src: /src/rauc/src/config_file.c:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - config
    - device
    argTypes:
    - RaucConfig*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1534
    functionName: find_config_slot_by_device
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 2
    functionsReached:
    - r_slot_find_by_device
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *find_config_slot_by_device(RaucConfig *config, const gchar
      *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1538,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1539,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/config_file.c:1540,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/config_file.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - config
    - name
    argTypes:
    - RaucConfig*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1543
    functionName: find_config_slot_by_name
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 10
    functionsReached:
    - g_hash_table_lookup
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *find_config_slot_by_name(RaucConfig *config, const gchar
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1550,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1551,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1552,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1553,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1554,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1555,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1556,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1557,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1558,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1559,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1560,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1561,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1562,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1563,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1564,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1565,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1566,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1567,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1568,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1569,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1570,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1571,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1572,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1573,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1574,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1575,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1576,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1577,1
    - Dst: g_list_free_full
      Src: /src/rauc/src/config_file.c:1578,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1579,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1580,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1581,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1582,1
    - Dst: g_strfreev
      Src: /src/rauc/src/config_file.c:1583,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1584,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:1585,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1586,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1587,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/config_file.c:1588,1
    - Dst: g_free
      Src: /src/rauc/src/config_file.c:1589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - config
    argTypes:
    - RaucConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1590
    functionName: free_config
    functionSourceFile: /src/rauc/src/config_file.c
    functionUses: 0
    functionsReached:
    - g_strfreev
    - g_clear_pointer
    - g_list_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: void free_config(RaucConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_free
      Src: /src/rauc/src/signature.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - R_X509_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: r_signature_free_x509_stack
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - sk_X509_free
    linkageType: ''
    returnType: void
    signature: void r_signature_free_x509_stack(R_X509_STACK *stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_pop_free
      Src: /src/rauc/src/signature.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - R_X509_STACK_POP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: r_signature_free_x509_stack_pop
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop_free
    linkageType: ''
    returnType: void
    signature: void r_signature_free_x509_stack_pop(R_X509_STACK_POP *stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/signature.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: r_signature_error_quark
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_signature_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_all
      Src: /src/rauc/src/signature.c:40,1
    - Dst: ERR_error_string
      Src: /src/rauc/src/signature.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: get_openssl_err_string
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - ERR_error_string
    - ERR_get_error_all
    linkageType: ''
    returnType: gchar
    signature: gchar *get_openssl_err_string(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/rauc/src/signature.c:63,1
    - Dst: X509_get_key_usage
      Src: /src/rauc/src/signature.c:64,1
    - Dst: X509_get_extended_key_usage
      Src: /src/rauc/src/signature.c:65,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:71,1
    - Dst: X509_check_ca
      Src: /src/rauc/src/signature.c:75,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:80,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:86,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - xp
    - const_x
    - ca
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 99
    functionName: check_purpose_code_sign
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - X509_check_ca
    - X509_get_extended_key_usage
    - X509_get_key_usage
    - g_message
    - X509_get_extension_flags
    - g_warning
    linkageType: ''
    returnType: int
    signature: int check_purpose_code_sign(const X509_PURPOSE *xp, const X509 *const_x,
      int ca)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:103,1
    - Dst: OPENSSL_init_crypto
      Src: /src/rauc/src/signature.c:105,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:107,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:111,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/rauc/src/signature.c:119,1
    - Dst: X509_PURPOSE_add
      Src: /src/rauc/src/signature.c:124,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:126,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: signature_init
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    - get_openssl_err_string
    - X509_PURPOSE_add
    - g_return_val_if_fail
    - g_set_error
    - X509_PURPOSE_get_by_id
    linkageType: ''
    returnType: gboolean
    signature: gboolean signature_init(GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:143,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/rauc/src/signature.c:145,1
    - Dst: ENGINE_by_id
      Src: /src/rauc/src/signature.c:147,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:149,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:153,1
    - Dst: g_getenv
      Src: /src/rauc/src/signature.c:158,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/rauc/src/signature.c:160,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:161,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:165,1
    - Dst: ENGINE_init
      Src: /src/rauc/src/signature.c:170,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:171,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:175,1
    - Dst: g_getenv
      Src: /src/rauc/src/signature.c:180,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/rauc/src/signature.c:182,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:183,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:187,1
    - Dst: ENGINE_finish
      Src: /src/rauc/src/signature.c:195,1
    - Dst: ENGINE_free
      Src: /src/rauc/src/signature.c:197,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 201
    functionName: get_pkcs11_engine
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - get_openssl_err_string
    - ENGINE_init
    - ENGINE_by_id
    - ENGINE_free
    - ENGINE_ctrl_cmd_string
    - g_set_error
    - ENGINE_load_builtin_engines
    - g_getenv
    - g_return_val_if_fail
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *get_pkcs11_engine(GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:210,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:211,1
    - Dst: BIO_new_file
      Src: /src/rauc/src/signature.c:213,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:215,1
    - Dst: g_getenv
      Src: /src/rauc/src/signature.c:223,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/rauc/src/signature.c:226,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:228,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:232,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - keyfile
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 238
    functionName: load_key_file
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_PrivateKey
    - get_openssl_err_string
    - BIO_new_file
    - g_set_error
    - BIO_free_all
    - g_getenv
    - g_return_val_if_fail
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_key_file(const gchar *keyfile, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:245,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:246,1
    - Dst: get_pkcs11_engine
      Src: /src/rauc/src/signature.c:248,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:250,1
    - Dst: ENGINE_load_private_key
      Src: /src/rauc/src/signature.c:254,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:256,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:260,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - url
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 272
    functionName: load_key_pkcs11
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - get_openssl_err_string
    - ENGINE_load_private_key
    - get_pkcs11_engine
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_key_pkcs11(const gchar *url, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:276,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/signature.c:278,1
    - Dst: load_key_pkcs11
      Src: /src/rauc/src/signature.c:279,1
    - Dst: load_key_file
      Src: /src/rauc/src/signature.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: load_key
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - load_key_file
    - load_key_pkcs11
    - g_str_has_prefix
    - g_return_val_if_fail
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_key(const gchar *name, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:289,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:290,1
    - Dst: BIO_new_file
      Src: /src/rauc/src/signature.c:292,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:294,1
    - Dst: PEM_read_bio_X509
      Src: /src/rauc/src/signature.c:302,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:304,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:308,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - certfile
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 315
    functionName: load_cert_file
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - get_openssl_err_string
    - BIO_new_file
    - PEM_read_bio_X509
    - g_set_error
    - BIO_free_all
    - g_return_val_if_fail
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_file(const gchar *certfile, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:321,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:324,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:325,1
    - Dst: BIO_new_file
      Src: /src/rauc/src/signature.c:327,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:329,1
    - Dst: sk_X509_new_null
      Src: /src/rauc/src/signature.c:337,1
    - Dst: PEM_read_bio_X509
      Src: /src/rauc/src/signature.c:340,1
    - Dst: ERR_peek_last_error
      Src: /src/rauc/src/signature.c:342,1
    - Dst: ERR_GET_REASON
      Src: /src/rauc/src/signature.c:344,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:345,1
    - Dst: ERR_clear_error
      Src: /src/rauc/src/signature.c:347,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:351,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:355,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/signature.c:357,1
    - Dst: sk_X509_push
      Src: /src/rauc/src/signature.c:361,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:365,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/signature.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - certfile
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 367
    functionName: load_certs_from_file
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - get_openssl_err_string
    - ERR_GET_REASON
    - ERR_clear_error
    - sk_X509_push
    - sk_X509_new_null
    - BIO_new_file
    - g_clear_pointer
    - PEM_read_bio_X509
    - ERR_peek_last_error
    - sk_X509_num
    - g_autoptr
    - g_set_error
    - BIO_free_all
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *load_certs_from_file(const gchar *certfile, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:374,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:375,1
    - Dst: get_pkcs11_engine
      Src: /src/rauc/src/signature.c:377,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:379,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/rauc/src/signature.c:391,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:392,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:396,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - url
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 408
    functionName: load_cert_pkcs11
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - get_openssl_err_string
    - get_pkcs11_engine
    - g_propagate_error
    - ENGINE_ctrl_cmd
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_pkcs11(const gchar *url, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:412,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/signature.c:414,1
    - Dst: load_cert_pkcs11
      Src: /src/rauc/src/signature.c:415,1
    - Dst: load_cert_file
      Src: /src/rauc/src/signature.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: load_cert
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - load_cert_file
    - load_cert_pkcs11
    - g_str_has_prefix
    - g_return_val_if_fail
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert(const gchar *name, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:422,1
    - Dst: BIO_get_mem_data
      Src: /src/rauc/src/signature.c:425,1
    - Dst: g_bytes_new
      Src: /src/rauc/src/signature.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: bytes_from_bio
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_data
    - g_bytes_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GBytes
    signature: GBytes *bytes_from_bio(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:432,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/signature.c:435,1
    - Dst: g_error
      Src: /src/rauc/src/signature.c:437,1
    - Dst: g_error
      Src: /src/rauc/src/signature.c:439,1
    - Dst: g_error
      Src: /src/rauc/src/signature.c:441,1
    - Dst: BIO_new_mem_buf
      Src: /src/rauc/src/signature.c:443,1
    - Dst: g_error
      Src: /src/rauc/src/signature.c:445,1
    - Dst: BIO_get_mem_ptr
      Src: /src/rauc/src/signature.c:449,1
    - Dst: g_assert
      Src: /src/rauc/src/signature.c:450,1
    - Dst: g_assert
      Src: /src/rauc/src/signature.c:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 454
    functionName: bytes_as_bio
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - g_assert
    - g_error
    - BIO_get_mem_ptr
    - g_bytes_get_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: BIO
    signature: BIO *bytes_as_bio(GBytes *bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/rauc/src/signature.c:458,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/signature.c:462,1
    - Dst: strstr
      Src: /src/rauc/src/signature.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - capath
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: file_contains_crl
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_file_get_contents
    - strstr
    linkageType: ''
    returnType: gboolean
    signature: gboolean file_contains_crl(const gchar *capath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: file_contains_crl
      Src: /src/rauc/src/signature.c:473,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:477,1
    - Dst: g_dir_open
      Src: /src/rauc/src/signature.c:480,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/signature.c:484,1
    - Dst: g_build_filename
      Src: /src/rauc/src/signature.c:485,1
    - Dst: file_contains_crl
      Src: /src/rauc/src/signature.c:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - load_capath
    - load_cadir
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: contains_crl
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 1
    functionsReached:
    - g_dir_open
    - g_dir_read_name
    - file_contains_crl
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean contains_crl(const gchar *load_capath, const gchar *load_cadir)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: r_context
      Src: /src/rauc/src/signature.c:497,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:498,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:499,1
    - Dst: strlen
      Src: /src/rauc/src/signature.c:502,1
    - Dst: strlen
      Src: /src/rauc/src/signature.c:504,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:506,1
    - Dst: X509_STORE_new
      Src: /src/rauc/src/signature.c:507,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:508,1
    - Dst: X509_STORE_load_locations
      Src: /src/rauc/src/signature.c:515,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:516,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:525,1
    - Dst: X509_STORE_set_flags
      Src: /src/rauc/src/signature.c:526,1
    - Dst: contains_crl
      Src: /src/rauc/src/signature.c:527,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:528,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:531,1
    - Dst: X509_STORE_set_flags
      Src: /src/rauc/src/signature.c:532,1
    - Dst: X509_PURPOSE_get0
      Src: /src/rauc/src/signature.c:536,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/rauc/src/signature.c:536,1
    - Dst: X509_STORE_set_purpose
      Src: /src/rauc/src/signature.c:537,1
    - Dst: X509_PURPOSE_get_id
      Src: /src/rauc/src/signature.c:537,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:538,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/signature.c:547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - capath
    - cadir
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 548
    functionName: setup_x509_store
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 2
    functionsReached:
    - X509_STORE_set_flags
    - X509_PURPOSE_get_id
    - X509_PURPOSE_get0
    - g_set_error_literal
    - X509_STORE_new
    - r_context
    - contains_crl
    - X509_PURPOSE_get_by_sname
    - X509_STORE_load_locations
    - X509_STORE_set_purpose
    - g_set_error
    - strlen
    - g_warning
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE * setup_x509_store(const gchar *capath, const gchar *cadir,
      GError **error)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:553,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:554,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:554,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:555,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:556,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:557,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:558,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:563,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:564,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:565,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:566,1
    - Dst: load_cert
      Src: /src/rauc/src/signature.c:568,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:570,1
    - Dst: load_key
      Src: /src/rauc/src/signature.c:574,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:576,1
    - Dst: sk_X509_new_null
      Src: /src/rauc/src/signature.c:580,1
    - Dst: load_cert
      Src: /src/rauc/src/signature.c:583,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:585,1
    - Dst: sk_X509_push
      Src: /src/rauc/src/signature.c:589,1
    - Dst: CMS_sign
      Src: /src/rauc/src/signature.c:595,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:597,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:601,1
    - Dst: i2d_CMS_bio
      Src: /src/rauc/src/signature.c:604,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:605,1
    - Dst: bytes_from_bio
      Src: /src/rauc/src/signature.c:613,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:616,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:625,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:626,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:629,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:630,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:634,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:635,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:636,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:637,1
    - Dst: setup_x509_store
      Src: /src/rauc/src/signature.c:639,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:640,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/signature.c:641,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:645,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/src/signature.c:647,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:648,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/signature.c:649,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/src/signature.c:653,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:654,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/signature.c:655,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/src/signature.c:659,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:660,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/signature.c:661,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:665,1
    - Dst: time
      Src: /src/rauc/src/signature.c:669,1
    - Dst: X509_get0_notAfter
      Src: /src/rauc/src/signature.c:670,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:670,1
    - Dst: X509_cmp_current_time
      Src: /src/rauc/src/signature.c:673,1
    - Dst: X509_cmp_time
      Src: /src/rauc/src/signature.c:673,1
    - Dst: X509_NAME_oneline
      Src: /src/rauc/src/signature.c:675,1
    - Dst: X509_get_subject_name
      Src: /src/rauc/src/signature.c:675,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:675,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:677,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:681,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/signature.c:684,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:685,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:686,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 6
    argNames:
    - content
    - detached
    - certfile
    - keyfile
    - interfiles
    - error
    argTypes:
    - GBytes*
    - gboolean
    - gchar*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 688
    functionName: cms_sign
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 15
    functionsReached:
    - bytes_from_bio
    - get_openssl_err_string
    - g_set_error_literal
    - r_context
    - g_clear_pointer
    - bytes_as_bio
    - BIO_new
    - ERR_print_errors_fp
    - CMS_sign
    - BIO_s_mem
    - g_autoptr
    - time
    - sk_X509_push
    - load_cert
    - X509_get0_notAfter
    - X509_cmp_current_time
    - cms_verify_bytes
    - g_propagate_error
    - g_set_error
    - X509_NAME_oneline
    - g_return_val_if_fail
    - i2d_CMS_bio
    - load_key
    - X509_cmp_time
    - BIO_free_all
    - setup_x509_store
    - cms_get_cert_chain
    - g_message
    - X509_get_subject_name
    - sk_X509_num
    - sk_X509_value
    - g_warning
    - sk_X509_new_null
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_sign(GBytes *content, gboolean detached, const gchar *certfile,
      const gchar *keyfile, gchar **interfiles, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:695,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:696,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:697,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:697,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:698,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:699,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:703,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:704,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:705,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:706,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:708,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:709,1
    - Dst: debug_cms_ci
      Src: /src/rauc/src/signature.c:717,1
    - Dst: load_cert
      Src: /src/rauc/src/signature.c:719,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:721,1
    - Dst: load_key
      Src: /src/rauc/src/signature.c:725,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:727,1
    - Dst: load_cert
      Src: /src/rauc/src/signature.c:732,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:734,1
    - Dst: CMS_add0_cert
      Src: /src/rauc/src/signature.c:738,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:739,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:743,1
    - Dst: CMS_add1_signer
      Src: /src/rauc/src/signature.c:748,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:749,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:753,1
    - Dst: debug_cms_ci
      Src: /src/rauc/src/signature.c:757,1
    - Dst: i2d_CMS_bio
      Src: /src/rauc/src/signature.c:759,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:760,1
    - Dst: bytes_from_bio
      Src: /src/rauc/src/signature.c:768,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:771,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/signature.c:780,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:781,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:782,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 5
    argNames:
    - input_sig
    - certfile
    - keyfile
    - interfiles
    - error
    argTypes:
    - GBytes*
    - gchar*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 784
    functionName: cms_append_signature
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 3
    functionsReached:
    - CMS_add0_cert
    - bytes_from_bio
    - get_openssl_err_string
    - g_set_error_literal
    - bytes_as_bio
    - BIO_new
    - CMS_add1_signer
    - ERR_print_errors_fp
    - debug_cms_ci
    - BIO_s_mem
    - g_autoptr
    - load_cert
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - d2i_CMS_bio
    - i2d_CMS_bio
    - load_key
    - BIO_free_all
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_append_signature(GBytes *input_sig, const gchar *certfile,
      const gchar *keyfile, gchar **interfiles, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:788,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:791,1
    - Dst: g_string_sized_new
      Src: /src/rauc/src/signature.c:791,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/rauc/src/signature.c:793,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/rauc/src/signature.c:793,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:795,1
    - Dst: g_malloc
      Src: /src/rauc/src/signature.c:800,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/rauc/src/signature.c:802,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/rauc/src/signature.c:802,1
    - Dst: g_assert
      Src: /src/rauc/src/signature.c:804,1
    - Dst: EVP_Digest
      Src: /src/rauc/src/signature.c:808,1
    - Dst: EVP_sha256
      Src: /src/rauc/src/signature.c:808,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:809,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/signature.c:813,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/signature.c:816,1
    - Dst: g_string_truncate
      Src: /src/rauc/src/signature.c:818,1
    - Dst: g_string_free
      Src: /src/rauc/src/signature.c:820,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/signature.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 821
    functionName: get_pubkey_hash
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_Digest
    - g_assert
    - i2d_X509_PUBKEY
    - g_string_free
    - g_string_truncate
    - g_malloc
    - g_assert_cmpint
    - g_string_append_printf
    - X509_get_X509_PUBKEY
    - g_string_sized_new
    - g_return_val_if_fail
    - g_warning
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * get_pubkey_hash(X509 *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:852,1
    - Dst: BIO_get_mem_data
      Src: /src/rauc/src/signature.c:855,1
    - Dst: g_strndup
      Src: /src/rauc/src/signature.c:856,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: bio_mem_unwrap
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_get_mem_data
    - g_strndup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * bio_mem_unwrap(BIO *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:864,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:866,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:866,1
    - Dst: X509_print_ex
      Src: /src/rauc/src/signature.c:867,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:867,1
    - Dst: bio_mem_unwrap
      Src: /src/rauc/src/signature.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x509_certs
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 870
    functionName: dump_cms
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - X509_print_ex
    - bio_mem_unwrap
    - sk_X509_value
    - BIO_s_mem
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * dump_cms(STACK_OF(X509) *x509_certs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:874,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:875,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:877,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:878,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:878,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:880,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:888,1
    - Dst: CMS_get1_certs
      Src: /src/rauc/src/signature.c:888,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:890,1
    - Dst: dump_cms
      Src: /src/rauc/src/signature.c:898,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - sig
    - error
    argTypes:
    - GBytes*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 903
    functionName: sigdata_to_string
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - dump_cms
    - d2i_CMS_bio
    - g_set_error_literal
    - CMS_get1_certs
    - BIO_free
    - g_return_val_if_fail
    - bytes_as_bio
    - g_set_error
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * sigdata_to_string(GBytes *sig, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/signature.c:907,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:915,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:920,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:924,1
    - Dst: X509_NAME_print_ex
      Src: /src/rauc/src/signature.c:925,1
    - Dst: BIO_puts
      Src: /src/rauc/src/signature.c:926,1
    - Dst: BIO_puts
      Src: /src/rauc/src/signature.c:927,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/rauc/src/signature.c:928,1
    - Dst: BIO_puts
      Src: /src/rauc/src/signature.c:929,1
    - Dst: BIO_puts
      Src: /src/rauc/src/signature.c:930,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - text
    - id
    - algorithm
    - keyid
    - issuer
    - sno
    argTypes:
    - BIO*
    - int
    - gchar*
    - ASN1_OCTET_STRING*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 933
    functionName: bio_print_recipient
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - i2s_ASN1_INTEGER
    - X509_NAME_print_ex
    - BIO_printf
    - g_return_if_fail
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: void bio_print_recipient(BIO *text, int id, gchar* algorithm, ASN1_OCTET_STRING
      *keyid, X509_NAME *issuer, ASN1_INTEGER *sno)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:937,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:938,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:940,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:941,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:941,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:943,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:944,1
    - Dst: STACK_OF
      Src: /src/rauc/src/signature.c:951,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/rauc/src/signature.c:951,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:953,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:953,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:954,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/rauc/src/signature.c:954,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/rauc/src/signature.c:956,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/rauc/src/signature.c:957,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/rauc/src/signature.c:959,1
    - Dst: CMS_RecipientInfo_ktri_get0_signer_id
      Src: /src/rauc/src/signature.c:964,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:965,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/rauc/src/signature.c:969,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:970,1
    - Dst: OBJ_obj2txt
      Src: /src/rauc/src/signature.c:974,1
    - Dst: bio_print_recipient
      Src: /src/rauc/src/signature.c:976,1
    - Dst: STACK_OF
      Src: /src/rauc/src/signature.c:979,1
    - Dst: CMS_RecipientInfo_kari_get0_reks
      Src: /src/rauc/src/signature.c:979,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:981,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/rauc/src/signature.c:985,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:986,1
    - Dst: OBJ_obj2txt
      Src: /src/rauc/src/signature.c:990,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/rauc/src/signature.c:992,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/rauc/src/signature.c:993,1
    - Dst: CMS_RecipientEncryptedKey_get0_id
      Src: /src/rauc/src/signature.c:997,1
    - Dst: bio_print_recipient
      Src: /src/rauc/src/signature.c:999,1
    - Dst: g_warning
      Src: /src/rauc/src/signature.c:1003,1
    - Dst: bio_mem_unwrap
      Src: /src/rauc/src/signature.c:1008,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1010,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:1017,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - sig
    - error
    argTypes:
    - GBytes*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 1019
    functionName: envelopeddata_to_string
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - CMS_RecipientInfo_kari_get0_alg
    - g_set_error_literal
    - sk_CMS_RecipientInfo_num
    - bytes_as_bio
    - BIO_new
    - CMS_RecipientEncryptedKey_get0_id
    - BIO_free
    - sk_CMS_RecipientInfo_value
    - BIO_s_mem
    - g_autoptr
    - OBJ_obj2txt
    - CMS_RecipientInfo_ktri_get0_signer_id
    - sk_CMS_RecipientEncryptedKey_value
    - g_set_error
    - CMS_RecipientInfo_kari_get0_reks
    - g_return_val_if_fail
    - bio_print_recipient
    - d2i_CMS_bio
    - CMS_get0_RecipientInfos
    - sk_CMS_RecipientEncryptedKey_num
    - BIO_printf
    - CMS_RecipientInfo_type
    - CMS_RecipientInfo_ktri_get0_algs
    - bio_mem_unwrap
    - STACK_OF
    - g_warning
    linkageType: ''
    returnType: gchar
    signature: gchar * envelopeddata_to_string(GBytes *sig, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1023,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1023,1
    - Dst: ASN1_TIME_print
      Src: /src/rauc/src/signature.c:1024,1
    - Dst: BIO_get_mem_data
      Src: /src/rauc/src/signature.c:1027,1
    - Dst: g_strndup
      Src: /src/rauc/src/signature.c:1028,1
    - Dst: g_assert
      Src: /src/rauc/src/signature.c:1030,1
    - Dst: BIO_set_close
      Src: /src/rauc/src/signature.c:1030,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - time
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1034
    functionName: get_cert_time
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - g_strndup
    - ASN1_TIME_print
    - g_assert
    - BIO_set_close
    - BIO_free
    - BIO_get_mem_data
    - BIO_s_mem
    linkageType: ''
    returnType: gchar
    signature: gchar * get_cert_time(const ASN1_TIME *time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1069,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1070,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1072,1
    - Dst: CMS_get0_signers
      Src: /src/rauc/src/signature.c:1072,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1074,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/signature.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cms
    - error
    argTypes:
    - CMS_ContentInfo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: cms_get_signer_certs
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - CMS_get0_signers
    - g_set_error_literal
    - g_return_val_if_fail
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *cms_get_signer_certs(CMS_ContentInfo *cms, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1089,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1090,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1092,1
    - Dst: cms_get_signer_certs
      Src: /src/rauc/src/signature.c:1092,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1094,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1098,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1098,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:1099,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:1100,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:1102,1
    - Dst: X509_NAME_print_ex
      Src: /src/rauc/src/signature.c:1103,1
    - Dst: X509_get_subject_name
      Src: /src/rauc/src/signature.c:1103,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:1103,1
    - Dst: BIO_printf
      Src: /src/rauc/src/signature.c:1105,1
    - Dst: bio_mem_unwrap
      Src: /src/rauc/src/signature.c:1107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cms
    - error
    argTypes:
    - CMS_ContentInfo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1108
    functionName: cms_get_signers_string
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - sk_X509_num
    - X509_NAME_print_ex
    - cms_get_signer_certs
    - BIO_printf
    - bio_mem_unwrap
    - X509_get_subject_name
    - g_propagate_error
    - sk_X509_value
    - g_return_val_if_fail
    - BIO_s_mem
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *cms_get_signers_string(CMS_ContentInfo *cms, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1114,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1115,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:1117,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1124,1
    - Dst: cms_get_signer_certs
      Src: /src/rauc/src/signature.c:1124,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1126,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:1130,1
    - Dst: X509_get_subject_name
      Src: /src/rauc/src/signature.c:1131,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:1131,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/rauc/src/signature.c:1132,1
    - Dst: X509_NAME_get_entry
      Src: /src/rauc/src/signature.c:1137,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/rauc/src/signature.c:1138,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/rauc/src/signature.c:1139,1
    - Dst: ASN1_STRING_length
      Src: /src/rauc/src/signature.c:1140,1
    - Dst: memchr
      Src: /src/rauc/src/signature.c:1145,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1146,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/signature.c:1154,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - cms
    - error
    argTypes:
    - CMS_ContentInfo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1165
    functionName: cms_check_signer_cns
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - ASN1_STRING_get0_data
    - g_set_error_literal
    - r_context
    - X509_NAME_get_index_by_NID
    - ASN1_STRING_length
    - g_strv_contains
    - cms_get_signer_certs
    - X509_NAME_get_entry
    - memchr
    - X509_get_subject_name
    - g_propagate_error
    - sk_X509_value
    - X509_NAME_ENTRY_get_data
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_check_signer_cns(CMS_ContentInfo *cms, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/src/signature.c:1235,1
    - Dst: g_str_equal
      Src: /src/rauc/src/signature.c:1238,1
    - Dst: strstr
      Src: /src/rauc/src/signature.c:1238,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1241,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1241,1
    - Dst: CMS_ContentInfo_print_ctx
      Src: /src/rauc/src/signature.c:1242,1
    - Dst: BIO_get_mem_data
      Src: /src/rauc/src/signature.c:1245,1
    - Dst: g_log
      Src: /src/rauc/src/signature.c:1248,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1251
    functionName: debug_cms_ci
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - g_log
    - BIO_free_all
    - strstr
    - g_str_equal
    - CMS_ContentInfo_print_ctx
    - BIO_get_mem_data
    - BIO_s_mem
    - g_getenv
    linkageType: ''
    returnType: void
    signature: void debug_cms_ci(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1257,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1258,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1259,1
    - Dst: g_assert
      Src: /src/rauc/src/signature.c:1261,1
    - Dst: g_bytes_get_size
      Src: /src/rauc/src/signature.c:1261,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1263,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1265,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:1266,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1267,1
    - Dst: CMS_is_detached
      Src: /src/rauc/src/signature.c:1275,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:1280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sig
    - detached
    - error
    argTypes:
    - GBytes*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1282
    functionName: cms_is_detached
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 4
    functionsReached:
    - g_set_error
    - d2i_CMS_bio
    - g_assert
    - BIO_free
    - g_return_val_if_fail
    - bytes_as_bio
    - g_bytes_get_size
    - CMS_is_detached
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_is_detached(GBytes *sig, gboolean *detached, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1288,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1290,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1292,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:1293,1
    - Dst: OBJ_obj2nid
      Src: /src/rauc/src/signature.c:1296,1
    - Dst: CMS_get0_type
      Src: /src/rauc/src/signature.c:1296,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cms_data
    argTypes:
    - GBytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1301
    functionName: cms_is_envelopeddata
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - d2i_CMS_bio
    - BIO_free
    - OBJ_obj2nid
    - CMS_get0_type
    - bytes_as_bio
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_is_envelopeddata(GBytes *cms_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1305,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1306,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1311,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1312,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1313,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:1315,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1316,1
    - Dst: CMS_get0_content
      Src: /src/rauc/src/signature.c:1324,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1326,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1334,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/rauc/src/signature.c:1341,1
    - Dst: ASN1_STRING_length
      Src: /src/rauc/src/signature.c:1341,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1342,1
    - Dst: g_bytes_new
      Src: /src/rauc/src/signature.c:1350,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/rauc/src/signature.c:1350,1
    - Dst: ASN1_STRING_length
      Src: /src/rauc/src/signature.c:1350,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1352,1
    - Dst: BIO_free
      Src: /src/rauc/src/signature.c:1364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - sig
    - manifest
    - error
    argTypes:
    - GBytes*
    - GBytes**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1366
    functionName: cms_get_unverified_manifest
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - d2i_CMS_bio
    - g_set_error_literal
    - ASN1_STRING_length
    - g_bytes_new
    - BIO_free
    - bytes_as_bio
    - g_autoptr
    - g_set_error
    - CMS_get0_content
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_get_unverified_manifest(GBytes *sig, GBytes **manifest,
      GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1370,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1371,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1372,1
    - Dst: STACK_OF
      Src: /src/rauc/src/signature.c:1375,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/rauc/src/signature.c:1375,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1377,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/rauc/src/signature.c:1384,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1385,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/rauc/src/signature.c:1393,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/rauc/src/signature.c:1394,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1396,1
    - Dst: CMS_signed_get_attr
      Src: /src/rauc/src/signature.c:1404,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/rauc/src/signature.c:1404,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1406,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/rauc/src/signature.c:1414,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1416,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1430,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/rauc/src/signature.c:1440,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1441,1
    - Dst: timegm
      Src: /src/rauc/src/signature.c:1449,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - cms
    - signingtime
    - error
    argTypes:
    - CMS_ContentInfo*
    - time_t*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1461
    functionName: cms_get_signingtime
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - CMS_signed_get_attr
    - timegm
    - sk_CMS_SignerInfo_num
    - sk_CMS_SignerInfo_value
    - CMS_signed_get_attr_by_NID
    - CMS_get0_SignerInfos
    - X509_ATTRIBUTE_get0_type
    - ASN1_TIME_to_tm
    - g_set_error
    - STACK_OF
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_get_signingtime(CMS_ContentInfo *cms, time_t *signingtime,
      GError **error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1466,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1468,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1469,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1469,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1476,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1477,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1478,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1479,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1480,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/signature.c:1482,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:1484,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1485,1
    - Dst: OBJ_obj2nid
      Src: /src/rauc/src/signature.c:1494,1
    - Dst: CMS_get0_type
      Src: /src/rauc/src/signature.c:1494,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1495,1
    - Dst: OBJ_nid2sn
      Src: /src/rauc/src/signature.c:1500,1
    - Dst: OBJ_nid2sn
      Src: /src/rauc/src/signature.c:1501,1
    - Dst: OBJ_obj2nid
      Src: /src/rauc/src/signature.c:1501,1
    - Dst: CMS_get0_type
      Src: /src/rauc/src/signature.c:1501,1
    - Dst: debug_cms_ci
      Src: /src/rauc/src/signature.c:1505,1
    - Dst: CMS_is_detached
      Src: /src/rauc/src/signature.c:1507,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1511,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1520,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1527,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1531,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1540,1
    - Dst: r_context
      Src: /src/rauc/src/signature.c:1550,1
    - Dst: cms_get_signingtime
      Src: /src/rauc/src/signature.c:1552,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1553,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1557,1
    - Dst: g_date_time_new_from_unix_utc
      Src: /src/rauc/src/signature.c:1557,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/signature.c:1558,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:1559,1
    - Dst: X509_STORE_get0_param
      Src: /src/rauc/src/signature.c:1562,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/rauc/src/signature.c:1563,1
    - Dst: CMS_verify
      Src: /src/rauc/src/signature.c:1567,1
    - Dst: CMS_verify
      Src: /src/rauc/src/signature.c:1569,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1571,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:1575,1
    - Dst: cms_check_signer_cns
      Src: /src/rauc/src/signature.c:1579,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1580,1
    - Dst: cms_get_signers_string
      Src: /src/rauc/src/signature.c:1584,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1586,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:1589,1
    - Dst: bytes_from_bio
      Src: /src/rauc/src/signature.c:1592,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1594,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/signature.c:1605,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/signature.c:1609,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1610,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1611,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1612,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/signature.c:1613,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 6
    argNames:
    - content
    - sig
    - store
    - cms
    - manifest
    - error
    argTypes:
    - GBytes*
    - GBytes*
    - X509_STORE*
    - CMS_ContentInfo**
    - GBytes**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1615
    functionName: cms_verify_bytes
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 20
    functionsReached:
    - bytes_from_bio
    - OBJ_nid2sn
    - get_openssl_err_string
    - g_date_time_new_from_unix_utc
    - g_set_error_literal
    - g_date_time_format
    - r_context
    - OBJ_obj2nid
    - bytes_as_bio
    - g_steal_pointer
    - cms_get_signers_string
    - BIO_new
    - ERR_print_errors_fp
    - X509_STORE_get0_param
    - debug_cms_ci
    - CMS_is_detached
    - r_context_end_step
    - BIO_s_mem
    - g_autoptr
    - CMS_verify
    - X509_VERIFY_PARAM_set_time
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - r_context_begin_step
    - d2i_CMS_bio
    - cms_get_signingtime
    - g_message
    - CMS_get0_type
    - cms_check_signer_cns
    - BIO_free_all
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_verify_bytes(GBytes *content, GBytes *sig, X509_STORE
      *store, CMS_ContentInfo **cms, GBytes **manifest, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1621,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1622,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1623,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1624,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1626,1
    - Dst: g_mapped_file_new
      Src: /src/rauc/src/signature.c:1626,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1628,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1631,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/rauc/src/signature.c:1631,1
    - Dst: G_STATIC_ASSERT
      Src: /src/rauc/src/signature.c:1633,1
    - Dst: g_bytes_get_size
      Src: /src/rauc/src/signature.c:1634,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1636,1
    - Dst: cms_sign
      Src: /src/rauc/src/signature.c:1644,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - filename
    - certfile
    - keyfile
    - interfiles
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1617
    functionDepth: 5
    functionLinenumber: 1617
    functionLinenumberEnd: 1651
    functionName: cms_sign_file
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 3
    functionsReached:
    - g_mapped_file_new
    - g_bytes_get_size
    - g_set_error
    - cms_sign
    - g_propagate_error
    - G_STATIC_ASSERT
    - g_return_val_if_fail
    - g_mapped_file_get_bytes
    - g_autoptr
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_sign_file(const gchar *filename, const gchar *certfile,
      const gchar *keyfile, gchar **interfiles, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1657,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1658,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1659,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1660,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1662,1
    - Dst: save_manifest_mem
      Src: /src/rauc/src/signature.c:1663,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1664,1
    - Dst: cms_sign
      Src: /src/rauc/src/signature.c:1672,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - manifest
    - certfile
    - keyfile
    - interfiles
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1653
    functionDepth: 5
    functionLinenumber: 1653
    functionLinenumberEnd: 1679
    functionName: cms_sign_manifest
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - save_manifest_mem
    - g_return_val_if_fail
    - g_propagate_error
    - g_set_error
    - cms_sign
    - g_autoptr
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_sign_manifest(RaucManifest *manifest, const gchar *certfile,
      const gchar *keyfile, gchar **interfiles, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1685,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1686,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1687,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1688,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1689,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1691,1
    - Dst: g_mapped_file_new_from_fd
      Src: /src/rauc/src/signature.c:1691,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1693,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1696,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/rauc/src/signature.c:1696,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1705,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/rauc/src/signature.c:1714,1
    - Dst: g_bytes_unref
      Src: /src/rauc/src/signature.c:1715,1
    - Dst: G_STATIC_ASSERT
      Src: /src/rauc/src/signature.c:1719,1
    - Dst: g_bytes_get_size
      Src: /src/rauc/src/signature.c:1720,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1722,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/src/signature.c:1730,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - fd
    - sig
    - limit
    - store
    - cms
    - error
    argTypes:
    - gint
    - GBytes*
    - goffset
    - X509_STORE*
    - CMS_ContentInfo**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1681
    functionDepth: 3
    functionLinenumber: 1681
    functionLinenumberEnd: 1737
    functionName: cms_verify_fd
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 3
    functionsReached:
    - g_set_error
    - g_bytes_get_size
    - g_mapped_file_new_from_fd
    - g_bytes_new_from_bytes
    - g_bytes_unref
    - cms_verify_bytes
    - g_propagate_error
    - G_STATIC_ASSERT
    - g_return_val_if_fail
    - g_mapped_file_get_bytes
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_verify_fd(gint fd, GBytes *sig, goffset limit, X509_STORE
      *store, CMS_ContentInfo **cms, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1743,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1744,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1745,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1746,1
    - Dst: cms_verify_bytes
      Src: /src/rauc/src/signature.c:1748,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - sig
    - store
    - cms
    - manifest
    - error
    argTypes:
    - GBytes*
    - X509_STORE*
    - CMS_ContentInfo**
    - GBytes**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1739
    functionDepth: 3
    functionLinenumber: 1739
    functionLinenumberEnd: 1755
    functionName: cms_verify_sig
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - g_propagate_error
    - cms_verify_bytes
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean cms_verify_sig(GBytes *sig, X509_STORE *store, CMS_ContentInfo
      **cms, GBytes **manifest, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1761,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1761,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1762,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1763,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1766,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1767,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1768,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1770,1
    - Dst: sk_X509_new_null
      Src: /src/rauc/src/signature.c:1772,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1776,1
    - Dst: load_certs_from_file
      Src: /src/rauc/src/signature.c:1776,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1778,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:1783,1
    - Dst: sk_X509_push
      Src: /src/rauc/src/signature.c:1784,1
    - Dst: sk_X509_value
      Src: /src/rauc/src/signature.c:1784,1
    - Dst: CMS_encrypt
      Src: /src/rauc/src/signature.c:1788,1
    - Dst: EVP_aes_256_cbc
      Src: /src/rauc/src/signature.c:1788,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1790,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:1794,1
    - Dst: i2d_CMS_bio
      Src: /src/rauc/src/signature.c:1797,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1798,1
    - Dst: bytes_from_bio
      Src: /src/rauc/src/signature.c:1806,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1808,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:1816,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:1816,1
    - Dst: sk_X509_num
      Src: /src/rauc/src/signature.c:1816,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/signature.c:1819,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1820,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1821,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - content
    - recipients
    - error
    argTypes:
    - GBytes*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1757
    functionDepth: 2
    functionLinenumber: 1757
    functionLinenumberEnd: 1823
    functionName: cms_encrypt
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - bytes_from_bio
    - get_openssl_err_string
    - g_set_error_literal
    - load_certs_from_file
    - bytes_as_bio
    - BIO_new
    - ERR_print_errors_fp
    - CMS_encrypt
    - BIO_s_mem
    - g_autoptr
    - sk_X509_push
    - EVP_aes_256_cbc
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - i2d_CMS_bio
    - g_message
    - sk_X509_num
    - sk_X509_value
    - BIO_free_all
    - sk_X509_new_null
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_encrypt(GBytes *content, gchar **recipients, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1828,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1829,1
    - Dst: g_autoptr
      Src: /src/rauc/src/signature.c:1830,1
    - Dst: BIO_new
      Src: /src/rauc/src/signature.c:1831,1
    - Dst: BIO_s_mem
      Src: /src/rauc/src/signature.c:1831,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1835,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1836,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/signature.c:1837,1
    - Dst: bytes_as_bio
      Src: /src/rauc/src/signature.c:1839,1
    - Dst: load_cert
      Src: /src/rauc/src/signature.c:1842,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1844,1
    - Dst: load_key
      Src: /src/rauc/src/signature.c:1850,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/signature.c:1852,1
    - Dst: g_message
      Src: /src/rauc/src/signature.c:1857,1
    - Dst: d2i_CMS_bio
      Src: /src/rauc/src/signature.c:1859,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1860,1
    - Dst: OBJ_obj2nid
      Src: /src/rauc/src/signature.c:1870,1
    - Dst: CMS_get0_type
      Src: /src/rauc/src/signature.c:1870,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1871,1
    - Dst: OBJ_nid2sn
      Src: /src/rauc/src/signature.c:1876,1
    - Dst: OBJ_nid2sn
      Src: /src/rauc/src/signature.c:1877,1
    - Dst: OBJ_obj2nid
      Src: /src/rauc/src/signature.c:1877,1
    - Dst: CMS_get0_type
      Src: /src/rauc/src/signature.c:1877,1
    - Dst: CMS_decrypt
      Src: /src/rauc/src/signature.c:1882,1
    - Dst: g_set_error
      Src: /src/rauc/src/signature.c:1884,1
    - Dst: get_openssl_err_string
      Src: /src/rauc/src/signature.c:1888,1
    - Dst: bytes_from_bio
      Src: /src/rauc/src/signature.c:1892,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/signature.c:1894,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/signature.c:1902,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1903,1
    - Dst: BIO_free_all
      Src: /src/rauc/src/signature.c:1904,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - content
    - certfile
    - keyfile
    - error
    argTypes:
    - GBytes*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1825
    functionDepth: 4
    functionLinenumber: 1825
    functionLinenumberEnd: 1906
    functionName: cms_decrypt
    functionSourceFile: /src/rauc/src/signature.c
    functionUses: 0
    functionsReached:
    - bytes_from_bio
    - OBJ_nid2sn
    - get_openssl_err_string
    - g_set_error_literal
    - OBJ_obj2nid
    - bytes_as_bio
    - BIO_new
    - ERR_print_errors_fp
    - BIO_s_mem
    - g_autoptr
    - CMS_decrypt
    - load_cert
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - d2i_CMS_bio
    - load_key
    - g_message
    - CMS_get0_type
    - BIO_free_all
    linkageType: ''
    returnType: GBytes
    signature: GBytes *cms_decrypt(GBytes *content, const gchar *certfile, const gchar
      *keyfile, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fdisk_ask_get_type
      Src: /src/rauc/src/gpt.c:14,1
    - Dst: g_info
      Src: /src/rauc/src/gpt.c:16,1
    - Dst: fdisk_ask_print_get_mesg
      Src: /src/rauc/src/gpt.c:16,1
    - Dst: g_warning
      Src: /src/rauc/src/gpt.c:19,1
    - Dst: fdisk_ask_print_get_mesg
      Src: /src/rauc/src/gpt.c:19,1
    - Dst: g_warning
      Src: /src/rauc/src/gpt.c:22,1
    - Dst: fdisk_ask_print_get_mesg
      Src: /src/rauc/src/gpt.c:22,1
    - Dst: strerror
      Src: /src/rauc/src/gpt.c:22,1
    - Dst: fdisk_ask_print_get_errno
      Src: /src/rauc/src/gpt.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - cxt
    - ask
    - data
    argTypes:
    - struct fdisk_context*
    - struct fdisk_ask*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 28
    functionName: ask_cb
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - fdisk_ask_print_get_errno
    - fdisk_ask_print_get_mesg
    - strerror
    - g_info
    - g_warning
    - fdisk_ask_get_type
    linkageType: ''
    returnType: int
    signature: int ask_cb(struct fdisk_context *cxt, struct fdisk_ask *ask, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdisk_init_debug
      Src: /src/rauc/src/gpt.c:34,1
    - Dst: fdisk_new_context
      Src: /src/rauc/src/gpt.c:36,1
    - Dst: g_error
      Src: /src/rauc/src/gpt.c:38,1
    - Dst: fdisk_disable_dialogs
      Src: /src/rauc/src/gpt.c:40,1
    - Dst: fdisk_set_ask
      Src: /src/rauc/src/gpt.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: get_context
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - fdisk_init_debug
    - fdisk_new_context
    - fdisk_disable_dialogs
    - g_error
    - fdisk_set_ask
    linkageType: ''
    returnType: struct fdisk_context
    signature: struct fdisk_context *get_context(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:51,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:52,1
    - Dst: fdisk_get_grain_size
      Src: /src/rauc/src/gpt.c:54,1
    - Dst: fdisk_get_sector_size
      Src: /src/rauc/src/gpt.c:55,1
    - Dst: g_error
      Src: /src/rauc/src/gpt.c:58,1
    - Dst: fdisk_get_collision
      Src: /src/rauc/src/gpt.c:60,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:61,1
    - Dst: fdisk_get_collision
      Src: /src/rauc/src/gpt.c:63,1
    - Dst: fdisk_is_labeltype
      Src: /src/rauc/src/gpt.c:66,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:67,1
    - Dst: fdisk_gpt_is_hybrid
      Src: /src/rauc/src/gpt.c:71,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:72,1
    - Dst: fdisk_get_alignment_offset
      Src: /src/rauc/src/gpt.c:76,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:77,1
    - Dst: fdisk_get_alignment_offset
      Src: /src/rauc/src/gpt.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - cxt
    - error
    argTypes:
    - struct fdisk_context*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: check_gpt
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - fdisk_get_grain_size
    - fdisk_get_sector_size
    - fdisk_is_labeltype
    - g_error
    - fdisk_get_alignment_offset
    - fdisk_gpt_is_hybrid
    - g_set_error
    - fdisk_get_collision
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean check_gpt(struct fdisk_context *cxt,\n\t\tGError **error)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:98,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:99,1
    - Dst: fdisk_get_grain_size
      Src: /src/rauc/src/gpt.c:101,1
    - Dst: fdisk_get_sector_size
      Src: /src/rauc/src/gpt.c:102,1
    - Dst: fdisk_get_nsectors
      Src: /src/rauc/src/gpt.c:103,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:106,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:112,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:119,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:126,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:132,1
    - Dst: fdisk_get_partitions
      Src: /src/rauc/src/gpt.c:140,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:141,1
    - Dst: fdisk_new_iter
      Src: /src/rauc/src/gpt.c:146,1
    - Dst: g_error
      Src: /src/rauc/src/gpt.c:148,1
    - Dst: fdisk_table_next_partition
      Src: /src/rauc/src/gpt.c:149,1
    - Dst: fdisk_partition_has_start
      Src: /src/rauc/src/gpt.c:151,1
    - Dst: fdisk_partition_has_end
      Src: /src/rauc/src/gpt.c:152,1
    - Dst: fdisk_partition_has_partno
      Src: /src/rauc/src/gpt.c:153,1
    - Dst: g_error
      Src: /src/rauc/src/gpt.c:154,1
    - Dst: fdisk_partition_get_partno
      Src: /src/rauc/src/gpt.c:157,1
    - Dst: fdisk_partition_get_start
      Src: /src/rauc/src/gpt.c:162,1
    - Dst: fdisk_partition_get_end
      Src: /src/rauc/src/gpt.c:163,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:166,1
    - Dst: zd
      Src: /src/rauc/src/gpt.c:168,1
    - Dst: fdisk_partition_get_partno
      Src: /src/rauc/src/gpt.c:170,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:177,1
    - Dst: fdisk_free_iter
      Src: /src/rauc/src/gpt.c:186,1
    - Dst: fdisk_unref_table
      Src: /src/rauc/src/gpt.c:187,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 4
    argNames:
    - cxt
    - region_start
    - region_size
    - error
    argTypes:
    - struct fdisk_context*
    - guint64
    - guint64
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 191
    functionName: check_region
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - fdisk_get_nsectors
    - fdisk_partition_get_partno
    - fdisk_partition_has_start
    - fdisk_get_grain_size
    - fdisk_table_next_partition
    - zd
    - fdisk_unref_table
    - fdisk_get_sector_size
    - fdisk_partition_get_end
    - fdisk_free_iter
    - fdisk_new_iter
    - g_error
    - fdisk_partition_has_partno
    - g_set_error
    - fdisk_partition_has_end
    - fdisk_partition_get_start
    - fdisk_get_partitions
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean check_region(struct fdisk_context *cxt,\n\t\tguint64 region_start,
      guint64 region_size,\n\t\tGError **error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:204,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:205,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:206,1
    - Dst: get_context
      Src: /src/rauc/src/gpt.c:208,1
    - Dst: fdisk_assign_device
      Src: /src/rauc/src/gpt.c:210,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:211,1
    - Dst: check_gpt
      Src: /src/rauc/src/gpt.c:216,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/gpt.c:217,1
    - Dst: check_region
      Src: /src/rauc/src/gpt.c:221,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/gpt.c:222,1
    - Dst: fdisk_get_partition
      Src: /src/rauc/src/gpt.c:226,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:227,1
    - Dst: fdisk_get_sector_size
      Src: /src/rauc/src/gpt.c:233,1
    - Dst: fdisk_partition_get_start
      Src: /src/rauc/src/gpt.c:235,1
    - Dst: fdisk_partition_get_start
      Src: /src/rauc/src/gpt.c:238,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:241,1
    - Dst: fdisk_unref_partition
      Src: /src/rauc/src/gpt.c:251,1
    - Dst: fdisk_deassign_device
      Src: /src/rauc/src/gpt.c:253,1
    - Dst: fdisk_unref_context
      Src: /src/rauc/src/gpt.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - device
    - partition
    - region_start
    - region_size
    - error
    argTypes:
    - gchar*
    - struct boot_switch_partition*
    - guint64
    - guint64
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 258
    functionName: r_gpt_switch_get_inactive_partition
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - check_region
    - fdisk_assign_device
    - fdisk_unref_context
    - fdisk_get_sector_size
    - fdisk_deassign_device
    - get_context
    - g_return_val_if_fail
    - fdisk_unref_partition
    - g_propagate_error
    - fdisk_get_partition
    - g_set_error
    - fdisk_partition_get_start
    - check_gpt
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_gpt_switch_get_inactive_partition(const gchar *device,\n\t\tstruct
      boot_switch_partition *partition,\n\t\tguint64 region_start, guint64 region_size,\n\t\tGError
      **error)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:271,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:272,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/gpt.c:273,1
    - Dst: get_context
      Src: /src/rauc/src/gpt.c:275,1
    - Dst: fdisk_assign_device
      Src: /src/rauc/src/gpt.c:277,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:278,1
    - Dst: check_gpt
      Src: /src/rauc/src/gpt.c:283,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/gpt.c:284,1
    - Dst: fdisk_get_label
      Src: /src/rauc/src/gpt.c:288,1
    - Dst: g_error
      Src: /src/rauc/src/gpt.c:290,1
    - Dst: fdisk_label_is_changed
      Src: /src/rauc/src/gpt.c:294,1
    - Dst: g_message
      Src: /src/rauc/src/gpt.c:295,1
    - Dst: fdisk_write_disklabel
      Src: /src/rauc/src/gpt.c:296,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:297,1
    - Dst: g_message
      Src: /src/rauc/src/gpt.c:301,1
    - Dst: fdisk_verify_disklabel
      Src: /src/rauc/src/gpt.c:303,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:304,1
    - Dst: fdisk_get_partition
      Src: /src/rauc/src/gpt.c:309,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:310,1
    - Dst: fdisk_get_sector_size
      Src: /src/rauc/src/gpt.c:316,1
    - Dst: fdisk_reset_partition
      Src: /src/rauc/src/gpt.c:317,1
    - Dst: fdisk_partition_set_start
      Src: /src/rauc/src/gpt.c:318,1
    - Dst: fdisk_partition_set_size
      Src: /src/rauc/src/gpt.c:319,1
    - Dst: fdisk_set_partition
      Src: /src/rauc/src/gpt.c:321,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:322,1
    - Dst: fdisk_verify_disklabel
      Src: /src/rauc/src/gpt.c:327,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:328,1
    - Dst: fdisk_write_disklabel
      Src: /src/rauc/src/gpt.c:334,1
    - Dst: g_set_error
      Src: /src/rauc/src/gpt.c:335,1
    - Dst: fdisk_unref_partition
      Src: /src/rauc/src/gpt.c:343,1
    - Dst: fdisk_deassign_device
      Src: /src/rauc/src/gpt.c:345,1
    - Dst: fdisk_unref_context
      Src: /src/rauc/src/gpt.c:347,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 3
    argNames:
    - device
    - partition
    - error
    argTypes:
    - gchar*
    - struct boot_switch_partition*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 350
    functionName: r_gpt_switch_set_boot_partition
    functionSourceFile: /src/rauc/src/gpt.c
    functionUses: 0
    functionsReached:
    - fdisk_label_is_changed
    - fdisk_assign_device
    - fdisk_reset_partition
    - fdisk_set_partition
    - check_gpt
    - fdisk_unref_context
    - fdisk_deassign_device
    - fdisk_partition_set_start
    - get_context
    - g_error
    - fdisk_unref_partition
    - fdisk_write_disklabel
    - g_propagate_error
    - fdisk_get_partition
    - g_set_error
    - g_return_val_if_fail
    - fdisk_get_sector_size
    - fdisk_verify_disklabel
    - g_message
    - fdisk_get_label
    - fdisk_partition_set_size
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_gpt_switch_set_boot_partition(const gchar *device,\n\t\tconst
      struct boot_switch_partition *partition,\n\t\tGError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/bundle.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: r_bundle_error_quark
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_bundle_error_quark(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:113,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:113,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:115,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:116,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:117,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:119,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:121,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:122,1
    - Dst: r_fakeroot_add_args
      Src: /src/rauc/src/bundle.c:126,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:128,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:128,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:129,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:129,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:130,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:130,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:131,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:131,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:132,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:132,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:134,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:134,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:135,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:135,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:137,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:137,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:139,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:140,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/bundle.c:141,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:141,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:143,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/bundle.c:149,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:151,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:153,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:155,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - bundlename
    - contentdir
    - keep_metadata
    - fakeroot
    - error
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 166
    functionName: mksquashfs
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_shell_parse_argv
    - r_ptr_array_addv
    - g_file_test
    - g_auto
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - r_context
    - g_ptr_array_new_full
    - r_subprocess_runv
    - r_fakeroot_add_args
    - g_autoptr
    - g_set_error
    - r_context_end_step
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean mksquashfs(const gchar *bundlename, const gchar *contentdir,
      gboolean keep_metadata, const gchar *fakeroot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:172,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:172,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:174,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:175,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:177,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:179,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:179,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:180,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:180,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:181,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:181,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:182,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:182,1
    - Dst: getpid
      Src: /src/rauc/src/bundle.c:182,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:185,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:185,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:188,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:190,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:192,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - fd
    - contentdir
    - extractfile
    - error
    argTypes:
    - gint
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: unsquashfs
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - getpid
    - r_subprocess_runv
    - g_strdup_printf
    - g_autoptr
    - r_context_end_step
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean unsquashfs(gint fd, const gchar *contentdir, const gchar *extractfile,
      GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/src/bundle.c:207,1
    - Dst: g_getenv
      Src: /src/rauc/src/bundle.c:210,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: check_pseudo_active
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_getenv
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_pseudo_active(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:223,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:223,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:224,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:224,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:228,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:229,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:231,1
    - Dst: casync_make_blob
      Src: /src/rauc/src/bundle.c:234,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/bundle.c:237,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:239,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:247,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:247,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:248,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:248,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:249,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:249,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:250,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:250,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:251,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:251,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:252,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:252,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:253,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:253,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:254,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:254,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:255,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:255,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:256,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:256,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:257,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:257,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:258,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:258,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:260,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:260,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:261,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:261,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:264,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:265,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/bundle.c:266,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:266,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:268,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:275,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/bundle.c:275,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:277,1
    - Dst: check_pseudo_active
      Src: /src/rauc/src/bundle.c:280,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:281,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:281,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:283,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:283,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:284,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:284,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:285,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/bundle.c:285,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:286,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:288,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 4
    argNames:
    - idxpath
    - contentpath
    - store
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 300
    functionName: casync_make_arch
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_shell_parse_argv
    - g_auto
    - g_propagate_prefixed_error
    - check_pseudo_active
    - casync_make_blob
    - g_ptr_array_add
    - r_context
    - g_strdup
    - g_ptr_array_new_full
    - g_dir_make_tmp
    - g_shell_quote
    - r_subprocess_runv
    - g_autoptr
    - g_strjoinv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean casync_make_arch(const gchar *idxpath, const gchar *contentpath,
      const gchar *store, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:306,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:306,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:308,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:309,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:310,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:312,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:316,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:322,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/bundle.c:322,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:326,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/bundle.c:328,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:332,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:335,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:338,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:344,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:344,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:345,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:345,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:346,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:346,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:347,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:347,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:348,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:348,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:349,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:349,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:351,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:351,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:352,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:352,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:353,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:353,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:354,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:354,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:356,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:356,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:357,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:357,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:361,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:362,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/bundle.c:363,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:363,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:365,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/bundle.c:371,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:373,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:375,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 4
    argNames:
    - idxpath
    - contentpath
    - store
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 387
    functionName: casync_make_blob
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 1
    functionsReached:
    - g_shell_parse_argv
    - g_file_test
    - g_ptr_array_add
    - r_context
    - g_build_filename
    - g_steal_pointer
    - g_propagate_prefixed_error
    - g_strdup
    - g_autoptr
    - g_mkdir_with_parents
    - r_ptr_array_addv
    - g_auto
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - g_path_get_dirname
    linkageType: ''
    returnType: gboolean
    signature: gboolean casync_make_blob(const gchar *idxpath, const gchar *contentpath,
      const gchar *store, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:391,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:392,1
    - Dst: g_pattern_match_simple
      Src: /src/rauc/src/bundle.c:394,1
    - Dst: g_pattern_match_simple
      Src: /src/rauc/src/bundle.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - RaucImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: image_is_archive
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_pattern_match_simple
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean image_is_archive(RaucImage* image)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:406,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:407,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:408,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:412,1
    - Dst: g_str_equal
      Src: /src/rauc/src/bundle.c:418,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:420,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:421,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:422,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:423,1
    - Dst: image_is_archive
      Src: /src/rauc/src/bundle.c:425,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:426,1
    - Dst: g_open
      Src: /src/rauc/src/bundle.c:429,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:432,1
    - Dst: g_io_error_from_errno
      Src: /src/rauc/src/bundle.c:435,1
    - Dst: r_hash_index_open
      Src: /src/rauc/src/bundle.c:440,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:442,1
    - Dst: r_hash_index_export
      Src: /src/rauc/src/bundle.c:449,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:450,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:457,1
    - Dst: g_str_equal
      Src: /src/rauc/src/bundle.c:458,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:459,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - manifest
    - dir
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 472
    functionName: generate_adaptive_data
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - r_hash_index_open
    - g_auto
    - r_hash_index_export
    - g_propagate_prefixed_error
    - image_is_archive
    - g_str_equal
    - g_open
    - g_return_val_if_fail
    - g_debug
    - g_io_error_from_errno
    - g_build_filename
    - g_warning
    - g_strconcat
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean generate_adaptive_data(RaucManifest *manifest, const gchar
      *dir, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:478,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:479,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:480,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:482,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:483,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:484,1
    - Dst: g_mkdir
      Src: /src/rauc/src/bundle.c:486,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:488,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:488,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:489,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:493,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:493,1
    - Dst: r_fakeroot_add_args
      Src: /src/rauc/src/bundle.c:494,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:496,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:496,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:497,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:497,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:499,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:499,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:500,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:500,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:501,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:501,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:502,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:502,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:503,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:505,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:506,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - image
    - dir
    - fakeroot
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 511
    functionName: convert_tar_extract
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_mkdir
    - g_file_error_from_errno
    - g_build_filename
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - r_fakeroot_add_args
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *convert_tar_extract(RaucImage *image, const gchar *dir, const
      gchar *fakeroot, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:518,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:519,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:520,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:521,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:523,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:524,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:525,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:526,1
    - Dst: g_mkdir
      Src: /src/rauc/src/bundle.c:531,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:533,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:533,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:534,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/bundle.c:538,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:540,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:540,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:541,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:545,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bundle.c:545,1
    - Dst: r_fakeroot_add_args
      Src: /src/rauc/src/bundle.c:546,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:548,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:548,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:549,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:549,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:551,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:551,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:552,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:552,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:553,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:553,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:554,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/bundle.c:556,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:557,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - image
    - dir
    - tar_extracted_path
    - fakeroot
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 562
    functionName: convert_composefs
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_mkdir_with_parents
    - g_strerror
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_mkdir
    - g_file_error_from_errno
    - g_build_filename
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - r_fakeroot_add_args
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *convert_composefs(RaucImage *image, const gchar *dir, const
      gchar *tar_extracted_path, const gchar *fakeroot, GError **error)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:569,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:570,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:571,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:577,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:591,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:592,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:593,1
    - Dst: convert_tar_extract
      Src: /src/rauc/src/bundle.c:594,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:596,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:599,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:603,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/bundle.c:603,1
    - Dst: g_str_equal
      Src: /src/rauc/src/bundle.c:606,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:607,1
    - Dst: g_str_equal
      Src: /src/rauc/src/bundle.c:608,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:610,1
    - Dst: convert_composefs
      Src: /src/rauc/src/bundle.c:611,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:613,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:617,1
    - Dst: g_str_equal
      Src: /src/rauc/src/bundle.c:621,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:622,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:624,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:626,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:634,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:635,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:638,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:639,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:640,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:646,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:647,1
    - Dst: g_unlink
      Src: /src/rauc/src/bundle.c:648,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:650,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:650,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:652,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:657,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:658,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - manifest
    - dir
    - fakeroot
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 662
    functionName: convert_images
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_add
    - g_clear_pointer
    - g_build_filename
    - g_unlink
    - g_steal_pointer
    - g_propagate_prefixed_error
    - g_strdup
    - convert_composefs
    - convert_tar_extract
    - g_debug
    - g_ptr_array_new_with_free_func
    - g_autoptr
    - rm_tree
    - g_strv_contains
    - g_assert
    - g_str_equal
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    linkageType: ''
    returnType: gboolean
    signature: gboolean convert_images(RaucManifest *manifest, const gchar *dir, const
      gchar *fakeroot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GUINT64_TO_BE
      Src: /src/rauc/src/bundle.c:671,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/src/bundle.c:672,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - guint64
    - GCancellable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: output_stream_write_uint64_all
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert
    - GUINT64_TO_BE
    - g_output_stream_write_all
    linkageType: ''
    returnType: gboolean
    signature: "gboolean output_stream_write_uint64_all(GOutputStream *stream,\n\t\tguint64
      data,\n\t\tGCancellable *cancellable,\n\t\tGError **error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_input_stream_read_all
      Src: /src/rauc/src/bundle.c:688,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:692,1
    - Dst: GUINT64_FROM_BE
      Src: /src/rauc/src/bundle.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - stream
    - data
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - guint64*
    - GCancellable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 695
    functionName: input_stream_read_uint64_all
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_input_stream_read_all
    - g_assert
    - GUINT64_FROM_BE
    linkageType: ''
    returnType: gboolean
    signature: "gboolean input_stream_read_uint64_all(GInputStream *stream,\n\t\tguint64
      *data,\n\t\tGCancellable *cancellable,\n\t\tGError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/bundle.c:705,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/src/bundle.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - stream
    - bytes
    - cancellable
    - error
    argTypes:
    - GOutputStream*
    - GBytes*
    - GCancellable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: output_stream_write_bytes_all
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_bytes_get_data
    - g_output_stream_write_all
    linkageType: ''
    returnType: gboolean
    signature: "gboolean output_stream_write_bytes_all(GOutputStream *stream,\n\t\tGBytes
      *bytes,\n\t\tGCancellable *cancellable,\n\t\tGError **error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/bundle.c:718,1
    - Dst: g_malloc0
      Src: /src/rauc/src/bundle.c:720,1
    - Dst: g_input_stream_read_all
      Src: /src/rauc/src/bundle.c:722,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:727,1
    - Dst: g_bytes_new_take
      Src: /src/rauc/src/bundle.c:728,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - stream
    - bytes
    - count
    - cancellable
    - error
    argTypes:
    - GInputStream*
    - GBytes**
    - gsize
    - GCancellable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: input_stream_read_bytes_all
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_assert
    - g_bytes_new_take
    - g_assert_cmpint
    - g_malloc0
    - g_input_stream_read_all
    - g_steal_pointer
    linkageType: ''
    returnType: gboolean
    signature: "gboolean input_stream_read_bytes_all(GInputStream *stream,\n\t\tGBytes
      **bytes,\n\t\tgsize count,\n\t\tGCancellable *cancellable,\n\t\tGError **error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:736,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:737,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:738,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:740,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:740,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:741,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/src/bundle.c:741,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:743,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/rauc/src/bundle.c:751,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/src/bundle.c:751,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:752,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:752,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:755,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:756,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:757,1
    - Dst: g_seekable_seek
      Src: /src/rauc/src/bundle.c:759,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:759,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:761,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/bundle.c:768,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:768,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:769,1
    - Dst: RAND_bytes
      Src: /src/rauc/src/bundle.c:772,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:773,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:780,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:787,1
    - Dst: r_verity_hash_create
      Src: /src/rauc/src/bundle.c:796,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:797,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:804,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:806,1
    - Dst: r_hex_encode
      Src: /src/rauc/src/bundle.c:808,1
    - Dst: r_hex_encode
      Src: /src/rauc/src/bundle.c:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - bundlename
    - manifest
    - error
    argTypes:
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 813
    functionName: create_verity
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - r_verity_hash_create
    - g_file_descriptor_based_get_fd
    - G_FILE_DESCRIPTOR_BASED
    - g_io_stream_get_output_stream
    - g_propagate_prefixed_error
    - g_seekable_tell
    - RAND_bytes
    - g_assert
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_debug
    - g_file_new_for_path
    - r_hex_encode
    - g_return_val_if_fail
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean create_verity(const gchar *bundlename, RaucManifest *manifest,
      GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:819,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:820,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:821,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:823,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:823,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:824,1
    - Dst: g_file_open_readwrite
      Src: /src/rauc/src/bundle.c:824,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:826,1
    - Dst: g_io_stream_get_output_stream
      Src: /src/rauc/src/bundle.c:834,1
    - Dst: G_IO_STREAM
      Src: /src/rauc/src/bundle.c:834,1
    - Dst: g_seekable_seek
      Src: /src/rauc/src/bundle.c:836,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:836,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:838,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/bundle.c:845,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:845,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:846,1
    - Dst: output_stream_write_bytes_all
      Src: /src/rauc/src/bundle.c:847,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:848,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/bundle.c:855,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:855,1
    - Dst: g_format_size_full
      Src: /src/rauc/src/bundle.c:857,1
    - Dst: g_format_size_full
      Src: /src/rauc/src/bundle.c:858,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:859,1
    - Dst: output_stream_write_uint64_all
      Src: /src/rauc/src/bundle.c:861,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:862,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/bundle.c:869,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:869,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - bundlename
    - sig
    - error
    argTypes:
    - gchar*
    - GBytes*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 873
    functionName: append_signature_to_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - output_stream_write_bytes_all
    - g_io_stream_get_output_stream
    - g_propagate_prefixed_error
    - output_stream_write_uint64_all
    - g_seekable_tell
    - g_file_open_readwrite
    - G_IO_STREAM
    - g_debug
    - g_format_size_full
    - g_message
    - g_file_new_for_path
    - g_return_val_if_fail
    - g_seekable_seek
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean append_signature_to_bundle(const gchar *bundlename, GBytes
      *sig, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:879,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:880,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:882,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:882,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:883,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:883,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:885,1
    - Dst: cms_append_signature
      Src: /src/rauc/src/bundle.c:885,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:886,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:887,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:888,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:891,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - input_sig
    - error
    argTypes:
    - GBytes*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 875
    functionDepth: 5
    functionLinenumber: 875
    functionLinenumberEnd: 896
    functionName: append_signature
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 4
    functionsReached:
    - cms_append_signature
    - r_context
    - g_assert_nonnull
    - g_propagate_error
    - g_return_val_if_fail
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: GBytes
    signature: GBytes *append_signature(GBytes *input_sig, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:902,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:903,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:904,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:906,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:906,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:907,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:907,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:909,1
    - Dst: check_manifest_internal
      Src: /src/rauc/src/bundle.c:911,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:912,1
    - Dst: cms_sign_file
      Src: /src/rauc/src/bundle.c:919,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:920,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:921,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:922,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:925,1
    - Dst: check_manifest_external
      Src: /src/rauc/src/bundle.c:932,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:933,1
    - Dst: cms_sign_manifest
      Src: /src/rauc/src/bundle.c:940,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:941,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:942,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:943,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:946,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:953,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - bundlename
    - manifest
    - error
    argTypes:
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 898
    functionDepth: 6
    functionLinenumber: 898
    functionLinenumberEnd: 958
    functionName: generate_bundle_signature
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_context
    - cms_sign_file
    - g_error
    - cms_sign_manifest
    - g_steal_pointer
    - g_assert_nonnull
    - g_return_val_if_fail
    - check_manifest_external
    - check_manifest_internal
    - g_autoptr
    linkageType: ''
    returnType: GBytes
    signature: GBytes *generate_bundle_signature(const gchar *bundlename, RaucManifest
      *manifest, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:964,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:965,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:966,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:968,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:968,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:969,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:969,1
    - Dst: create_verity
      Src: /src/rauc/src/bundle.c:972,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:973,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:978,1
    - Dst: generate_bundle_signature
      Src: /src/rauc/src/bundle.c:978,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:980,1
    - Dst: append_signature_to_bundle
      Src: /src/rauc/src/bundle.c:984,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:985,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - bundlename
    - manifest
    - error
    argTypes:
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 960
    functionDepth: 7
    functionLinenumber: 960
    functionLinenumberEnd: 990
    functionName: sign_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 2
    functionsReached:
    - generate_bundle_signature
    - r_context
    - append_signature_to_bundle
    - g_assert_nonnull
    - g_propagate_error
    - g_autoptr
    - create_verity
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean sign_bundle(const gchar *bundlename, RaucManifest *manifest,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/rauc/src/bundle.c:996,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:997,1
    - Dst: r_hex_encode
      Src: /src/rauc/src/bundle.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1000
    functionName: get_random_file_name
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - r_hex_encode
    - g_error
    - RAND_bytes
    linkageType: ''
    returnType: gchar
    signature: gchar * get_random_file_name(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1006,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1007,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1008,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:1010,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/bundle.c:1012,1
    - Dst: get_random_file_name
      Src: /src/rauc/src/bundle.c:1013,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:1014,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1014,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:1017,1
    - Dst: RAND_bytes
      Src: /src/rauc/src/bundle.c:1020,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1021,1
    - Dst: r_crypt_encrypt
      Src: /src/rauc/src/bundle.c:1028,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1029,1
    - Dst: r_hex_encode
      Src: /src/rauc/src/bundle.c:1033,1
    - Dst: g_rename
      Src: /src/rauc/src/bundle.c:1038,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1040,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1042,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1043,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - bundlepath
    - manifest
    - error
    argTypes:
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1049
    functionName: encrypt_bundle_payload
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_strerror
    - g_auto
    - get_random_file_name
    - g_path_get_dirname
    - g_assert
    - g_rename
    - r_crypt_encrypt
    - g_clear_pointer
    - g_message
    - g_file_error_from_errno
    - g_propagate_error
    - r_hex_encode
    - g_build_filename
    - RAND_bytes
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean encrypt_bundle_payload(const gchar *bundlepath, RaucManifest
      *manifest, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1058,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1060,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1061,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1062,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/bundle.c:1064,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1066,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:1070,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:1073,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/bundle.c:1077,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:1078,1
    - Dst: r_crypt_decrypt
      Src: /src/rauc/src/bundle.c:1080,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1082,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:1086,1
    - Dst: g_object_unref
      Src: /src/rauc/src/bundle.c:1089,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:1090,1
    - Dst: G_INPUT_STREAM
      Src: /src/rauc/src/bundle.c:1091,1
    - Dst: g_file_read
      Src: /src/rauc/src/bundle.c:1091,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1097,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:1098,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:1099,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1104
    functionName: decrypt_bundle_payload
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - r_crypt_decrypt
    - r_hex_decode
    - G_INPUT_STREAM
    - g_propagate_prefixed_error
    - rm_tree
    - g_object_unref
    - g_assert
    - g_file_read
    - g_dir_make_tmp
    - g_message
    - g_file_new_for_path
    - g_propagate_error
    - g_autoptr
    - g_warning
    - g_strconcat
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean decrypt_bundle_payload(RaucBundle *bundle, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/rauc/src/bundle.c:1109,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1114,1
    - Dst: g_file_read_link
      Src: /src/rauc/src/bundle.c:1115,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1117,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/bundle.c:1122,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1123,1
    - Dst: strchr
      Src: /src/rauc/src/bundle.c:1128,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1129,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1141,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/bundle.c:1142,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1143,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1151,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - path
    - top_level
    - error
    argTypes:
    - gchar*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1158
    functionName: check_workdir_content
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_str_has_prefix
    - g_path_get_basename
    - g_propagate_prefixed_error
    - g_file_read_link
    - g_set_error
    - g_path_is_absolute
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_workdir_content(const gchar *path, gboolean top_level,
      GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1164,1
    - Dst: g_dir_open
      Src: /src/rauc/src/bundle.c:1164,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1166,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/bundle.c:1171,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1172,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1175,1
    - Dst: check_workdir_content
      Src: /src/rauc/src/bundle.c:1176,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1177,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1181,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1183,1
    - Dst: g_stat
      Src: /src/rauc/src/bundle.c:1185,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1187,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1187,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1188,1
    - Dst: g_mkdir
      Src: /src/rauc/src/bundle.c:1191,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1193,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1193,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1194,1
    - Dst: link_contentdir_to_workdir
      Src: /src/rauc/src/bundle.c:1198,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1199,1
    - Dst: link
      Src: /src/rauc/src/bundle.c:1206,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1208,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1208,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1209,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - contentdir
    - workdir
    - top_dir
    - error
    argTypes:
    - gchar*
    - gchar*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1215
    functionName: link_contentdir_to_workdir
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 1
    functionsReached:
    - g_set_error
    - g_strerror
    - g_file_test
    - g_dir_open
    - g_stat
    - check_workdir_content
    - g_dir_read_name
    - g_strcmp0
    - link
    - g_mkdir
    - g_file_error_from_errno
    - g_propagate_error
    - g_build_filename
    - link_contentdir_to_workdir
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean link_contentdir_to_workdir(const gchar *contentdir, const
      gchar *workdir, gboolean top_dir, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1222,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1223,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/bundle.c:1227,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1228,1
    - Dst: g_get_current_dir
      Src: /src/rauc/src/bundle.c:1230,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1231,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1234,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:1235,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1236,1
    - Dst: g_mkdir
      Src: /src/rauc/src/bundle.c:1241,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1243,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1243,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1244,1
    - Dst: link_contentdir_to_workdir
      Src: /src/rauc/src/bundle.c:1248,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1249,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - contentdir
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1254
    functionName: prepare_workdir
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_get_current_dir
    - g_file_test
    - g_strerror
    - rm_tree
    - g_propagate_prefixed_error
    - g_propagate_error
    - g_mkdir
    - g_file_error_from_errno
    - link_contentdir_to_workdir
    - g_build_filename
    - g_path_is_absolute
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *prepare_workdir(const gchar *contentdir, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1258,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1259,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:1268,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:1273,1
    - Dst: check_pseudo_active
      Src: /src/rauc/src/bundle.c:1284,1
    - Dst: geteuid
      Src: /src/rauc/src/bundle.c:1288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - manifest
    - mksquashfs_metadata
    argTypes:
    - RaucManifest*
    - gboolean*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1292
    functionName: needs_fakeroot
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - geteuid
    - g_strv_contains
    - check_pseudo_active
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean needs_fakeroot(const RaucManifest *manifest, gboolean *mksquashfs_metadata)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1298,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1304,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1305,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1306,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1308,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1309,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:1313,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:1313,1
    - Dst: prepare_workdir
      Src: /src/rauc/src/bundle.c:1315,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1317,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1321,1
    - Dst: load_manifest_file
      Src: /src/rauc/src/bundle.c:1322,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1324,1
    - Dst: g_print
      Src: /src/rauc/src/bundle.c:1329,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/bundle.c:1329,1
    - Dst: check_manifest_input
      Src: /src/rauc/src/bundle.c:1331,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1333,1
    - Dst: g_print
      Src: /src/rauc/src/bundle.c:1339,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/bundle.c:1339,1
    - Dst: check_manifest_create
      Src: /src/rauc/src/bundle.c:1342,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1344,1
    - Dst: sync_manifest_with_contentdir
      Src: /src/rauc/src/bundle.c:1348,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1350,1
    - Dst: needs_fakeroot
      Src: /src/rauc/src/bundle.c:1354,1
    - Dst: r_fakeroot_init
      Src: /src/rauc/src/bundle.c:1355,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1357,1
    - Dst: generate_adaptive_data
      Src: /src/rauc/src/bundle.c:1362,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1364,1
    - Dst: convert_images
      Src: /src/rauc/src/bundle.c:1368,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1370,1
    - Dst: save_manifest_file
      Src: /src/rauc/src/bundle.c:1374,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1376,1
    - Dst: mksquashfs
      Src: /src/rauc/src/bundle.c:1380,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1382,1
    - Dst: encrypt_bundle_payload
      Src: /src/rauc/src/bundle.c:1387,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1389,1
    - Dst: sign_bundle
      Src: /src/rauc/src/bundle.c:1394,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1396,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:1400,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1401,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1405,1
    - Dst: r_fakeroot_cleanup
      Src: /src/rauc/src/bundle.c:1412,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:1413,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 107
    argCount: 3
    argNames:
    - bundlename
    - contentdir
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1294
    functionDepth: 8
    functionLinenumber: 1294
    functionLinenumberEnd: 1417
    functionName: create_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 3
    functionsReached:
    - g_file_test
    - generate_adaptive_data
    - g_clear_pointer
    - sign_bundle
    - g_build_filename
    - r_fakeroot_cleanup
    - g_propagate_prefixed_error
    - g_strdup
    - convert_images
    - g_ptr_array_index
    - check_manifest_create
    - g_autoptr
    - g_auto
    - rm_tree
    - r_fakeroot_init
    - sync_manifest_with_contentdir
    - g_print
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - prepare_workdir
    - r_manifest_bundle_format_to_str
    - save_manifest_file
    - check_manifest_input
    - load_manifest_file
    - needs_fakeroot
    - mksquashfs
    - encrypt_bundle_payload
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean create_bundle(const gchar *bundlename, const gchar *contentdir,
      GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1423,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1424,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1425,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1427,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:1427,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1428,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:1428,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1430,1
    - Dst: g_file_read
      Src: /src/rauc/src/bundle.c:1430,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1432,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1438,1
    - Dst: g_file_create
      Src: /src/rauc/src/bundle.c:1438,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1441,1
    - Dst: g_output_stream_splice
      Src: /src/rauc/src/bundle.c:1448,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1454,1
    - Dst: g_seekable_truncate
      Src: /src/rauc/src/bundle.c:1458,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:1458,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - inpath
    - outpath
    - size
    - error
    argTypes:
    - gchar*
    - gchar*
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1464
    functionName: truncate_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_file_read
    - g_file_create
    - g_file_new_for_path
    - g_propagate_error
    - g_seekable_truncate
    - g_return_val_if_fail
    - g_output_stream_splice
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean truncate_bundle(const gchar *inpath, const gchar *outpath,
      goffset size, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1470,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1471,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1472,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1474,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1475,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:1479,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:1479,1
    - Dst: check_bundle_payload
      Src: /src/rauc/src/bundle.c:1481,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1482,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1486,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/src/bundle.c:1491,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1492,1
    - Dst: g_print
      Src: /src/rauc/src/bundle.c:1498,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/bundle.c:1498,1
    - Dst: truncate_bundle
      Src: /src/rauc/src/bundle.c:1500,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1501,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1505,1
    - Dst: append_signature
      Src: /src/rauc/src/bundle.c:1507,1
    - Dst: generate_bundle_signature
      Src: /src/rauc/src/bundle.c:1509,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1512,1
    - Dst: append_signature_to_bundle
      Src: /src/rauc/src/bundle.c:1516,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1517,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - bundle
    - outpath
    - append
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1466
    functionDepth: 7
    functionLinenumber: 1466
    functionLinenumberEnd: 1523
    functionName: resign_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 2
    functionsReached:
    - g_file_test
    - g_auto
    - check_bundle_payload
    - generate_bundle_signature
    - append_signature
    - g_strdup
    - r_manifest_bundle_format_to_str
    - truncate_bundle
    - append_signature_to_bundle
    - g_clear_pointer
    - g_print
    - g_propagate_error
    - load_manifest_from_bundle
    - g_autoptr
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean resign_bundle(RaucBundle *bundle, const gchar *outpath, gboolean
      append, GError **error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1533,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1535,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1536,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1537,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/bundle.c:1539,1
    - Dst: g_strndup
      Src: /src/rauc/src/bundle.c:1540,1
    - Dst: strlen
      Src: /src/rauc/src/bundle.c:1540,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:1541,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:1543,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1546,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:1547,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/bundle.c:1551,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1553,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1559,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1560,1
    - Dst: extract_bundle
      Src: /src/rauc/src/bundle.c:1563,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1565,1
    - Dst: load_manifest_file
      Src: /src/rauc/src/bundle.c:1570,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1572,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1577,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1578,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1588,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/bundle.c:1593,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:1594,1
    - Dst: image_is_archive
      Src: /src/rauc/src/bundle.c:1598,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:1599,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1600,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:1602,1
    - Dst: casync_make_arch
      Src: /src/rauc/src/bundle.c:1604,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1606,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:1610,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:1611,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:1613,1
    - Dst: casync_make_blob
      Src: /src/rauc/src/bundle.c:1616,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1618,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:1624,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:1625,1
    - Dst: g_remove
      Src: /src/rauc/src/bundle.c:1628,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:1629,1
    - Dst: save_manifest_file
      Src: /src/rauc/src/bundle.c:1634,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1636,1
    - Dst: mksquashfs
      Src: /src/rauc/src/bundle.c:1640,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1642,1
    - Dst: sign_bundle
      Src: /src/rauc/src/bundle.c:1646,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1648,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1656,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:1657,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:1658,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 4
    argNames:
    - bundle
    - outbundle
    - ignore_images
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1525
    functionDepth: 8
    functionLinenumber: 1525
    functionLinenumberEnd: 1662
    functionName: convert_to_casync_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_strndup
    - g_dir_make_tmp
    - extract_bundle
    - g_clear_pointer
    - sign_bundle
    - g_build_filename
    - g_steal_pointer
    - g_propagate_prefixed_error
    - casync_make_blob
    - g_autoptr
    - rm_tree
    - g_strv_contains
    - g_propagate_error
    - strlen
    - g_free
    - g_strconcat
    - g_return_val_if_fail
    - save_manifest_file
    - casync_make_arch
    - g_remove
    - image_is_archive
    - load_manifest_file
    - g_message
    - g_str_has_suffix
    - mksquashfs
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean convert_to_casync_bundle(RaucBundle *bundle, const gchar *outbundle,
      const gchar **ignore_images, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1668,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1669,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1670,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1672,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1673,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:1677,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:1677,1
    - Dst: check_bundle_payload
      Src: /src/rauc/src/bundle.c:1679,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1680,1
    - Dst: convert_to_casync_bundle
      Src: /src/rauc/src/bundle.c:1684,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1685,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - bundle
    - outbundle
    - ignore_images
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1664
    functionDepth: 9
    functionLinenumber: 1664
    functionLinenumberEnd: 1691
    functionName: create_casync_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_auto
    - check_bundle_payload
    - g_strdup
    - convert_to_casync_bundle
    - g_clear_pointer
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean create_casync_bundle(RaucBundle *bundle, const gchar *outbundle,
      const gchar **ignore_images, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1697,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1698,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1699,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1707,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:1711,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1712,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:1716,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:1716,1
    - Dst: truncate_bundle
      Src: /src/rauc/src/bundle.c:1718,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1719,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:1724,1
    - Dst: cms_encrypt
      Src: /src/rauc/src/bundle.c:1724,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:1724,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:1726,1
    - Dst: append_signature_to_bundle
      Src: /src/rauc/src/bundle.c:1733,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:1734,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:1738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - bundle
    - outbundle
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1693
    functionDepth: 3
    functionLinenumber: 1693
    functionLinenumberEnd: 1740
    functionName: encrypt_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_auto
    - g_propagate_prefixed_error
    - g_strdup
    - r_context
    - truncate_bundle
    - append_signature_to_bundle
    - g_clear_pointer
    - g_propagate_error
    - g_autoptr
    - g_set_error
    - cms_encrypt
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean encrypt_bundle(RaucBundle *bundle, const gchar *outbundle,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1744,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1745,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1746,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1747,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1748,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:1749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1750
    functionName: is_remote_scheme
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean is_remote_scheme(const gchar *scheme)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1758,1
    - Dst: geteuid
      Src: /src/rauc/src/bundle.c:1760,1
    - Dst: fstat
      Src: /src/rauc/src/bundle.c:1762,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1764,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1766,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1767,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1774,1
    - Dst: fchown
      Src: /src/rauc/src/bundle.c:1781,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1783,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1785,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1786,1
    - Dst: fchmod
      Src: /src/rauc/src/bundle.c:1795,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1797,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1799,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - bundle_fd
    - error
    argTypes:
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1806
    functionName: take_bundle_ownership
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fstat
    - fchmod
    - fchown
    - g_file_error_from_errno
    - g_set_error
    - geteuid
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean take_bundle_ownership(int bundle_fd, GError **error)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:1818,1
    - Dst: fstat
      Src: /src/rauc/src/bundle.c:1832,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1834,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1836,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1837,1
    - Dst: fstatfs
      Src: /src/rauc/src/bundle.c:1843,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1845,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1847,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1848,1
    - Dst: S_ISREG
      Src: /src/rauc/src/bundle.c:1854,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1855,1
    - Dst: geteuid
      Src: /src/rauc/src/bundle.c:1861,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1862,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1869,1
    - Dst: stat
      Src: /src/rauc/src/bundle.c:1875,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1877,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1879,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1880,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1893,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1924,1
    - Dst: g_unix_mounts_get
      Src: /src/rauc/src/bundle.c:1933,1
    - Dst: g_unix_mount_get_device_path
      Src: /src/rauc/src/bundle.c:1936,1
    - Dst: stat
      Src: /src/rauc/src/bundle.c:1938,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1944,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1960,1
    - Dst: fcntl
      Src: /src/rauc/src/bundle.c:1966,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1974,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1976,1
    - Dst: fcntl
      Src: /src/rauc/src/bundle.c:1983,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1985,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1988,1
    - Dst: fcntl
      Src: /src/rauc/src/bundle.c:1992,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:1994,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:1996,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:1997,1
    - Dst: g_list_free_full
      Src: /src/rauc/src/bundle.c:2006,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 137
    argCount: 2
    argNames:
    - bundle_fd
    - error
    argTypes:
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 2008
    functionName: check_bundle_access
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fcntl
    - fstat
    - g_unix_mounts_get
    - g_unix_mount_get_device_path
    - S_ISREG
    - stat
    - g_list_free_full
    - g_file_error_from_errno
    - fstatfs
    - g_set_error
    - geteuid
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_bundle_access(int bundle_fd, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2015,1
    - Dst: check_bundle_access
      Src: /src/rauc/src/bundle.c:2018,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:2023,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:2024,1
    - Dst: take_bundle_ownership
      Src: /src/rauc/src/bundle.c:2027,1
    - Dst: check_bundle_access
      Src: /src/rauc/src/bundle.c:2030,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2033,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:2036,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2037,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:2047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - bundle_fd
    - error
    argTypes:
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2049
    functionName: enforce_bundle_exclusive
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_propagate_prefixed_error
    - g_debug
    - check_bundle_access
    - g_propagate_error
    - take_bundle_ownership
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean enforce_bundle_exclusive(int bundle_fd, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2055,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2056,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2060,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2061,1
    - Dst: g_assert_null
      Src: /src/rauc/src/bundle.c:2063,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:2065,1
    - Dst: G_INPUT_STREAM
      Src: /src/rauc/src/bundle.c:2066,1
    - Dst: g_file_read
      Src: /src/rauc/src/bundle.c:2066,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2068,1
    - Dst: g_file_input_stream_query_info
      Src: /src/rauc/src/bundle.c:2076,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/rauc/src/bundle.c:2077,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2081,1
    - Dst: g_file_info_get_file_type
      Src: /src/rauc/src/bundle.c:2089,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2090,1
    - Dst: g_seekable_seek
      Src: /src/rauc/src/bundle.c:2097,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:2097,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2100,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/bundle.c:2106,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:2106,1
    - Dst: input_stream_read_uint64_all
      Src: /src/rauc/src/bundle.c:2108,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2111,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2119,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2126,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2132,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2133,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2135,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2142,1
    - Dst: g_seekable_seek
      Src: /src/rauc/src/bundle.c:2149,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/bundle.c:2149,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2152,1
    - Dst: input_stream_read_bytes_all
      Src: /src/rauc/src/bundle.c:2159,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2162,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2171
    functionName: open_local_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_file_input_stream_query_info
    - g_file_info_get_file_type
    - G_INPUT_STREAM
    - G_FILE_INPUT_STREAM
    - g_propagate_prefixed_error
    - g_seekable_tell
    - g_file_read
    - r_context
    - g_message
    - input_stream_read_uint64_all
    - input_stream_read_bytes_all
    - g_file_new_for_path
    - g_autoptr
    - g_set_error
    - g_assert_null
    - g_seekable_seek
    - G_SEEKABLE
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean open_local_bundle(RaucBundle *bundle, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2182,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2183,1
    - Dst: g_assert_null
      Src: /src/rauc/src/bundle.c:2185,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:2186,1
    - Dst: g_assert_null
      Src: /src/rauc/src/bundle.c:2187,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2191,1
    - Dst: r_nbd_read
      Src: /src/rauc/src/bundle.c:2199,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2201,1
    - Dst: GUINT64_FROM_BE
      Src: /src/rauc/src/bundle.c:2207,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2210,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2217,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2223,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2224,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2226,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2234,1
    - Dst: g_malloc0
      Src: /src/rauc/src/bundle.c:2243,1
    - Dst: r_nbd_read
      Src: /src/rauc/src/bundle.c:2244,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2246,1
    - Dst: g_bytes_new_take
      Src: /src/rauc/src/bundle.c:2252,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:2252,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2174
    functionDepth: 2
    functionLinenumber: 2174
    functionLinenumberEnd: 2256
    functionName: open_remote_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - GUINT64_FROM_BE
    - g_propagate_prefixed_error
    - r_context
    - g_bytes_new_take
    - r_nbd_read
    - g_malloc0
    - g_assert_nonnull
    - g_set_error
    - g_assert_null
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean open_remote_bundle(RaucBundle *bundle, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2262
    functionName: open_remote_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean open_remote_bundle(RaucBundle *bundle, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2267,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2270,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2271,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2280,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2281,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2288,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - manifest
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2265
    functionDepth: 1
    functionLinenumber: 2265
    functionLinenumberEnd: 2296
    functionName: check_allowed_bundle_format
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - r_context
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_allowed_bundle_format(RaucManifest *manifest, GError
      **error)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2303,1
    - Dst: g_new0
      Src: /src/rauc/src/bundle.c:2303,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2304,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2308,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2309,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2310,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2311,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:2313,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2315,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2315,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2316,1
    - Dst: g_uri_parse_scheme
      Src: /src/rauc/src/bundle.c:2324,1
    - Dst: is_remote_scheme
      Src: /src/rauc/src/bundle.c:2325,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2327,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2329,1
    - Dst: r_nbd_new_server
      Src: /src/rauc/src/bundle.c:2330,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2331,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2333,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2334,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2335,1
    - Dst: g_strdupv
      Src: /src/rauc/src/bundle.c:2337,1
    - Dst: g_ptr_array_ref
      Src: /src/rauc/src/bundle.c:2339,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2342,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2342,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2344,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2344,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2346,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2346,1
    - Dst: r_nbd_start_server
      Src: /src/rauc/src/bundle.c:2347,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2349,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/bundle.c:2353,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2355,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2360,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:2361,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2363,1
    - Dst: download_file
      Src: /src/rauc/src/bundle.c:2364,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2364,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2366,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:2369,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2371,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2377,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2381,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2382,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2382,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/bundle.c:2386,1
    - Dst: g_strndup
      Src: /src/rauc/src/bundle.c:2387,1
    - Dst: strlen
      Src: /src/rauc/src/bundle.c:2387,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:2388,1
    - Dst: g_strconcat
      Src: /src/rauc/src/bundle.c:2390,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2394,1
    - Dst: open_local_bundle
      Src: /src/rauc/src/bundle.c:2397,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2399,1
    - Dst: open_remote_bundle
      Src: /src/rauc/src/bundle.c:2403,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2405,1
    - Dst: cms_is_detached
      Src: /src/rauc/src/bundle.c:2410,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2412,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:2416,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2419,1
    - Dst: cms_is_envelopeddata
      Src: /src/rauc/src/bundle.c:2428,1
    - Dst: g_debug
      Src: /src/rauc/src/bundle.c:2431,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2433,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2434,1
    - Dst: cms_decrypt
      Src: /src/rauc/src/bundle.c:2439,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2439,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2439,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2441,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2457,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2458,1
    - Dst: setup_x509_store
      Src: /src/rauc/src/bundle.c:2458,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2462,1
    - Dst: X509_STORE_get0_param
      Src: /src/rauc/src/bundle.c:2466,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2468,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/rauc/src/bundle.c:2471,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:2474,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:2474,1
    - Dst: enforce_bundle_exclusive
      Src: /src/rauc/src/bundle.c:2476,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2477,1
    - Dst: cms_verify_fd
      Src: /src/rauc/src/bundle.c:2484,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2486,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:2494,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:2494,1
    - Dst: check_bundle_access
      Src: /src/rauc/src/bundle.c:2496,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2497,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:2498,1
    - Dst: cms_verify_sig
      Src: /src/rauc/src/bundle.c:2504,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2506,1
    - Dst: cms_get_cert_chain
      Src: /src/rauc/src/bundle.c:2513,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2515,1
    - Dst: cms_get_unverified_manifest
      Src: /src/rauc/src/bundle.c:2520,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2522,1
    - Dst: load_manifest_mem
      Src: /src/rauc/src/bundle.c:2529,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2531,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2539,1
    - Dst: check_allowed_bundle_format
      Src: /src/rauc/src/bundle.c:2546,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2548,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:2552,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:2556,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 214
    argCount: 5
    argNames:
    - bundlename
    - bundle
    - params
    - access_args
    - error
    argTypes:
    - gchar*
    - RaucBundle**
    - CheckBundleParams
    - RaucBundleAccessArgs*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2298
    functionDepth: 5
    functionLinenumber: 2298
    functionLinenumberEnd: 2558
    functionName: check_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 26
    functionsReached:
    - cms_is_detached
    - g_strndup
    - r_nbd_start_server
    - r_context
    - g_dir_make_tmp
    - load_manifest_mem
    - check_bundle_access
    - cms_verify_sig
    - cms_get_unverified_manifest
    - g_build_filename
    - g_strdupv
    - g_steal_pointer
    - download_file
    - is_remote_scheme
    - g_propagate_prefixed_error
    - g_strdup
    - g_debug
    - X509_STORE_get0_param
    - g_ptr_array_ref
    - cms_is_envelopeddata
    - r_context_end_step
    - g_autoptr
    - g_file_descriptor_based_get_fd
    - G_FILE_DESCRIPTOR_BASED
    - open_remote_bundle
    - check_allowed_bundle_format
    - r_nbd_new_server
    - X509_VERIFY_PARAM_set_flags
    - g_new0
    - cms_decrypt
    - g_propagate_error
    - g_set_error
    - strlen
    - g_strconcat
    - g_return_val_if_fail
    - r_context_begin_step
    - g_clear_error
    - enforce_bundle_exclusive
    - setup_x509_store
    - cms_verify_fd
    - cms_get_cert_chain
    - g_message
    - g_str_has_suffix
    - g_uri_parse_scheme
    - open_local_bundle
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_bundle(const gchar *bundlename, RaucBundle **bundle,
      CheckBundleParams params, RaucBundleAccessArgs *access_args, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2564,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2565,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:2568,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:2569,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2573,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2576,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2582,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:2588,1
    - Dst: check_manifest_external
      Src: /src/rauc/src/bundle.c:2591,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2592,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:2598,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:2600,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:2600,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/bundle.c:2601,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/bundle.c:2602,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:2605,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:2606,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:2607,1
    - Dst: g_assert
      Src: /src/rauc/src/bundle.c:2608,1
    - Dst: r_verity_hash_verify
      Src: /src/rauc/src/bundle.c:2610,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2611,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:2616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2560
    functionDepth: 1
    functionLinenumber: 2560
    functionLinenumberEnd: 2623
    functionName: check_bundle_payload
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 2
    functionsReached:
    - r_context_begin_step
    - r_verity_hash_verify
    - g_file_descriptor_based_get_fd
    - G_FILE_DESCRIPTOR_BASED
    - r_hex_decode
    - g_assert
    - g_error
    - g_message
    - g_propagate_error
    - g_set_error
    - r_context_end_step
    - check_manifest_external
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_bundle_payload(RaucBundle *bundle, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2627,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2629,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2630,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2636,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2637,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2638,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2639,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:2641,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2642,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:2646,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2646,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/src/bundle.c:2651,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2653,1
    - Dst: g_print
      Src: /src/rauc/src/bundle.c:2660,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/bundle.c:2660,1
    - Dst: read_file
      Src: /src/rauc/src/bundle.c:2662,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2664,1
    - Dst: truncate_bundle
      Src: /src/rauc/src/bundle.c:2672,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2674,1
    - Dst: append_signature_to_bundle
      Src: /src/rauc/src/bundle.c:2678,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2680,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2688,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2689,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2690,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2691,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2691,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2692,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2696,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2696,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2697,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:2700,1
    - Dst: check_bundle
      Src: /src/rauc/src/bundle.c:2704,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2706,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:2713,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2719,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2720,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 5
    argNames:
    - bundle
    - insig
    - outpath
    - params
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gchar*
    - CheckBundleParams
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2625
    functionDepth: 6
    functionLinenumber: 2625
    functionLinenumberEnd: 2724
    functionName: replace_signature
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 1
    functionsReached:
    - g_file_test
    - g_auto
    - check_bundle
    - g_propagate_prefixed_error
    - g_strdup
    - r_manifest_bundle_format_to_str
    - truncate_bundle
    - append_signature_to_bundle
    - r_context
    - read_file
    - g_clear_pointer
    - g_message
    - g_print
    - g_propagate_error
    - load_manifest_from_bundle
    - g_autoptr
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean replace_signature(RaucBundle *bundle, const gchar *insig,
      const gchar *outpath, CheckBundleParams params, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2729,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2730,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2733,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2734,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2735,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:2737,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/bundle.c:2739,1
    - Dst: g_file_create
      Src: /src/rauc/src/bundle.c:2740,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2742,1
    - Dst: output_stream_write_bytes_all
      Src: /src/rauc/src/bundle.c:2749,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2750,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:2759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - bundle
    - outputsig
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2761
    functionName: extract_signature
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 2
    functionsReached:
    - r_context_begin_step
    - output_stream_write_bytes_all
    - g_propagate_prefixed_error
    - g_file_create
    - g_file_new_for_path
    - g_autoptr
    - r_context_end_step
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean extract_signature(RaucBundle *bundle, const gchar *outputsig,
      GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2768,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2769,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2770,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/bundle.c:2772,1
    - Dst: g_file_test
      Src: /src/rauc/src/bundle.c:2774,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2776,1
    - Dst: check_bundle_payload
      Src: /src/rauc/src/bundle.c:2780,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2782,1
    - Dst: decrypt_bundle_payload
      Src: /src/rauc/src/bundle.c:2787,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2789,1
    - Dst: unsquashfs
      Src: /src/rauc/src/bundle.c:2794,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:2794,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:2794,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2796,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/bundle.c:2802,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - bundle
    - outputdir
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2763
    functionDepth: 2
    functionLinenumber: 2763
    functionLinenumberEnd: 2804
    functionName: extract_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 3
    functionsReached:
    - r_context_begin_step
    - g_file_test
    - check_bundle_payload
    - g_file_descriptor_based_get_fd
    - G_FILE_DESCRIPTOR_BASED
    - r_context_end_step
    - g_propagate_error
    - decrypt_bundle_payload
    - g_set_error
    - unsquashfs
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean extract_bundle(RaucBundle *bundle, const gchar *outputdir,
      GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2814,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2815,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2816,1
    - Dst: check_bundle_payload
      Src: /src/rauc/src/bundle.c:2818,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2820,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/bundle.c:2824,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2826,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:2832,1
    - Dst: unsquashfs
      Src: /src/rauc/src/bundle.c:2833,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:2833,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:2833,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2835,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:2840,1
    - Dst: load_manifest_file
      Src: /src/rauc/src/bundle.c:2841,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2843,1
    - Dst: check_manifest_internal
      Src: /src/rauc/src/bundle.c:2848,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:2850,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:2851,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2857,1
    - Dst: rm_tree
      Src: /src/rauc/src/bundle.c:2858,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:2859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - bundle
    - manifest
    - error
    argTypes:
    - RaucBundle*
    - RaucManifest**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2806
    functionDepth: 2
    functionLinenumber: 2806
    functionLinenumberEnd: 2863
    functionName: load_manifest_from_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 4
    functionsReached:
    - g_file_descriptor_based_get_fd
    - check_bundle_payload
    - G_FILE_DESCRIPTOR_BASED
    - g_propagate_prefixed_error
    - rm_tree
    - g_dir_make_tmp
    - load_manifest_file
    - g_clear_pointer
    - g_propagate_error
    - g_autoptr
    - g_build_filename
    - unsquashfs
    - g_warning
    - check_manifest_internal
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_manifest_from_bundle(RaucBundle *bundle, RaucManifest
      **manifest, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2871,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2872,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:2874,1
    - Dst: g_open
      Src: /src/rauc/src/bundle.c:2874,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2877,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:2879,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:2880,1
    - Dst: g_malloc0
      Src: /src/rauc/src/bundle.c:2884,1
    - Dst: pread
      Src: /src/rauc/src/bundle.c:2887,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:2892,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/bundle.c:2894,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:2895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dev
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2901
    functionName: read_complete_dm_device
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_auto
    - g_open
    - pread
    - g_malloc0
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean read_complete_dm_device(gchar *dev, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2916,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2917,1
    - Dst: r_dm_new_verity
      Src: /src/rauc/src/bundle.c:2917,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2919,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2920,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2921,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2922,1
    - Dst: check_manifest_external
      Src: /src/rauc/src/bundle.c:2924,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2926,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2930,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2932,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2933,1
    - Dst: r_dm_setup
      Src: /src/rauc/src/bundle.c:2935,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2937,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:2941,1
    - Dst: read_complete_dm_device
      Src: /src/rauc/src/bundle.c:2942,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:2945,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:2946,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2948,1
    - Dst: r_mount_bundle
      Src: /src/rauc/src/bundle.c:2953,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:2955,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:2956,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - bundle
    - loopname
    - mount_point
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2912
    functionDepth: 1
    functionLinenumber: 2912
    functionLinenumberEnd: 2965
    functionName: prepare_verity
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - r_dm_remove
    - r_dm_setup
    - g_strdup
    - r_context
    - r_mount_bundle
    - r_dm_new_verity
    - g_propagate_error
    - g_autoptr
    - read_complete_dm_device
    - check_manifest_external
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean prepare_verity(RaucBundle *bundle, gchar *loopname, gchar*
      mount_point, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2982,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2983,1
    - Dst: r_dm_new_verity
      Src: /src/rauc/src/bundle.c:2983,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:2984,1
    - Dst: r_dm_new_crypt
      Src: /src/rauc/src/bundle.c:2984,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2986,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2987,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2988,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:2989,1
    - Dst: check_manifest_external
      Src: /src/rauc/src/bundle.c:2991,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:2993,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:2998,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3000,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3001,1
    - Dst: r_dm_setup
      Src: /src/rauc/src/bundle.c:3003,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3005,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3010,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3012,1
    - Dst: r_dm_setup
      Src: /src/rauc/src/bundle.c:3014,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:3017,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3018,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3020,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3024,1
    - Dst: read_complete_dm_device
      Src: /src/rauc/src/bundle.c:3025,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:3028,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3029,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:3030,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:3032,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3033,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3035,1
    - Dst: r_mount_bundle
      Src: /src/rauc/src/bundle.c:3040,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:3042,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3043,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:3044,1
    - Dst: r_dm_remove
      Src: /src/rauc/src/bundle.c:3047,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3048,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3052,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 4
    argNames:
    - bundle
    - loopname
    - mount_point
    - error
    argTypes:
    - RaucBundle*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 2978
    functionDepth: 1
    functionLinenumber: 2978
    functionLinenumberEnd: 3057
    functionName: prepare_crypt
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_dm_remove
    - r_dm_setup
    - g_strdup
    - r_context
    - r_mount_bundle
    - r_dm_new_verity
    - g_propagate_error
    - g_autoptr
    - read_complete_dm_device
    - r_dm_new_crypt
    - check_manifest_external
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean prepare_crypt(RaucBundle *bundle, gchar *loopname, gchar*
      mount_point, GError **error)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3067,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3068,1
    - Dst: g_assert_null
      Src: /src/rauc/src/bundle.c:3070,1
    - Dst: r_create_mount_point
      Src: /src/rauc/src/bundle.c:3072,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:3075,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:3083,1
    - Dst: g_message
      Src: /src/rauc/src/bundle.c:3085,1
    - Dst: g_file_descriptor_based_get_fd
      Src: /src/rauc/src/bundle.c:3088,1
    - Dst: G_FILE_DESCRIPTOR_BASED
      Src: /src/rauc/src/bundle.c:3088,1
    - Dst: r_setup_loop
      Src: /src/rauc/src/bundle.c:3089,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3091,1
    - Dst: r_nbd_new_device
      Src: /src/rauc/src/bundle.c:3095,1
    - Dst: r_nbd_setup_device
      Src: /src/rauc/src/bundle.c:3099,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3104,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3107,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/bundle.c:3109,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:3113,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:3117,1
    - Dst: r_mount_bundle
      Src: /src/rauc/src/bundle.c:3119,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3121,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bundle.c:3125,1
    - Dst: load_manifest_file
      Src: /src/rauc/src/bundle.c:3126,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bundle.c:3128,1
    - Dst: check_manifest_internal
      Src: /src/rauc/src/bundle.c:3135,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3137,1
    - Dst: g_set_error
      Src: /src/rauc/src/bundle.c:3143,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:3149,1
    - Dst: prepare_verity
      Src: /src/rauc/src/bundle.c:3151,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3153,1
    - Dst: prepare_crypt
      Src: /src/rauc/src/bundle.c:3157,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3159,1
    - Dst: g_error
      Src: /src/rauc/src/bundle.c:3163,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:3168,1
    - Dst: r_umount_bundle
      Src: /src/rauc/src/bundle.c:3173,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3174,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bundle.c:3175,1
    - Dst: g_rmdir
      Src: /src/rauc/src/bundle.c:3179,1
    - Dst: g_close
      Src: /src/rauc/src/bundle.c:3182,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 111
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3059
    functionDepth: 2
    functionLinenumber: 3059
    functionLinenumberEnd: 3184
    functionName: mount_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 7
    functionsReached:
    - g_close
    - r_nbd_new_device
    - r_mount_bundle
    - r_umount_bundle
    - g_build_filename
    - r_nbd_setup_device
    - g_assert_null
    - g_steal_pointer
    - g_propagate_prefixed_error
    - r_setup_loop
    - g_strdup
    - prepare_crypt
    - check_manifest_internal
    - g_autoptr
    - g_file_descriptor_based_get_fd
    - G_FILE_DESCRIPTOR_BASED
    - g_error
    - g_propagate_error
    - g_set_error
    - r_create_mount_point
    - g_return_val_if_fail
    - g_clear_error
    - g_assert_not_reached
    - g_rmdir
    - prepare_verity
    - load_manifest_file
    - g_message
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean mount_bundle(RaucBundle *bundle, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3190,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3191,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bundle.c:3193,1
    - Dst: r_umount_bundle
      Src: /src/rauc/src/bundle.c:3195,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3196,1
    - Dst: g_rmdir
      Src: /src/rauc/src/bundle.c:3200,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:3201,1
    - Dst: r_nbd_remove_device
      Src: /src/rauc/src/bundle.c:3204,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3205,1
    - Dst: r_nbd_stop_server
      Src: /src/rauc/src/bundle.c:3211,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bundle.c:3212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - bundle
    - error
    argTypes:
    - RaucBundle*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3186
    functionDepth: 2
    functionLinenumber: 3186
    functionLinenumberEnd: 3218
    functionName: umount_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 5
    functionsReached:
    - g_rmdir
    - r_nbd_stop_server
    - g_clear_pointer
    - g_assert_nonnull
    - g_propagate_error
    - r_umount_bundle
    - r_nbd_remove_device
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean umount_bundle(RaucBundle *bundle, GError **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/bundle.c:3227,1
    - Dst: g_remove
      Src: /src/rauc/src/bundle.c:3228,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3229,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:3229,1
    - Dst: g_rmdir
      Src: /src/rauc/src/bundle.c:3231,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3232,1
    - Dst: g_strerror
      Src: /src/rauc/src/bundle.c:3232,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3236,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3237,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3238,1
    - Dst: r_nbd_free_device
      Src: /src/rauc/src/bundle.c:3241,1
    - Dst: r_nbd_free_server
      Src: /src/rauc/src/bundle.c:3243,1
    - Dst: g_object_unref
      Src: /src/rauc/src/bundle.c:3246,1
    - Dst: g_bytes_unref
      Src: /src/rauc/src/bundle.c:3247,1
    - Dst: g_bytes_unref
      Src: /src/rauc/src/bundle.c:3248,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3249,1
    - Dst: free_manifest
      Src: /src/rauc/src/bundle.c:3251,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3252,1
    - Dst: sk_X509_pop_free
      Src: /src/rauc/src/bundle.c:3254,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - RaucBundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3220
    functionDepth: 2
    functionLinenumber: 3220
    functionLinenumberEnd: 3256
    functionName: free_bundle
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_rmdir
    - r_nbd_free_device
    - g_object_unref
    - g_path_get_dirname
    - g_remove
    - free_manifest
    - sk_X509_pop_free
    - g_bytes_unref
    - r_nbd_free_server
    - g_free
    - g_warning
    linkageType: ''
    returnType: void
    signature: void free_bundle(RaucBundle *bundle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:3261,1
    - Dst: g_auto
      Src: /src/rauc/src/bundle.c:3262,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/bundle.c:3264,1
    - Dst: g_warning
      Src: /src/rauc/src/bundle.c:3265,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bundle.c:3270,1
    - Dst: g_strchomp
      Src: /src/rauc/src/bundle.c:3270,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3273
    functionName: get_uptime
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_strchomp
    - g_strdup
    - g_file_get_contents
    - g_strsplit
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * get_uptime(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3283,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bundle.c:3284,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/bundle.c:3286,1
    - Dst: g_strdup
      Src: /src/rauc/src/bundle.c:3289,1
    - Dst: strlen
      Src: /src/rauc/src/bundle.c:3289,1
    - Dst: strlen
      Src: /src/rauc/src/bundle.c:3290,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3296
    functionName: system_info_to_header
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_str_has_prefix
    - g_strdup
    - g_strdup_printf
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *system_info_to_header(const gchar *key, const gchar *value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bundle.c:3300,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/bundle.c:3300,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3302,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3305,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3307,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3307,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3308,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3308,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3308,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3309,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3309,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3310,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3310,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3310,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3311,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3311,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3312,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3312,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3312,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3313,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3313,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3314,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3314,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3314,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3315,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3315,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3316,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3316,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3316,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3318,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3319,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3319,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bundle.c:3321,1
    - Dst: get_uptime
      Src: /src/rauc/src/bundle.c:3322,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3323,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bundle.c:3323,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3329,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bundle.c:3334,1
    - Dst: r_context
      Src: /src/rauc/src/bundle.c:3334,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bundle.c:3335,1
    - Dst: system_info_to_header
      Src: /src/rauc/src/bundle.c:3336,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bundle.c:3338,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bundle.c:3342,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 1
    argNames:
    - transaction
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3298
    functionDepth: 1
    functionLinenumber: 3298
    functionLinenumberEnd: 3343
    functionName: assemble_info_headers
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - system_info_to_header
    - get_uptime
    - g_ptr_array_add
    - g_hash_table_iter_init
    - r_context
    - g_strcmp0
    - g_ptr_array_new_with_free_func
    - g_strdup_printf
    - g_hash_table_iter_next
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: GPtrArray
    signature: GPtrArray *assemble_info_headers(const gchar *transaction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3347,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3348,1
    - Dst: g_free
      Src: /src/rauc/src/bundle.c:3349,1
    - Dst: g_strfreev
      Src: /src/rauc/src/bundle.c:3350,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bundle.c:3351,1
    - Dst: memset
      Src: /src/rauc/src/bundle.c:3354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - access_args
    argTypes:
    - RaucBundleAccessArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3355
    functionName: clear_bundle_access_args
    functionSourceFile: /src/rauc/src/bundle.c
    functionUses: 0
    functionsReached:
    - g_strfreev
    - g_clear_pointer
    - g_free
    - memset
    linkageType: ''
    returnType: void
    signature: void clear_bundle_access_args(RaucBundleAccessArgs *access_args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:68,1
    - Dst: ioctl
      Src: /src/rauc/src/main.c:71,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:72,1
    - Dst: strerror
      Src: /src/rauc/src/main.c:72,1
    - Dst: g_string_sized_new
      Src: /src/rauc/src/main.c:78,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:80,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:82,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:84,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:85,1
    - Dst: g_string_free
      Src: /src/rauc/src/main.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - percentage
    argTypes:
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: make_progress_line
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - ioctl
    - g_string_append_c
    - strerror
    - g_string_free
    - g_string_append_printf
    - g_string_sized_new
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * make_progress_line(gint percentage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/rauc/src/main.c:94,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/src/main.c:95,1
    - Dst: g_queue_pop_head
      Src: /src/rauc/src/main.c:96,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:97,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:98,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/main.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: install_notify
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - g_queue_is_empty
    - g_mutex_unlock
    - g_print
    - g_queue_pop_head
    - g_free
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_notify(gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_main_loop_quit
      Src: /src/rauc/src/main.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: install_cleanup
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_cleanup(gpointer data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:122,1
    - Dst: g_mutex_lock
      Src: /src/rauc/src/main.c:123,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/main.c:125,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/src/main.c:126,1
    - Dst: g_mutex_lock
      Src: /src/rauc/src/main.c:130,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:131,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/src/main.c:132,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:132,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:133,1
    - Dst: isatty
      Src: /src/rauc/src/main.c:134,1
    - Dst: make_progress_line
      Src: /src/rauc/src/main.c:135,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/src/main.c:142,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:142,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/src/main.c:144,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:144,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:146,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/src/main.c:147,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:147,1
    - Dst: isatty
      Src: /src/rauc/src/main.c:147,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/main.c:149,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/src/main.c:151,1
    - Dst: RaucInstallArgs*::notify
      Src: /src/rauc/src/main.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - proxy
    - changed
    - invalidated
    - data
    argTypes:
    - GDBusProxy*
    - GVariant*
    - gchar**
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 154
    functionName: on_installer_changed
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - g_queue_is_empty
    - RaucInstallArgs*::cleanup
    - g_strdup_printf
    - g_queue_push_tail
    - g_mutex_unlock
    - g_strdup
    - g_printerr
    - RaucInstallArgs*::notify
    - isatty
    - make_progress_line
    - g_variant_lookup
    linkageType: ''
    returnType: void
    signature: "void on_installer_changed(GDBusProxy *proxy, GVariant *changed,\n\t\tconst
      gchar* const *invalidated,\n\t\tgpointer data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/rauc/src/main.c:161,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/main.c:163,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/src/main.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - proxy
    - result
    - data
    argTypes:
    - GDBusProxy*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: on_installer_completed
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - g_mutex_unlock
    - RaucInstallArgs*::cleanup
    linkageType: ''
    returnType: void
    signature: "void on_installer_completed(GDBusProxy *proxy, gint result,\n\t\tgpointer
      data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_uri_parse_scheme
      Src: /src/rauc/src/main.c:176,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/main.c:177,1
    - Dst: g_get_current_dir
      Src: /src/rauc/src/main.c:178,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:179,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:183,1
    - Dst: g_filename_from_uri
      Src: /src/rauc/src/main.c:184,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:186,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:187,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:192,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/main.c:197,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:199,1
    - Dst: g_file_test
      Src: /src/rauc/src/main.c:205,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:206,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 212
    functionName: resolve_bundle_path
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_get_current_dir
    - g_file_test
    - g_filename_from_uri
    - g_strdup
    - g_strcmp0
    - g_printerr
    - g_clear_pointer
    - g_uri_parse_scheme
    - g_build_filename
    - g_path_is_absolute
    - g_steal_pointer
    linkageType: ''
    returnType: gchar
    signature: gchar *resolve_bundle_path(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/rauc/src/main.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - percentage
    - message
    - nesting_depth
    argTypes:
    - gint
    - gchar*
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: print_progress_callback
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: "void print_progress_callback(gint percentage,\n\t\tconst gchar *message,\n\t\tgint
      nesting_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/rauc/src/main.c:225,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/main.c:227,1
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/src/main.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: on_sigint
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - g_mutex_unlock
    - RaucInstallArgs*::cleanup
    linkageType: ''
    returnType: gboolean
    signature: gboolean on_sigint(gpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/rauc/src/main.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: on_sigint_noop
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: gboolean on_sigint_noop(gpointer user_data)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:242,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:242,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:249,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:254,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:259,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:266,1
    - Dst: resolve_bundle_path
      Src: /src/rauc/src/main.c:272,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:275,1
    - Dst: install_args_new
      Src: /src/rauc/src/main.c:277,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:278,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:288,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:290,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:292,1
    - Dst: g_strdupv
      Src: /src/rauc/src/main.c:296,1
    - Dst: g_main_loop_new
      Src: /src/rauc/src/main.c:298,1
    - Dst: g_auto
      Src: /src/rauc/src/main.c:300,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/main.c:300,1
    - Dst: g_unix_signal_add
      Src: /src/rauc/src/main.c:302,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:304,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:305,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:307,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:309,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:311,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:313,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:315,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:317,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/main.c:319,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/src/main.c:321,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:325,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:326,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/main.c:329,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/main.c:330,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:331,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/main.c:334,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/main.c:335,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:336,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:339,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/src/main.c:340,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/main.c:343,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:346,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:347,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:348,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:349,1
    - Dst: g_unix_signal_add
      Src: /src/rauc/src/main.c:353,1
    - Dst: determine_slot_states
      Src: /src/rauc/src/main.c:355,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:356,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:357,1
    - Dst: r_context_register_progress_callback
      Src: /src/rauc/src/main.c:362,1
    - Dst: install_run
      Src: /src/rauc/src/main.c:363,1
    - Dst: g_main_loop_run
      Src: /src/rauc/src/main.c:366,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:371,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:374,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:377,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:380,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:384,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/main.c:388,1
    - Dst: g_signal_handlers_disconnect_by_data
      Src: /src/rauc/src/main.c:391,1
    - Dst: g_clear_object
      Src: /src/rauc/src/main.c:392,1
    - Dst: install_args_free
      Src: /src/rauc/src/main.c:393,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 397
    functionName: install_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - install_run
    - r_context_register_progress_callback
    - g_error_free
    - g_unix_signal_add
    - g_clear_pointer
    - install_args_new
    - g_strdupv
    - r_installer_call_install_bundle_sync
    - g_steal_pointer
    - r_installer_proxy_new_for_bus_sync
    - resolve_bundle_path
    - g_strdup
    - g_signal_connect
    - g_debug
    - g_variant_dict_insert
    - determine_slot_states
    - g_dbus_error_strip_remote_error
    - g_getenv
    - g_main_loop_run
    - g_auto
    - G_CALLBACK
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_clear_object
    - g_print
    - g_main_loop_new
    - g_clear_error
    - g_signal_handlers_disconnect_by_data
    - install_args_free
    - g_strcmp0
    - g_printerr
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_start(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/rauc/src/main.c:406,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:409,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:415,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:421,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:426,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:427,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:428,1
    - Dst: resolve_path
      Src: /src/rauc/src/main.c:433,1
    - Dst: resolve_path
      Src: /src/rauc/src/main.c:434,1
    - Dst: g_file_test
      Src: /src/rauc/src/main.c:436,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:437,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/main.c:443,1
    - Dst: strlen
      Src: /src/rauc/src/main.c:444,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/main.c:447,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/main.c:448,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:449,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:454,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:455,1
    - Dst: create_bundle
      Src: /src/rauc/src/main.c:457,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:458,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 399
    functionDepth: 9
    functionLinenumber: 399
    functionLinenumberEnd: 466
    functionName: bundle_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_file_test
    - g_str_has_prefix
    - create_bundle
    - r_context
    - g_path_get_dirname
    - g_debug
    - g_printerr
    - g_str_has_suffix
    - resolve_path
    - strlen
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED bundle_start(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:471,1
    - Dst: r_new_image
      Src: /src/rauc/src/main.c:471,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:473,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:474,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:475,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:478,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:481,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:487,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:493,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/main.c:499,1
    - Dst: g_file_read
      Src: /src/rauc/src/main.c:500,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:502,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:503,1
    - Dst: g_file_input_stream_query_info
      Src: /src/rauc/src/main.c:508,1
    - Dst: G_FILE_INPUT_STREAM
      Src: /src/rauc/src/main.c:508,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:511,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:512,1
    - Dst: g_file_info_get_size
      Src: /src/rauc/src/main.c:517,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:518,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:521,1
    - Dst: derive_image_type_from_filename_pattern
      Src: /src/rauc/src/main.c:523,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:525,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:529,1
    - Dst: is_image_type_supported
      Src: /src/rauc/src/main.c:532,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:533,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/main.c:539,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:539,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:541,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:542,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:544,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:544,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:546,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:548,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:555,1
    - Dst: get_update_handler
      Src: /src/rauc/src/main.c:561,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:563,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:564,1
    - Dst: update_handler
      Src: /src/rauc/src/main.c:570,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:571,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:572,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:577,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 580
    functionName: write_slot_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - G_FILE_INPUT_STREAM
    - g_hash_table_iter_init
    - r_context
    - is_image_type_supported
    - g_file_input_stream_query_info
    - g_file_info_get_size
    - get_update_handler
    - g_strdup
    - update_handler
    - g_debug
    - g_file_new_for_path
    - g_hash_table_lookup
    - g_hash_table_iter_next
    - g_autoptr
    - g_file_read
    - r_new_image
    - g_print
    - g_clear_error
    - g_printerr
    - derive_image_type_from_filename_pattern
    linkageType: ''
    returnType: gboolean
    signature: gboolean write_slot_start(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:586,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:588,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:591,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:597,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:603,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:608,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:609,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:610,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:620,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:621,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:622,1
    - Dst: resign_bundle
      Src: /src/rauc/src/main.c:627,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:628,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:629,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 582
    functionDepth: 8
    functionLinenumber: 582
    functionLinenumberEnd: 636
    functionName: resign_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - r_context
    - g_debug
    - g_printerr
    - resign_bundle
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED resign_start(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:642,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:644,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:647,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:653,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:659,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:665,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:670,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:671,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:672,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:679,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:680,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:681,1
    - Dst: replace_signature
      Src: /src/rauc/src/main.c:686,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:687,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:688,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 638
    functionDepth: 7
    functionLinenumber: 638
    functionLinenumberEnd: 695
    functionName: replace_signature_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - replace_signature
    - g_debug
    - g_printerr
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED replace_signature_start(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:701,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:703,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:706,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:712,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:718,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:723,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:724,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:729,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:730,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:731,1
    - Dst: extract_signature
      Src: /src/rauc/src/main.c:736,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:737,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 745
    functionName: extract_signature_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - g_debug
    - g_printerr
    - extract_signature
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED extract_signature_start(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:750,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:752,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:755,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:761,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:767,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:772,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:773,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/main.c:776,1
    - Dst: strlen
      Src: /src/rauc/src/main.c:777,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:780,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:781,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:786,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:787,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:788,1
    - Dst: extract_bundle
      Src: /src/rauc/src/main.c:793,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:794,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 801
    functionName: extract_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - g_strdup
    - g_debug
    - g_printerr
    - extract_bundle
    - g_str_has_suffix
    - strlen
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean extract_start(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:807,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:809,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:811,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:812,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:813,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:819,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:825,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:831,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:836,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:837,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:844,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:845,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:846,1
    - Dst: create_casync_bundle
      Src: /src/rauc/src/main.c:851,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:852,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:853,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:858,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 803
    functionDepth: 10
    functionLinenumber: 803
    functionLinenumberEnd: 862
    functionName: convert_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - r_context
    - g_debug
    - g_printerr
    - g_print
    - create_casync_bundle
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED convert_start(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:867,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:869,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:871,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:872,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:878,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:884,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:890,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:895,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:896,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:898,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:899,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:900,1
    - Dst: encrypt_bundle
      Src: /src/rauc/src/main.c:905,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:906,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:907,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 864
    functionDepth: 6
    functionLinenumber: 864
    functionLinenumberEnd: 916
    functionName: encrypt_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - encrypt_bundle
    - r_context
    - g_debug
    - g_printerr
    - g_print
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED encrypt_start(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/rauc/src/main.c:931,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:934,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:938,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:941,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:944,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:946,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:949,1
    - Dst: g_string_free
      Src: /src/rauc/src/main.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - entries
    - varname
    - outer_idx
    - middle_idx
    - cnt
    argTypes:
    - GPtrArray*
    - gchar*
    - gint
    - gint
    - guint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 950
    functionName: formatter_shell_append_idx_str
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - g_ptr_array_add
    - g_string_free
    - g_string_append_printf
    - g_string_new
    linkageType: ''
    returnType: void
    signature: void formatter_shell_append_idx_str(GPtrArray *entries, const gchar*
      varname, gint outer_idx, gint middle_idx, guint cnt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:954,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/main.c:954,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:959,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:960,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:961,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:962,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:963,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:964,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/main.c:964,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:965,1
    - Dst: g_list_length
      Src: /src/rauc/src/main.c:965,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/main.c:967,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:969,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:971,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:973,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:974,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:975,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:977,1
    - Dst: r_shell_from_manifest_meta
      Src: /src/rauc/src/main.c:979,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:984,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:985,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:986,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:987,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:988,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:989,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/main.c:991,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:993,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:996,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:999,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1001,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1003,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1004,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1005,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:1007,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1010,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1011,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1012,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1016,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1017,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1018,1
    - Dst: g_string_new
      Src: /src/rauc/src/main.c:1021,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1022,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:1025,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1026,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1028,1
    - Dst: g_string_free
      Src: /src/rauc/src/main.c:1028,1
    - Dst: r_ptr_array_env_to_shell
      Src: /src/rauc/src/main.c:1034,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1035
    functionName: info_formatter_shell
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - g_ptr_array_new
    - r_ptr_array_add_printf
    - r_ptr_array_env_to_shell
    - g_ptr_array_add
    - r_manifest_bundle_format_to_str
    - g_string_free
    - g_string_append
    - g_string_new
    - g_ptr_array_new_with_free_func
    - g_string_append_printf
    - g_list_length
    - g_ptr_array_unref
    - r_shell_from_manifest_meta
    - g_strjoinv
    - g_free
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *info_formatter_shell(RaucManifest *manifest)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/rauc/src/main.c:1039,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1045,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1046,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1047,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1048,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/main.c:1050,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1052,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1054,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1056,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1057,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1058,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1060,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/main.c:1060,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1063,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1065,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1067,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1070,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1073,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1074,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1075,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1077,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:1079,1
    - Dst: g_hash_table_size
      Src: /src/rauc/src/main.c:1081,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1086,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:1088,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:1089,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1093,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:1095,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:1096,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1097,1
    - Dst: g_list_length
      Src: /src/rauc/src/main.c:1102,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1103,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1107,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1109,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1111,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1113,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1115,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1118,1
    - Dst: g_format_size_full
      Src: /src/rauc/src/main.c:1120,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1121,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1122,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/main.c:1125,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1127,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1130,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1133,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1135,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1137,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1138,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1139,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:1141,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1144,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1145,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1146,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1150,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1151,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1152,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1155,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1157,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:1159,1
    - Dst: g_string_free
      Src: /src/rauc/src/main.c:1165,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1166
    functionName: info_formatter_readable
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - g_ptr_array_new
    - g_ptr_array_add
    - g_hash_table_iter_init
    - r_manifest_bundle_format_to_str
    - g_string_free
    - g_format_size_full
    - g_hash_table_size
    - g_string_append_printf
    - g_string_append
    - g_list_length
    - g_ptr_array_unref
    - g_hash_table_iter_next
    - g_string_new
    - g_strjoinv
    - g_free
    linkageType: ''
    returnType: gchar
    signature: gchar *info_formatter_readable(RaucManifest *manifest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/main.c:1173,1
    - Dst: JSON_IS_BUILDER
      Src: /src/rauc/src/main.c:1173,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1175,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1178,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - builder
    - strv
    argTypes:
    - JsonBuilder*
    - GStrv
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1182
    functionName: strv_to_json_array
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - json_builder_add_string_value
    - json_builder_begin_array
    - json_builder_end_array
    - JSON_IS_BUILDER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void strv_to_json_array(JsonBuilder *builder, GStrv strv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/main.c:1187,1
    - Dst: JSON_IS_BUILDER
      Src: /src/rauc/src/main.c:1187,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/main.c:1188,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1190,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1192,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - builder
    - ptrarray
    argTypes:
    - JsonBuilder*
    - GPtrArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1195
    functionName: ptrarray_to_json_array
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - json_builder_add_string_value
    - json_builder_begin_array
    - json_builder_end_array
    - JSON_IS_BUILDER
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void ptrarray_to_json_array(JsonBuilder *builder, GPtrArray *ptrarray)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1201,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1202,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1203,1
    - Dst: json_builder_new
      Src: /src/rauc/src/main.c:1203,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1205,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1207,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1208,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1210,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1211,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1213,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1214,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1216,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1217,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1219,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1220,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/main.c:1220,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1222,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1223,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1225,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1227,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1229,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1230,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1232,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1233,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1238,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1239,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1240,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1241,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1242,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1243,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1244,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1245,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1246,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1247,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1248,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1249,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1250,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1251,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/src/main.c:1252,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1253,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1254,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1256,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1259,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1262,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1264,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1265,1
    - Dst: strv_to_json_array
      Src: /src/rauc/src/main.c:1266,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1268,1
    - Dst: strv_to_json_array
      Src: /src/rauc/src/main.c:1269,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1272,1
    - Dst: ptrarray_to_json_array
      Src: /src/rauc/src/main.c:1273,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1275,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1276,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1279,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1281,1
    - Dst: json_generator_new
      Src: /src/rauc/src/main.c:1283,1
    - Dst: json_builder_get_root
      Src: /src/rauc/src/main.c:1284,1
    - Dst: json_generator_set_root
      Src: /src/rauc/src/main.c:1285,1
    - Dst: json_generator_set_pretty
      Src: /src/rauc/src/main.c:1286,1
    - Dst: json_generator_to_data
      Src: /src/rauc/src/main.c:1287,1
    - Dst: g_error
      Src: /src/rauc/src/main.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 76
    argCount: 2
    argNames:
    - manifest
    - pretty
    argTypes:
    - RaucManifest*
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1292
    functionName: info_formatter_json_base
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - json_builder_begin_object
    - json_generator_to_data
    - json_generator_new
    - json_builder_add_string_value
    - json_builder_set_member_name
    - json_builder_begin_array
    - r_manifest_bundle_format_to_str
    - json_builder_end_array
    - strv_to_json_array
    - g_error
    - json_builder_new
    - json_builder_end_object
    - json_builder_get_root
    - json_builder_add_int_value
    - json_generator_set_root
    - ptrarray_to_json_array
    - json_generator_set_pretty
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * info_formatter_json_base(RaucManifest *manifest, gboolean pretty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_formatter_json_base
      Src: /src/rauc/src/main.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1297
    functionName: info_formatter_json
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - info_formatter_json_base
    linkageType: ''
    returnType: gchar
    signature: gchar * info_formatter_json(RaucManifest *manifest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info_formatter_json_base
      Src: /src/rauc/src/main.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: info_formatter_json_pretty
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - info_formatter_json_base
    linkageType: ''
    returnType: gchar
    signature: gchar * info_formatter_json_pretty(RaucManifest *manifest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1307,1
    - Dst: json_generator_new
      Src: /src/rauc/src/main.c:1307,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1308,1
    - Dst: r_manifest_to_dict
      Src: /src/rauc/src/main.c:1308,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1309,1
    - Dst: json_gvariant_serialize
      Src: /src/rauc/src/main.c:1309,1
    - Dst: json_generator_set_root
      Src: /src/rauc/src/main.c:1311,1
    - Dst: json_generator_set_pretty
      Src: /src/rauc/src/main.c:1312,1
    - Dst: json_generator_to_data
      Src: /src/rauc/src/main.c:1313,1
    - Dst: g_error
      Src: /src/rauc/src/main.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1318
    functionName: info_formatter_json_2
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - json_generator_to_data
    - json_generator_new
    - json_gvariant_serialize
    - g_error
    - r_manifest_to_dict
    - json_generator_set_root
    - json_generator_set_pretty
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * info_formatter_json_2(RaucManifest *manifest)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1323,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1324,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:1332,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:1338,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1343,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1345,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1347,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1349,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1351,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:1354,1
    - Dst: resolve_bundle_path
      Src: /src/rauc/src/main.c:1358,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:1361,1
    - Dst: g_assert
      Src: /src/rauc/src/main.c:1368,1
    - Dst: assemble_info_headers
      Src: /src/rauc/src/main.c:1369,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:1371,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:1373,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:1374,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:1379,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/src/main.c:1381,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:1383,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:1384,1
    - Dst: formatter
      Src: /src/rauc/src/main.c:1389,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1390,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1391,1
    - Dst: sigdata_to_string
      Src: /src/rauc/src/main.c:1394,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1395,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1396,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1401,1
    - Dst: envelopeddata_to_string
      Src: /src/rauc/src/main.c:1403,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1404,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1405,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1409,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1411,1
    - Dst: format_cert_chain
      Src: /src/rauc/src/main.c:1415,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:1416,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1417,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1320
    functionDepth: 6
    functionLinenumber: 1320
    functionLinenumberEnd: 1423
    functionName: info_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - envelopeddata_to_string
    - g_assert
    - sigdata_to_string
    - g_strcmp0
    - g_debug
    - g_printerr
    - format_cert_chain
    - g_print
    - assemble_info_headers
    - load_manifest_from_bundle
    - g_autoptr
    - g_free
    - formatter
    - g_steal_pointer
    - resolve_bundle_path
    linkageType: ''
    returnType: gboolean
    signature: gboolean info_start(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/main.c:1441,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1442,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1443,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1444,1
    - Dst: g_hash_table_unref
      Src: /src/rauc/src/main.c:1446,1
    - Dst: g_variant_unref
      Src: /src/rauc/src/main.c:1448,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - status
    argTypes:
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1451
    functionName: free_status_print
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_variant_unref
    - g_hash_table_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: void free_status_print(RaucStatusPrint *status)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_string_append_unichar
      Src: /src/rauc/src/main.c:1463,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1465,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:1467,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1469,1
    - Dst: r_slot_slotstate_to_str
      Src: /src/rauc/src/main.c:1477,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1479,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1481,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1483,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1485,1
    - Dst: r_slot_bootstate_to_str
      Src: /src/rauc/src/main.c:1485,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1487,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1488,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1489,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1491,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1493,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1495,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1497,1
    - Dst: g_format_size_full
      Src: /src/rauc/src/main.c:1499,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1500,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1501,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1502,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1504,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1506,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1507,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1508,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1511,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1514,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1515,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1516,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1517,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1520,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/main.c:1522,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - text
    - slot
    - status
    argTypes:
    - GString*
    - RaucSlot*
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1523
    functionName: r_string_append_slot
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - g_date_time_format
    - g_string_append_unichar
    - r_slot_slotstate_to_str
    - g_format_size_full
    - g_string_append_printf
    - r_slot_bootstate_to_str
    - g_string_append
    linkageType: ''
    returnType: void
    signature: void r_string_append_slot(GString *text, RaucSlot *slot, RaucStatusPrint
      *status)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1528,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1529,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1531,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1532,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1534,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1535,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1539,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1540,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1544,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1545,1
    - Dst: g_variant_n_children
      Src: /src/rauc/src/main.c:1546,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1548,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1550,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1554,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1556,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1557,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1558,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1560,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1561,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1563,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1565,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1566,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1567,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1571,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1574,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1576,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1579,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1581,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1583,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - text
    - repo_var
    - status
    argTypes:
    - GString*
    - GVariant*
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1591
    functionName: r_string_append_repo
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_string_append_printf
    - g_variant_n_children
    - g_variant_iter_loop
    - g_variant_iter_init
    - g_strjoinv
    - g_variant_lookup
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_string_append_repo(GString *text, GVariant *repo_var, RaucStatusPrint
      *status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/rauc/src/main.c:1595,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:1599,1
    - Dst: r_slot_get_booted
      Src: /src/rauc/src/main.c:1601,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1603,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1604,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1605,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1606,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1607,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1609,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1611,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/main.c:1613,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1615,1
    - Dst: r_slot_get_root_classes
      Src: /src/rauc/src/main.c:1616,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1619,1
    - Dst: r_slot_get_all_of_class
      Src: /src/rauc/src/main.c:1621,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1626,1
    - Dst: r_string_append_slot
      Src: /src/rauc/src/main.c:1628,1
    - Dst: r_slot_get_all_children
      Src: /src/rauc/src/main.c:1630,1
    - Dst: r_string_append_slot
      Src: /src/rauc/src/main.c:1634,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1637,1
    - Dst: g_variant_n_children
      Src: /src/rauc/src/main.c:1641,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1642,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1644,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1646,1
    - Dst: r_string_append_repo
      Src: /src/rauc/src/main.c:1647,1
    - Dst: g_string_append
      Src: /src/rauc/src/main.c:1649,1
    - Dst: g_string_free
      Src: /src/rauc/src/main.c:1653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - status
    argTypes:
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1593
    functionDepth: 2
    functionLinenumber: 1593
    functionLinenumberEnd: 1654
    functionName: r_status_formatter_readable
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_variant_iter_loop
    - r_slot_get_all_children
    - r_string_append_repo
    - r_slot_get_booted
    - g_variant_iter_init
    - r_slot_get_root_classes
    - g_string_free
    - r_string_append_slot
    - g_string_append_printf
    - g_variant_n_children
    - r_slot_get_all_of_class
    - g_autoptr
    - g_string_new
    - g_string_append
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * r_status_formatter_readable(RaucStatusPrint *status)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1660,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/main.c:1660,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:1666,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1668,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1669,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1670,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1671,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1672,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/main.c:1674,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/main.c:1675,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:1676,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:1677,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1678,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1679,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:1679,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1681,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/main.c:1682,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1684,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1685,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1686,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1687,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1688,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:1689,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:1691,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/main.c:1692,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:1695,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:1696,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1701,1
    - Dst: r_slot_slotstate_to_str
      Src: /src/rauc/src/main.c:1701,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1702,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1703,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1704,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1705,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1706,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1707,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1709,1
    - Dst: r_slot_bootstate_to_str
      Src: /src/rauc/src/main.c:1709,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1711,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1715,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1716,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1717,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1718,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1719,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1720,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1721,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1723,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1724,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1725,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1727,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1728,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1729,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1730,1
    - Dst: g_variant_n_children
      Src: /src/rauc/src/main.c:1735,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1737,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1739,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1743,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1744,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1746,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1747,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1749,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1750,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1754,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1755,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1759,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1760,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1762,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1765,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1768,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1769,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1772,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1773,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/main.c:1775,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:1778,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1781,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1782,1
    - Dst: g_variant_lookup
      Src: /src/rauc/src/main.c:1787,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1789,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/main.c:1792,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/main.c:1793,1
    - Dst: formatter_shell_append_idx_str
      Src: /src/rauc/src/main.c:1798,1
    - Dst: formatter_shell_append_idx_str
      Src: /src/rauc/src/main.c:1801,1
    - Dst: formatter_shell_append_idx_str
      Src: /src/rauc/src/main.c:1805,1
    - Dst: r_ptr_array_env_to_shell
      Src: /src/rauc/src/main.c:1807,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 109
    argCount: 1
    argNames:
    - status
    argTypes:
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1808
    functionName: r_status_formatter_shell
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_env_to_shell
    - g_hash_table_iter_init
    - g_ptr_array_add
    - g_date_time_format
    - g_variant_iter_init
    - g_variant_lookup
    - r_ptr_array_add_printf
    - g_ptr_array_new_with_free_func
    - g_variant_n_children
    - g_ptr_array_unref
    - g_strdup_printf
    - g_hash_table_iter_next
    - g_autoptr
    - g_ptr_array_new
    - formatter_shell_append_idx_str
    - g_strjoinv
    - g_free
    - g_return_val_if_fail
    - r_slot_slotstate_to_str
    - g_variant_iter_loop
    - r_slot_bootstate_to_str
    linkageType: ''
    returnType: gchar
    signature: gchar * r_status_formatter_shell(RaucStatusPrint *status)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1813,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1814,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:1816,1
    - Dst: json_builder_new
      Src: /src/rauc/src/main.c:1816,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:1819,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1821,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1823,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1824,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1826,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1827,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1829,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1830,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1832,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1833,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1835,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1836,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1838,1
    - Dst: json_builder_begin_array
      Src: /src/rauc/src/main.c:1839,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:1841,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:1842,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1845,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1846,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1847,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1848,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1849,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1850,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1851,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1852,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1853,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1854,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1855,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1856,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1857,1
    - Dst: r_slot_slotstate_to_str
      Src: /src/rauc/src/main.c:1857,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1858,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1859,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1860,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1861,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1862,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1864,1
    - Dst: r_slot_bootstate_to_str
      Src: /src/rauc/src/main.c:1864,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1866,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1868,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1869,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1870,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1871,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1872,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1873,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1875,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1876,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1879,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1880,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1883,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1884,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1887,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1888,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1890,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1892,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1893,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1894,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1895,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1896,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/src/main.c:1897,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1898,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1901,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1902,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1903,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1904,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1905,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1906,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/src/main.c:1907,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1908,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/main.c:1911,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1912,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/main.c:1913,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1914,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1915,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1916,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/src/main.c:1917,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1918,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1921,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/main.c:1922,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1924,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1926,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1927,1
    - Dst: json_builder_end_array
      Src: /src/rauc/src/main.c:1930,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/main.c:1933,1
    - Dst: json_builder_add_value
      Src: /src/rauc/src/main.c:1934,1
    - Dst: json_gvariant_serialize
      Src: /src/rauc/src/main.c:1934,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/main.c:1937,1
    - Dst: json_generator_new
      Src: /src/rauc/src/main.c:1939,1
    - Dst: json_builder_get_root
      Src: /src/rauc/src/main.c:1940,1
    - Dst: json_generator_set_root
      Src: /src/rauc/src/main.c:1941,1
    - Dst: json_generator_set_pretty
      Src: /src/rauc/src/main.c:1942,1
    - Dst: json_generator_to_data
      Src: /src/rauc/src/main.c:1943,1
    - Dst: g_error
      Src: /src/rauc/src/main.c:1945,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 116
    argCount: 2
    argNames:
    - status
    - pretty
    argTypes:
    - RaucStatusPrint*
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1948
    functionName: r_status_formatter_json
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - json_builder_set_member_name
    - g_hash_table_iter_init
    - g_date_time_format
    - json_builder_begin_array
    - r_slot_bootstate_to_str
    - json_builder_begin_object
    - json_generator_to_data
    - json_gvariant_serialize
    - json_builder_end_array
    - g_hash_table_iter_next
    - json_builder_add_int_value
    - json_builder_end_object
    - json_generator_set_pretty
    - g_autoptr
    - json_builder_add_value
    - g_error
    - g_return_val_if_fail
    - json_generator_new
    - json_builder_add_string_value
    - r_slot_slotstate_to_str
    - json_builder_new
    - json_generator_set_root
    - json_builder_get_root
    linkageType: ''
    returnType: gchar
    signature: gchar * r_status_formatter_json(RaucStatusPrint *status, gboolean pretty)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/src/main.c:1952,1
    - Dst: g_auto
      Src: /src/rauc/src/main.c:1953,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/main.c:1953,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1957,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1958,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1959,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1960,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1961,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1962,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1963,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1965,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1966,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1967,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/rauc/src/main.c:1969,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1970,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1971,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/rauc/src/main.c:1973,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - vardict
    argTypes:
    - GVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1977
    functionName: r_variant_get_slot_state
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_variant_dict_lookup
    - g_date_time_new_from_iso8601
    - G_VARIANT_DICT_INIT
    - g_new0
    linkageType: ''
    returnType: RaucSlotStatus
    signature: RaucSlotStatus * r_variant_get_slot_state(GVariant *vardict)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:1990,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:1990,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:2000,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:2001,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/main.c:2003,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/src/main.c:2005,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2009,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2010,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2011,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2015,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2019,1
    - Dst: r_installer_call_get_slot_status_sync
      Src: /src/rauc/src/main.c:2020,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2021,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2022,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2023,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2027,1
    - Dst: g_object_unref
      Src: /src/rauc/src/main.c:2028,1
    - Dst: g_variant_get
      Src: /src/rauc/src/main.c:2032,1
    - Dst: g_variant_iter_loop
      Src: /src/rauc/src/main.c:2033,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/main.c:2042,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2043,1
    - Dst: g_new0
      Src: /src/rauc/src/main.c:2048,1
    - Dst: g_intern_string
      Src: /src/rauc/src/main.c:2049,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/main.c:2050,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2051,1
    - Dst: g_intern_string
      Src: /src/rauc/src/main.c:2052,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2053,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2054,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2055,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2056,1
    - Dst: r_slot_str_to_slotstate
      Src: /src/rauc/src/main.c:2057,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2058,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2059,1
    - Dst: g_new0
      Src: /src/rauc/src/main.c:2064,1
    - Dst: g_intern_string
      Src: /src/rauc/src/main.c:2065,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2067,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/main.c:2068,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2069,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2071,1
    - Dst: r_variant_get_slot_state
      Src: /src/rauc/src/main.c:2078,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/main.c:2080,1
    - Dst: g_variant_dict_clear
      Src: /src/rauc/src/main.c:2081,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:2086,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:2087,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/main.c:2090,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/main.c:2091,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/main.c:2092,1
    - Dst: g_variant_iter_free
      Src: /src/rauc/src/main.c:2097,1
    - Dst: g_variant_unref
      Src: /src/rauc/src/main.c:2098,1
    - Dst: g_object_unref
      Src: /src/rauc/src/main.c:2099,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - slots
    - error
    argTypes:
    - GHashTable**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2102
    functionName: retrieve_slot_states_via_dbus
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_error_free
    - g_hash_table_iter_init
    - r_slot_str_to_slotstate
    - g_clear_pointer
    - g_hash_table_new_full
    - g_intern_string
    - g_variant_dict_clear
    - g_variant_iter_free
    - r_installer_proxy_new_for_bus_sync
    - r_variant_get_slot_state
    - g_hash_table_insert
    - g_debug
    - r_installer_call_get_slot_status_sync
    - g_hash_table_lookup
    - g_assert_nonnull
    - g_hash_table_iter_next
    - g_dbus_error_strip_remote_error
    - g_getenv
    - g_new0
    - g_set_error
    - g_variant_unref
    - g_return_val_if_fail
    - g_object_unref
    - g_variant_dict_lookup
    - g_strcmp0
    - g_variant_iter_loop
    - g_variant_dict_init
    - g_warning
    - g_variant_get
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean retrieve_slot_states_via_dbus(GHashTable **slots, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2116,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:2116,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2120,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:2123,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/main.c:2124,1
    - Dst: g_new0
      Src: /src/rauc/src/main.c:2126,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/src/main.c:2128,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2132,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2136,1
    - Dst: r_installer_call_get_primary_sync
      Src: /src/rauc/src/main.c:2140,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2141,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2142,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2143,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2144,1
    - Dst: r_installer_dup_variant
      Src: /src/rauc/src/main.c:2147,1
    - Dst: r_installer_dup_system_version
      Src: /src/rauc/src/main.c:2148,1
    - Dst: r_installer_dup_compatible
      Src: /src/rauc/src/main.c:2149,1
    - Dst: r_installer_dup_boot_slot
      Src: /src/rauc/src/main.c:2150,1
    - Dst: retrieve_slot_states_via_dbus
      Src: /src/rauc/src/main.c:2153,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/main.c:2154,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/main.c:2160,1
    - Dst: r_installer_call_get_artifact_status_sync
      Src: /src/rauc/src/main.c:2162,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2163,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2164,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2165,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2169,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:2173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - status_print
    - error
    argTypes:
    - RaucStatusPrint**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2114
    functionDepth: 2
    functionLinenumber: 2114
    functionLinenumberEnd: 2176
    functionName: retrieve_status_via_dbus
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_installer_dup_variant
    - g_error_free
    - r_installer_dup_boot_slot
    - g_steal_pointer
    - r_installer_proxy_new_for_bus_sync
    - retrieve_slot_states_via_dbus
    - g_hash_table_lookup
    - g_dbus_error_strip_remote_error
    - g_getenv
    - g_autoptr
    - r_installer_dup_system_version
    - g_propagate_error
    - g_new0
    - g_set_error
    - g_return_val_if_fail
    - g_clear_error
    - r_installer_call_get_artifact_status_sync
    - r_installer_dup_compatible
    - g_strcmp0
    - g_warning
    - r_installer_call_get_primary_sync
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean retrieve_status_via_dbus(RaucStatusPrint **status_print, GError
      **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2181,1
    - Dst: r_status_formatter_readable
      Src: /src/rauc/src/main.c:2182,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2183,1
    - Dst: r_status_formatter_shell
      Src: /src/rauc/src/main.c:2184,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2185,1
    - Dst: r_status_formatter_json
      Src: /src/rauc/src/main.c:2186,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2187,1
    - Dst: r_status_formatter_json
      Src: /src/rauc/src/main.c:2188,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2190,1
    - Dst: g_strchomp
      Src: /src/rauc/src/main.c:2194,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:2195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - status_print
    argTypes:
    - RaucStatusPrint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2178
    functionDepth: 3
    functionLinenumber: 2178
    functionLinenumberEnd: 2198
    functionName: print_status
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_status_formatter_readable
    - g_strchomp
    - r_status_formatter_json
    - r_status_formatter_shell
    - g_strcmp0
    - g_printerr
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: gboolean print_status(RaucStatusPrint *status_print)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2202,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:2202,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2210,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2212,1
    - Dst: determine_slot_states
      Src: /src/rauc/src/main.c:2216,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2218,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2219,1
    - Dst: determine_boot_states
      Src: /src/rauc/src/main.c:2224,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2226,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2227,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:2234,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2234,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:2235,1
    - Dst: r_slot_status_load
      Src: /src/rauc/src/main.c:2236,1
    - Dst: g_new0
      Src: /src/rauc/src/main.c:2238,1
    - Dst: r_artifacts_init
      Src: /src/rauc/src/main.c:2241,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2242,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2243,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/src/main.c:2248,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2250,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2251,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:2254,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2254,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:2255,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2255,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:2256,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2256,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:2257,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2257,1
    - Dst: g_hash_table_ref
      Src: /src/rauc/src/main.c:2258,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2258,1
    - Dst: r_artifacts_to_dict
      Src: /src/rauc/src/main.c:2259,1
    - Dst: retrieve_status_via_dbus
      Src: /src/rauc/src/main.c:2261,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2262,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2264,1
    - Dst: print_status
      Src: /src/rauc/src/main.c:2271,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2280,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2285,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2287,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2289,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2292,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2298,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/src/main.c:2300,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2304,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2305,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2306,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2307,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2311,1
    - Dst: r_installer_call_mark_sync
      Src: /src/rauc/src/main.c:2312,1
    - Dst: g_dbus_error_is_remote_error
      Src: /src/rauc/src/main.c:2314,1
    - Dst: g_dbus_error_strip_remote_error
      Src: /src/rauc/src/main.c:2315,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2316,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2317,1
    - Dst: mark_run
      Src: /src/rauc/src/main.c:2322,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2324,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:2329,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2200
    functionDepth: 4
    functionLinenumber: 2200
    functionLinenumberEnd: 2332
    functionName: status_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_artifacts_to_dict
    - r_artifacts_init
    - r_boot_get_primary
    - g_error_free
    - g_hash_table_iter_init
    - r_context
    - r_slot_status_load
    - r_installer_proxy_new_for_bus_sync
    - retrieve_status_via_dbus
    - g_hash_table_ref
    - g_strdup
    - g_debug
    - r_installer_call_mark_sync
    - determine_slot_states
    - g_hash_table_iter_next
    - g_dbus_error_strip_remote_error
    - g_getenv
    - g_autoptr
    - g_print
    - g_new0
    - print_status
    - g_clear_error
    - determine_boot_states
    - mark_run
    - g_strcmp0
    - g_printerr
    - g_dbus_error_is_remote_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean status_start(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_event_log_level_to_priority
      Src: /src/rauc/src/main.c:2343,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/main.c:2352,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:2354,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2358,1
    - Dst: g_log_structured_array
      Src: /src/rauc/src/main.c:2364,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/src/main.c:2364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - booted_slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2365
    functionName: r_event_log_booted
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_event_log_level_to_priority
    - G_N_ELEMENTS
    - r_context
    - g_log_structured_array
    - g_strdup_printf
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_event_log_booted(const RaucSlot *booted_slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_event_log_level_to_priority
      Src: /src/rauc/src/main.c:2373,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:2379,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2381,1
    - Dst: g_log_structured_array
      Src: /src/rauc/src/main.c:2382,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/src/main.c:2382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2367
    functionDepth: 1
    functionLinenumber: 2367
    functionLinenumberEnd: 2383
    functionName: r_event_log_booted_external
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_event_log_level_to_priority
    - G_N_ELEMENTS
    - r_context
    - g_log_structured_array
    - g_strdup_printf
    linkageType: ''
    returnType: void
    signature: void r_event_log_booted_external(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2388,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2392,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2393,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/main.c:2395,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2396,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:2400,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2400,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:2402,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2411,1
    - Dst: r_update_symlink
      Src: /src/rauc/src/main.c:2413,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2414,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2418,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2419,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/main.c:2421,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2422,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/main.c:2426,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2426,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/main.c:2428,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2429,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2433,1
    - Dst: g_build_filename
      Src: /src/rauc/src/main.c:2438,1
    - Dst: r_update_symlink
      Src: /src/rauc/src/main.c:2441,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2442,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2385
    functionDepth: 1
    functionLinenumber: 2385
    functionLinenumberEnd: 2445
    functionName: create_run_links
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_mkdir_with_parents
    - g_hash_table_iter_init
    - r_update_symlink
    - r_context
    - g_hash_table_iter_next
    - g_build_filename
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED create_run_links(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2450,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2452,1
    - Dst: determine_slot_states
      Src: /src/rauc/src/main.c:2454,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2455,1
    - Dst: r_artifacts_init
      Src: /src/rauc/src/main.c:2460,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2461,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2462,1
    - Dst: create_run_links
      Src: /src/rauc/src/main.c:2467,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2469,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2471,1
    - Dst: g_message
      Src: /src/rauc/src/main.c:2472,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2473,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2473,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2473,1
    - Dst: r_event_log_message
      Src: /src/rauc/src/main.c:2474,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2476,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2476,1
    - Dst: r_event_log_booted_external
      Src: /src/rauc/src/main.c:2477,1
    - Dst: r_slot_get_booted
      Src: /src/rauc/src/main.c:2479,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2479,1
    - Dst: r_slot_status_load
      Src: /src/rauc/src/main.c:2481,1
    - Dst: r_event_log_booted
      Src: /src/rauc/src/main.c:2483,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:2487,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2487,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2488,1
    - Dst: g_strdup
      Src: /src/rauc/src/main.c:2488,1
    - Dst: r_context
      Src: /src/rauc/src/main.c:2488,1
    - Dst: r_system_status_save
      Src: /src/rauc/src/main.c:2490,1
    - Dst: g_warning
      Src: /src/rauc/src/main.c:2491,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2492,1
    - Dst: r_event_log_message
      Src: /src/rauc/src/main.c:2496,1
    - Dst: r_service_run
      Src: /src/rauc/src/main.c:2499,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2500,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2447
    functionDepth: 2
    functionLinenumber: 2447
    functionLinenumberEnd: 2508
    functionName: service_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - r_artifacts_init
    - r_context
    - r_event_log_booted
    - r_slot_status_load
    - create_run_links
    - g_strdup
    - g_debug
    - r_event_log_message
    - determine_slot_states
    - g_autoptr
    - r_slot_get_booted
    - r_service_run
    - r_system_status_save
    - g_free
    - g_clear_error
    - r_event_log_booted_external
    - g_strcmp0
    - g_printerr
    - g_message
    - g_warning
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED service_start(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2513,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2518,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2523,1
    - Dst: resolve_bundle_path
      Src: /src/rauc/src/main.c:2527,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2530,1
    - Dst: check_bundle
      Src: /src/rauc/src/main.c:2532,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2534,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2535,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2539,1
    - Dst: mount_bundle
      Src: /src/rauc/src/main.c:2541,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2543,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:2544,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:2548,1
    - Dst: exit
      Src: /src/rauc/src/main.c:2556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2510
    functionDepth: 6
    functionLinenumber: 2510
    functionLinenumberEnd: 2561
    functionName: mount_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - check_bundle
    - g_debug
    - g_printerr
    - mount_bundle
    - g_print
    - exit
    - g_autoptr
    - resolve_bundle_path
    linkageType: ''
    returnType: gboolean
    signature: gboolean mount_start(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2568
    functionName: unknown_start
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_debug
    linkageType: ''
    returnType: gboolean
    signature: gboolean unknown_start(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2730,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2731,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2733,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2736,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2737,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2738,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2740,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2741,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2742,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2744,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2745,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2747,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2748,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2749,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2751,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2752,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2754,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2755,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2758,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2759,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2761,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2762,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2764,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2766,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2767,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2769,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2770,1
    - Dst: g_option_group_new
      Src: /src/rauc/src/main.c:2772,1
    - Dst: g_option_group_add_entries
      Src: /src/rauc/src/main.c:2773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2774
    functionName: create_option_groups
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_option_group_new
    - g_option_group_add_entries
    linkageType: ''
    returnType: void
    signature: void create_option_groups(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2780,1
    - Dst: g_auto
      Src: /src/rauc/src/main.c:2784,1
    - Dst: g_strsplit
      Src: /src/rauc/src/main.c:2784,1
    - Dst: g_strv_length
      Src: /src/rauc/src/main.c:2785,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2786,1
    - Dst: g_auto
      Src: /src/rauc/src/main.c:2790,1
    - Dst: g_strsplit
      Src: /src/rauc/src/main.c:2790,1
    - Dst: g_strv_length
      Src: /src/rauc/src/main.c:2791,1
    - Dst: g_set_error
      Src: /src/rauc/src/main.c:2792,1
    - Dst: g_new
      Src: /src/rauc/src/main.c:2796,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:2797,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:2798,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:2799,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:2800,1
    - Dst: g_list_append
      Src: /src/rauc/src/main.c:2800,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:2800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - option_name
    - value
    - data
    - error
    argTypes:
    - gchar*
    - gchar*
    - gpointer
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2777
    functionDepth: 1
    functionLinenumber: 2777
    functionLinenumberEnd: 2802
    functionName: collect_config_values
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_list_append
    - r_context_conf
    - g_steal_pointer
    - g_new
    - g_strsplit
    - g_set_error
    - g_strv_length
    linkageType: ''
    returnType: gboolean
    signature: gboolean collect_config_values(const gchar *option_name, const gchar
      *value, gpointer data, GError **error)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:2809,1
    - Dst: g_option_context_new
      Src: /src/rauc/src/main.c:2885,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/rauc/src/main.c:2886,1
    - Dst: g_option_context_set_ignore_unknown_options
      Src: /src/rauc/src/main.c:2887,1
    - Dst: g_option_context_add_main_entries
      Src: /src/rauc/src/main.c:2888,1
    - Dst: g_option_context_set_description
      Src: /src/rauc/src/main.c:2889,1
    - Dst: g_option_context_parse
      Src: /src/rauc/src/main.c:2919,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2920,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:2921,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:2927,1
    - Dst: g_assert
      Src: /src/rauc/src/main.c:2929,1
    - Dst: g_setenv
      Src: /src/rauc/src/main.c:2929,1
    - Dst: g_str_equal
      Src: /src/rauc/src/main.c:2930,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/main.c:2931,1
    - Dst: g_setenv
      Src: /src/rauc/src/main.c:2932,1
    - Dst: g_free
      Src: /src/rauc/src/main.c:2933,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:2935,1
    - Dst: g_message
      Src: /src/rauc/src/main.c:2936,1
    - Dst: g_debug
      Src: /src/rauc/src/main.c:2937,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/main.c:2950,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:2958,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/main.c:2973,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:2982,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/main.c:2988,1
    - Dst: g_option_context_new
      Src: /src/rauc/src/main.c:2989,1
    - Dst: g_option_context_set_summary
      Src: /src/rauc/src/main.c:2991,1
    - Dst: g_option_context_set_help_enabled
      Src: /src/rauc/src/main.c:2992,1
    - Dst: g_option_context_add_main_entries
      Src: /src/rauc/src/main.c:2993,1
    - Dst: g_option_context_add_group
      Src: /src/rauc/src/main.c:2995,1
    - Dst: g_option_context_parse
      Src: /src/rauc/src/main.c:2998,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:2999,1
    - Dst: g_error_free
      Src: /src/rauc/src/main.c:3000,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/main.c:3010,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3011,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3012,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3017,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3020,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:3020,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3022,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3027,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3029,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3032,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3034,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3036,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3038,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3040,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3042,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3044,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/main.c:3044,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3046,1
    - Dst: r_context_conf
      Src: /src/rauc/src/main.c:3048,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:3053,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/main.c:3059,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:3060,1
    - Dst: r_context_configure
      Src: /src/rauc/src/main.c:3065,1
    - Dst: g_printerr
      Src: /src/rauc/src/main.c:3066,1
    - Dst: g_clear_error
      Src: /src/rauc/src/main.c:3067,1
    - Dst: RaucCommand*::cmd_handler
      Src: /src/rauc/src/main.c:3074,1
    - Dst: g_option_context_get_help
      Src: /src/rauc/src/main.c:3079,1
    - Dst: g_print
      Src: /src/rauc/src/main.c:3080,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 2804
    functionDepth: 1
    functionLinenumber: 2804
    functionLinenumberEnd: 3081
    functionName: cmdline_handler
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_option_context_parse
    - g_error_free
    - g_clear_pointer
    - r_context_get_busy
    - g_option_context_set_description
    - g_steal_pointer
    - g_option_context_add_group
    - g_debug
    - g_strdup_printf
    - g_getenv
    - g_autoptr
    - g_str_has_prefix
    - g_option_context_set_summary
    - g_assert
    - g_str_equal
    - RaucCommand*::cmd_handler
    - g_option_context_set_ignore_unknown_options
    - g_print
    - g_option_context_get_help
    - g_free
    - g_setenv
    - g_option_context_new
    - g_option_context_add_main_entries
    - g_clear_error
    - g_option_context_set_help_enabled
    - r_context_conf
    - g_strcmp0
    - g_printerr
    - r_context_configure
    - g_message
    linkageType: ''
    returnType: void
    signature: void cmdline_handler(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GLIB_CHECK_VERSION
      Src: /src/rauc/src/main.c:3087,1
    - Dst: g_log_set_always_fatal
      Src: /src/rauc/src/main.c:3095,1
    - Dst: g_log_set_always_fatal
      Src: /src/rauc/src/main.c:3097,1
    - Dst: g_log_set_writer_func
      Src: /src/rauc/src/main.c:3100,1
    - Dst: g_assert
      Src: /src/rauc/src/main.c:3103,1
    - Dst: g_setenv
      Src: /src/rauc/src/main.c:3103,1
    - Dst: setlocale
      Src: /src/rauc/src/main.c:3106,1
    - Dst: g_get_charset
      Src: /src/rauc/src/main.c:3107,1
    - Dst: g_getenv
      Src: /src/rauc/src/main.c:3110,1
    - Dst: g_autoptr
      Src: /src/rauc/src/main.c:3111,1
    - Dst: pthread_setname_np
      Src: /src/rauc/src/main.c:3112,1
    - Dst: pthread_self
      Src: /src/rauc/src/main.c:3112,1
    - Dst: r_nbd_run_server
      Src: /src/rauc/src/main.c:3113,1
    - Dst: g_message
      Src: /src/rauc/src/main.c:3117,1
    - Dst: g_message
      Src: /src/rauc/src/main.c:3119,1
    - Dst: create_option_groups
      Src: /src/rauc/src/main.c:3125,1
    - Dst: cmdline_handler
      Src: /src/rauc/src/main.c:3126,1
    - Dst: r_context_clean
      Src: /src/rauc/src/main.c:3128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3083
    functionDepth: 5
    functionLinenumber: 3083
    functionLinenumberEnd: 3130
    functionName: main
    functionSourceFile: /src/rauc/src/main.c
    functionUses: 0
    functionsReached:
    - g_log_set_writer_func
    - r_nbd_run_server
    - create_option_groups
    - pthread_self
    - g_assert
    - GLIB_CHECK_VERSION
    - pthread_setname_np
    - g_get_charset
    - g_message
    - setlocale
    - r_context_clean
    - g_log_set_always_fatal
    - cmdline_handler
    - g_setenv
    - g_getenv
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/shell.c:7,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/shell.c:8,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/shell.c:14,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/shell.c:17,1
    - Dst: r_prepare_env_key
      Src: /src/rauc/src/shell.c:18,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/shell.c:24,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/shell.c:26,1
    - Dst: r_prepare_env_key
      Src: /src/rauc/src/shell.c:27,1
    - Dst: r_ptr_array_add_printf
      Src: /src/rauc/src/shell.c:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - shell_vars
    - manifest
    argTypes:
    - GPtrArray*
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 35
    functionName: r_shell_from_manifest_meta
    functionSourceFile: /src/rauc/src/shell.c
    functionUses: 1
    functionsReached:
    - r_ptr_array_add_printf
    - g_hash_table_iter_init
    - g_hash_table_iter_next
    - g_return_if_fail
    - r_prepare_env_key
    linkageType: ''
    returnType: void
    signature: void r_shell_from_manifest_meta(GPtrArray *shell_vars, const RaucManifest
      *manifest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts_composefs.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gconstpointer
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: strcmp0_p
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gint
    signature: gint strcmp0_p(gconstpointer a, gconstpointer b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_sized_new
      Src: /src/rauc/src/artifacts_composefs.c:28,1
    - Dst: g_hash_table_size
      Src: /src/rauc/src/artifacts_composefs.c:28,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts_composefs.c:32,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts_composefs.c:33,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts_composefs.c:34,1
    - Dst: g_ptr_array_sort
      Src: /src/rauc/src/artifacts_composefs.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - objects
    argTypes:
    - GHashTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: get_objects_sorted
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_sort
    - g_ptr_array_add
    - g_hash_table_iter_init
    - g_hash_table_size
    - g_ptr_array_sized_new
    - g_hash_table_iter_next
    linkageType: ''
    returnType: GPtrArray
    signature: GPtrArray *get_objects_sorted(GHashTable *objects)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:52,1
    - Dst: strlen
      Src: /src/rauc/src/artifacts_composefs.c:55,1
    - Dst: g_ascii_isxdigit
      Src: /src/rauc/src/artifacts_composefs.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: composefs_object_name_valid
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_ascii_isxdigit
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean composefs_object_name_valid(const gchar *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:78,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:79,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:80,1
    - Dst: lcfs_node_get_n_children
      Src: /src/rauc/src/artifacts_composefs.c:82,1
    - Dst: lcfs_node_get_child
      Src: /src/rauc/src/artifacts_composefs.c:83,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts_composefs.c:84,1
    - Dst: lcfs_node_get_mode
      Src: /src/rauc/src/artifacts_composefs.c:86,1
    - Dst: lcfs_node_get_payload
      Src: /src/rauc/src/artifacts_composefs.c:87,1
    - Dst: composefs_object_name_valid
      Src: /src/rauc/src/artifacts_composefs.c:89,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:90,1
    - Dst: g_hash_table_add
      Src: /src/rauc/src/artifacts_composefs.c:94,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts_composefs.c:94,1
    - Dst: composefs_collect_objects
      Src: /src/rauc/src/artifacts_composefs.c:97,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - objects
    - node
    - error
    argTypes:
    - GHashTable*
    - struct lcfs_node_s*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: composefs_collect_objects
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 1
    functionsReached:
    - lcfs_node_get_payload
    - lcfs_node_get_n_children
    - g_propagate_error
    - g_strdup
    - g_assert
    - composefs_object_name_valid
    - composefs_collect_objects
    - g_set_error
    - lcfs_node_get_child
    - lcfs_node_get_mode
    - g_hash_table_add
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean composefs_collect_objects(GHashTable *objects, struct lcfs_node_s
      *node, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:112,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:113,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:114,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/artifacts_composefs.c:117,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:118,1
    - Dst: lcfs_load_node_from_image
      Src: /src/rauc/src/artifacts_composefs.c:122,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:125,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts_composefs.c:126,1
    - Dst: composefs_collect_objects
      Src: /src/rauc/src/artifacts_composefs.c:130,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:132,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/artifacts_composefs.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - objects
    - image_path
    - error
    argTypes:
    - GHashTable*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: composefs_objects_from_image
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_clear_pointer
    - g_propagate_error
    - composefs_collect_objects
    - g_set_error
    - g_file_get_contents
    - lcfs_load_node_from_image
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean composefs_objects_from_image(GHashTable *objects, const gchar
      *image_path, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:144,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts_composefs.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:145,1
    - Dst: g_hash_table_destroy
      Src: /src/rauc/src/artifacts_composefs.c:148,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/artifacts_composefs.c:149,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:151,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/artifacts_composefs.c:152,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:154,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts_composefs.c:157,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts_composefs.c:160,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:164,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts_composefs.c:164,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:166,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts_composefs.c:173,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:174,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:175,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts_composefs.c:179,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts_composefs.c:180,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts_composefs.c:184,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:186,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts_composefs.c:190,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/artifacts_composefs.c:192,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:193,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts_composefs.c:195,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts_composefs.c:196,1
    - Dst: g_hash_table_add
      Src: /src/rauc/src/artifacts_composefs.c:200,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/artifacts_composefs.c:200,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts_composefs.c:204,1
    - Dst: g_hash_table_size
      Src: /src/rauc/src/artifacts_composefs.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 210
    functionName: r_composefs_artifact_repo_prepare
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_hash_table_size
    - g_hash_table_new_full
    - g_build_filename
    - g_hash_table_destroy
    - g_steal_pointer
    - g_dir_open
    - g_strdup_printf
    - g_autoptr
    - g_mkdir_with_parents
    - g_dir_read_name
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - g_hash_table_add
    - g_return_val_if_fail
    - g_strerror
    - g_strcmp0
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_repo_prepare(RArtifactRepo *repo, GError
      **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:216,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:217,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts_composefs.c:217,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:218,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:220,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/artifacts_composefs.c:220,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts_composefs.c:223,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts_composefs.c:224,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts_composefs.c:228,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts_composefs.c:229,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:230,1
    - Dst: composefs_objects_from_image
      Src: /src/rauc/src/artifacts_composefs.c:231,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:232,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts_composefs.c:241,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts_composefs.c:242,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/src/artifacts_composefs.c:243,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts_composefs.c:246,1
    - Dst: g_hash_table_iter_remove
      Src: /src/rauc/src/artifacts_composefs.c:248,1
    - Dst: g_warning
      Src: /src/rauc/src/artifacts_composefs.c:252,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:257,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts_composefs.c:258,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts_composefs.c:259,1
    - Dst: g_hash_table_contains
      Src: /src/rauc/src/artifacts_composefs.c:260,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:263,1
    - Dst: unlink
      Src: /src/rauc/src/artifacts_composefs.c:264,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:266,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts_composefs.c:268,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts_composefs.c:270,1
    - Dst: g_hash_table_iter_remove
      Src: /src/rauc/src/artifacts_composefs.c:274,1
    - Dst: g_info
      Src: /src/rauc/src/artifacts_composefs.c:277,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:281,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts_composefs.c:281,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:283,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts_composefs.c:288,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:289,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts_composefs.c:291,1
    - Dst: rmdir
      Src: /src/rauc/src/artifacts_composefs.c:294,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:298,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts_composefs.c:300,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts_composefs.c:301,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 307
    functionName: r_composefs_artifact_repo_prune
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_hash_table_iter_init
    - g_hash_table_new_full
    - g_build_filename
    - g_hash_table_contains
    - g_dir_open
    - g_debug
    - g_info
    - g_hash_table_iter_next
    - g_autoptr
    - composefs_objects_from_image
    - rmdir
    - g_dir_read_name
    - unlink
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - g_strcmp0
    - g_hash_table_iter_remove
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_repo_prune(RArtifactRepo *repo, GError
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_contains
      Src: /src/rauc/src/artifacts_composefs.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - user_data
    argTypes:
    - gpointer
    - gpointer
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: remove_existing
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - g_hash_table_contains
    linkageType: ''
    returnType: gboolean
    signature: gboolean remove_existing(gpointer key, gpointer value, gpointer user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:320,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:321,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:322,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts_composefs.c:322,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:323,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:324,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts_composefs.c:325,1
    - Dst: r_tree_artifact_install_extracted
      Src: /src/rauc/src/artifacts_composefs.c:328,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:329,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:334,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:335,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/artifacts_composefs.c:335,1
    - Dst: composefs_objects_from_image
      Src: /src/rauc/src/artifacts_composefs.c:337,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts_composefs.c:338,1
    - Dst: g_hash_table_foreach_remove
      Src: /src/rauc/src/artifacts_composefs.c:344,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts_composefs.c:347,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts_composefs.c:349,1
    - Dst: g_hash_table_size
      Src: /src/rauc/src/artifacts_composefs.c:349,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:352,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/artifacts_composefs.c:353,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:354,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts_composefs.c:355,1
    - Dst: get_objects_sorted
      Src: /src/rauc/src/artifacts_composefs.c:355,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/artifacts_composefs.c:358,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts_composefs.c:359,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/artifacts_composefs.c:360,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts_composefs.c:362,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts_composefs.c:365,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts_composefs.c:368,1
    - Dst: copy_file
      Src: /src/rauc/src/artifacts_composefs.c:371,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/artifacts_composefs.c:372,1
    - Dst: g_hash_table_add
      Src: /src/rauc/src/artifacts_composefs.c:375,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts_composefs.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - artifact
    - image
    - name
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 379
    functionName: r_composefs_artifact_install
    functionSourceFile: /src/rauc/src/artifacts_composefs.c
    functionUses: 0
    functionsReached:
    - r_tree_artifact_install_extracted
    - g_hash_table_size
    - g_hash_table_new_full
    - g_build_filename
    - g_propagate_prefixed_error
    - g_strdup
    - g_hash_table_foreach_remove
    - g_autoptr
    - g_mkdir_with_parents
    - composefs_objects_from_image
    - copy_file
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - get_objects_sorted
    - g_return_val_if_fail
    - g_hash_table_add
    - g_strerror
    - g_path_get_dirname
    - g_strcmp0
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_install(const RArtifact *artifact, const
      RaucImage *image, const gchar *name, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/manifest.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: r_manifest_error_quark
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_manifest_error_quark(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:28,1
    - Dst: derive_image_type_from_filename_pattern
      Src: /src/rauc/src/manifest.c:33,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:35,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - image
    - error
    argTypes:
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: handle_missing_type
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_strdup
    - derive_image_type_from_filename_pattern
    linkageType: ''
    returnType: gboolean
    signature: gboolean handle_missing_type(RaucImage *image, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:52,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:54,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:62,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:69,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - image
    - error
    argTypes:
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 79
    functionName: validate_filename_requirements
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean validate_filename_requirements(RaucImage *image, GError **error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:83,1
    - Dst: r_new_image
      Src: /src/rauc/src/manifest.c:83,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:84,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:86,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:88,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:91,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:92,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:93,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:94,1
    - Dst: g_strsplit
      Src: /src/rauc/src/manifest.c:103,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/manifest.c:104,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:104,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/src/manifest.c:105,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:107,1
    - Dst: g_strsplit
      Src: /src/rauc/src/manifest.c:108,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:109,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:112,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:113,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:116,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:117,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:119,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/manifest.c:124,1
    - Dst: g_error_matches
      Src: /src/rauc/src/manifest.c:126,1
    - Dst: g_clear_error
      Src: /src/rauc/src/manifest.c:129,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:131,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:134,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/manifest.c:136,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:138,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:140,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:142,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:145,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:150,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:152,1
    - Dst: g_error_matches
      Src: /src/rauc/src/manifest.c:155,1
    - Dst: g_clear_error
      Src: /src/rauc/src/manifest.c:156,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:158,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:168,1
    - Dst: g_error_matches
      Src: /src/rauc/src/manifest.c:169,1
    - Dst: g_clear_error
      Src: /src/rauc/src/manifest.c:170,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/manifest.c:171,1
    - Dst: handle_missing_type
      Src: /src/rauc/src/manifest.c:172,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:173,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:177,1
    - Dst: is_image_type_supported
      Src: /src/rauc/src/manifest.c:183,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:184,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:190,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:191,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:192,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/manifest.c:194,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:195,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/manifest.c:197,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:198,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/manifest.c:200,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:201,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/manifest.c:203,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/manifest.c:204,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/manifest.c:207,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:208,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:211,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:213,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 101
    argCount: 4
    argNames:
    - key_file
    - group
    - image
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - RaucImage**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 216
    functionName: parse_image
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_key_file_get_string_list
    - g_clear_pointer
    - g_assert_cmpint
    - g_steal_pointer
    - is_image_type_supported
    - g_key_file_remove_key
    - g_key_file_get_uint64
    - handle_missing_type
    - g_strdup
    - g_ptr_array_new_with_free_func
    - g_key_file_remove_group
    - g_assert_cmpstr
    - g_autoptr
    - g_strv_length
    - check_remaining_keys
    - r_ptr_array_addv
    - g_auto
    - r_new_image
    - key_file_consume_string
    - g_propagate_error
    - g_strsplit
    - g_set_error
    - g_return_val_if_fail
    - g_clear_error
    - g_error_matches
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_image(GKeyFile *key_file, const gchar *group, RaucImage
      **image, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:220,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:221,1
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:222,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:226,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:228,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:229,1
    - Dst: g_strsplit
      Src: /src/rauc/src/manifest.c:231,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:232,1
    - Dst: strchr
      Src: /src/rauc/src/manifest.c:232,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:233,1
    - Dst: r_prepare_env_key
      Src: /src/rauc/src/manifest.c:238,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/manifest.c:240,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/manifest.c:247,1
    - Dst: g_key_file_get_keys
      Src: /src/rauc/src/manifest.c:249,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:251,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:255,1
    - Dst: r_prepare_env_key
      Src: /src/rauc/src/manifest.c:259,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/manifest.c:261,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/manifest.c:268,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:268,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:268,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/manifest.c:271,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:271,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:271,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - key_file
    - group
    - raucm
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 275
    functionName: parse_meta
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - r_prepare_env_key
    - g_auto
    - g_hash_table_insert
    - g_propagate_prefixed_error
    - g_propagate_error
    - strchr
    - g_strdup
    - g_key_file_get_keys
    - key_file_consume_string
    - g_hash_table_new_full
    - g_steal_pointer
    - g_strsplit
    - g_autoptr
    - g_set_error
    - g_key_file_remove_group
    - g_strv_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_meta(GKeyFile *key_file, const gchar *group, RaucManifest
      *raucm, GError **error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:290,1
    - Dst: g_new0
      Src: /src/rauc/src/manifest.c:290,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:292,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:294,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:297,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:299,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/manifest.c:302,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:305,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:307,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:310,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:311,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:312,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:313,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/manifest.c:314,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:315,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:318,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:321,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:323,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:323,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:325,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:325,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:327,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:327,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:329,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:329,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:334,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:336,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:336,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:338,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:339,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:340,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/manifest.c:341,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:343,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:345,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:350,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:351,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/manifest.c:353,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:354,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:357,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:360,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:361,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:363,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/manifest.c:367,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:368,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:371,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/manifest.c:374,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/manifest.c:375,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/manifest.c:376,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:378,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:381,1
    - Dst: check_remaining_keys
      Src: /src/rauc/src/manifest.c:387,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:388,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:391,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/manifest.c:393,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/manifest.c:395,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/manifest.c:398,1
    - Dst: parse_image
      Src: /src/rauc/src/manifest.c:401,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/manifest.c:402,1
    - Dst: g_list_append
      Src: /src/rauc/src/manifest.c:406,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/manifest.c:409,1
    - Dst: parse_meta
      Src: /src/rauc/src/manifest.c:410,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:411,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/manifest.c:419,1
    - Dst: check_remaining_groups
      Src: /src/rauc/src/manifest.c:421,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:422,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:426,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 106
    argCount: 3
    argNames:
    - key_file
    - manifest
    - error
    argTypes:
    - GKeyFile*
    - RaucManifest**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 429
    functionName: parse_manifest
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - check_remaining_groups
    - g_ptr_array_add
    - g_key_file_get_string_list
    - g_hash_table_new_full
    - g_steal_pointer
    - g_key_file_remove_key
    - g_key_file_get_uint64
    - g_propagate_prefixed_error
    - g_list_append
    - g_strdup
    - g_ptr_array_new_with_free_func
    - parse_meta
    - g_key_file_remove_group
    - check_remaining_keys
    - g_autoptr
    - g_str_has_prefix
    - g_auto
    - key_file_consume_string
    - g_propagate_error
    - g_new0
    - g_set_error
    - g_return_val_if_fail
    - g_key_file_get_groups
    - g_strcmp0
    - parse_image
    linkageType: ''
    returnType: gboolean
    signature: gboolean parse_manifest(GKeyFile *key_file, RaucManifest **manifest,
      GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:434,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:439,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:440,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:441,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/manifest.c:443,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:445,1
    - Dst: g_compute_checksum_for_data
      Src: /src/rauc/src/manifest.c:449,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/manifest.c:451,1
    - Dst: g_key_file_load_from_data
      Src: /src/rauc/src/manifest.c:453,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:454,1
    - Dst: parse_manifest
      Src: /src/rauc/src/manifest.c:458,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:459,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - mem
    - manifest
    - error
    argTypes:
    - GBytes*
    - RaucManifest**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 466
    functionName: load_manifest_mem
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 9
    functionsReached:
    - g_propagate_error
    - parse_manifest
    - g_steal_pointer
    - g_key_file_new
    - g_compute_checksum_for_data
    - g_autoptr
    - g_set_error
    - g_bytes_get_data
    - g_key_file_load_from_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_manifest_mem(GBytes *mem, RaucManifest **manifest, GError
      **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:473,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:476,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:477,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:478,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/manifest.c:480,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:481,1
    - Dst: g_compute_checksum_for_data
      Src: /src/rauc/src/manifest.c:484,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/manifest.c:486,1
    - Dst: g_key_file_load_from_data
      Src: /src/rauc/src/manifest.c:488,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:489,1
    - Dst: parse_manifest
      Src: /src/rauc/src/manifest.c:493,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:494,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - filename
    - manifest
    - error
    argTypes:
    - gchar*
    - RaucManifest**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 501
    functionName: load_manifest_file
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 24
    functionsReached:
    - parse_manifest
    - g_steal_pointer
    - g_compute_checksum_for_data
    - g_key_file_new
    - g_propagate_error
    - g_autoptr
    - g_file_get_contents
    - g_key_file_load_from_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_manifest_file(const gchar *filename, RaucManifest **manifest,
      GError **error)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:507,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:508,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/manifest.c:511,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:512,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/manifest.c:518,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:519,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/manifest.c:525,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:526,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:541,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:568,1
    - Dst: validate_filename_requirements
      Src: /src/rauc/src/manifest.c:577,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:578,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 584
    functionName: check_manifest_common
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - validate_filename_requirements
    - r_semver_less_equal
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_common(const RaucManifest *mf, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:588,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:589,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:591,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:598,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 608
    functionName: check_manifest_plain
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_assert
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_plain(const RaucManifest *mf, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_checksum_type_get_length
      Src: /src/rauc/src/manifest.c:617,1
    - Dst: strlen
      Src: /src/rauc/src/manifest.c:622,1
    - Dst: g_ascii_isxdigit
      Src: /src/rauc/src/manifest.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - digest
    - type
    argTypes:
    - gchar*
    - GChecksumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: is_valid_digest
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - strlen
    - g_checksum_type_get_length
    - g_ascii_isxdigit
    linkageType: ''
    returnType: gboolean
    signature: gboolean is_valid_digest(const gchar *digest, GChecksumType type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:641,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:642,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:647,1
    - Dst: strchr
      Src: /src/rauc/src/manifest.c:655,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:656,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:661,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:665,1
    - Dst: is_valid_digest
      Src: /src/rauc/src/manifest.c:668,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:669,1
    - Dst: g_message
      Src: /src/rauc/src/manifest.c:679,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:682,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:688,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:691,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:696,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/manifest.c:701,1
    - Dst: strchr
      Src: /src/rauc/src/manifest.c:703,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:704,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 712
    functionName: check_manifest_bundled
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_index
    - g_assert
    - g_return_val_if_fail
    - g_message
    - is_valid_digest
    - g_set_error
    - g_strv_length
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_bundled(const RaucManifest *mf, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:718,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:719,1
    - Dst: check_manifest_common
      Src: /src/rauc/src/manifest.c:721,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:722,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:732,1
    - Dst: check_manifest_plain
      Src: /src/rauc/src/manifest.c:738,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:739,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:747,1
    - Dst: strchr
      Src: /src/rauc/src/manifest.c:749,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:750,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:755,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:760,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:765,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 772
    functionName: check_manifest_input
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 4
    functionsReached:
    - check_manifest_plain
    - strchr
    - g_assert
    - check_manifest_common
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_input(const RaucManifest *mf, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:779,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:780,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/manifest.c:782,1
    - Dst: check_manifest_common
      Src: /src/rauc/src/manifest.c:784,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:785,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:795,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:795,1
    - Dst: check_manifest_bundled
      Src: /src/rauc/src/manifest.c:800,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:801,1
    - Dst: check_manifest_plain
      Src: /src/rauc/src/manifest.c:805,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:806,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/manifest.c:811,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:815,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:815,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:819,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:819,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:823,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:823,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/manifest.c:829,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 831
    functionName: check_manifest_internal
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 7
    functionsReached:
    - r_context_begin_step
    - check_manifest_plain
    - g_set_error_literal
    - r_manifest_bundle_format_to_str
    - check_manifest_common
    - check_manifest_bundled
    - g_propagate_error
    - g_set_error
    - r_context_end_step
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_internal(const RaucManifest *mf, GError **error)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:839,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:840,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/manifest.c:842,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:844,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:845,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:846,1
    - Dst: check_manifest_common
      Src: /src/rauc/src/manifest.c:850,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:851,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:857,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:864,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/manifest.c:867,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:869,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:872,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:879,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/manifest.c:882,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:884,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:887,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:890,1
    - Dst: r_hex_decode
      Src: /src/rauc/src/manifest.c:893,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:895,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:898,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:901,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:906,1
    - Dst: g_error
      Src: /src/rauc/src/manifest.c:914,1
    - Dst: check_manifest_bundled
      Src: /src/rauc/src/manifest.c:919,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:920,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/manifest.c:926,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 928
    functionName: check_manifest_external
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 4
    functionsReached:
    - r_context_begin_step
    - r_hex_decode
    - r_manifest_bundle_format_to_str
    - check_manifest_common
    - check_manifest_bundled
    - g_strcmp0
    - g_error
    - g_propagate_error
    - g_set_error
    - r_context_end_step
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_external(const RaucManifest *mf, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:932,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:933,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:938,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/manifest.c:941,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mf
    - error
    argTypes:
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 948
    functionName: check_manifest_create
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 2
    functionsReached:
    - g_set_error_literal
    - g_assert
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_manifest_create(const RaucManifest *mf, GError **error)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:952,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/manifest.c:953,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:958,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/manifest.c:960,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:963,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:966,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:969,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:972,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:977,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:981,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:985,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:985,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:987,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:989,1
    - Dst: g_key_file_set_uint64
      Src: /src/rauc/src/manifest.c:991,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1000,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1003,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1006,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1009,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:1009,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1011,1
    - Dst: g_key_file_set_string_list
      Src: /src/rauc/src/manifest.c:1013,1
    - Dst: g_ptr_array_unref
      Src: /src/rauc/src/manifest.c:1016,1
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:1019,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/manifest.c:1019,1
    - Dst: g_strconcat
      Src: /src/rauc/src/manifest.c:1026,1
    - Dst: g_strconcat
      Src: /src/rauc/src/manifest.c:1030,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1031,1
    - Dst: g_strconcat
      Src: /src/rauc/src/manifest.c:1036,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1037,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1041,1
    - Dst: g_key_file_set_uint64
      Src: /src/rauc/src/manifest.c:1043,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1046,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1049,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1052,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:1052,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1055,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:1055,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1058,1
    - Dst: g_strdup
      Src: /src/rauc/src/manifest.c:1058,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/manifest.c:1060,1
    - Dst: g_key_file_set_string_list
      Src: /src/rauc/src/manifest.c:1063,1
    - Dst: g_key_file_set_string_list
      Src: /src/rauc/src/manifest.c:1068,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:1069,1
    - Dst: g_key_file_set_string_list
      Src: /src/rauc/src/manifest.c:1072,1
    - Dst: g_strv_length
      Src: /src/rauc/src/manifest.c:1073,1
    - Dst: g_key_file_set_string_list
      Src: /src/rauc/src/manifest.c:1075,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/manifest.c:1080,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/manifest.c:1081,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/manifest.c:1085,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/manifest.c:1086,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/manifest.c:1087,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/manifest.c:1088,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/manifest.c:1093,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 1
    argNames:
    - mf
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 1094
    functionName: prepare_manifest
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_key_file_set_uint64
    - g_key_file_set_string
    - g_ptr_array_add
    - g_hash_table_iter_init
    - g_strdup
    - r_manifest_bundle_format_to_str
    - g_ptr_array_new_full
    - g_steal_pointer
    - g_key_file_new
    - g_strv_length
    - g_ptr_array_unref
    - g_strdup_printf
    - g_autoptr
    - g_hash_table_iter_next
    - g_key_file_set_string_list
    - g_free
    - g_strconcat
    - g_return_val_if_fail
    linkageType: ''
    returnType: GKeyFile
    signature: GKeyFile *prepare_manifest(const RaucManifest *mf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:1098,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1102,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1103,1
    - Dst: prepare_manifest
      Src: /src/rauc/src/manifest.c:1105,1
    - Dst: g_key_file_to_data
      Src: /src/rauc/src/manifest.c:1108,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:1109,1
    - Dst: g_assert
      Src: /src/rauc/src/manifest.c:1110,1
    - Dst: g_bytes_new_take
      Src: /src/rauc/src/manifest.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - mf
    argTypes:
    - GBytes**
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1115
    functionName: save_manifest_mem
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 2
    functionsReached:
    - g_key_file_to_data
    - g_assert
    - g_bytes_new_take
    - g_autoptr
    - prepare_manifest
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean save_manifest_mem(GBytes **mem, const RaucManifest *mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/manifest.c:1120,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1123,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1124,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1125,1
    - Dst: prepare_manifest
      Src: /src/rauc/src/manifest.c:1127,1
    - Dst: g_key_file_save_to_file
      Src: /src/rauc/src/manifest.c:1129,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/manifest.c:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - filename
    - mf
    - error
    argTypes:
    - gchar*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1134
    functionName: save_manifest_file
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 5
    functionsReached:
    - g_key_file_save_to_file
    - g_propagate_error
    - g_autoptr
    - prepare_manifest
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean save_manifest_file(const gchar *filename, const RaucManifest
      *mf, GError **error)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:1140,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/manifest.c:1140,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1145,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/manifest.c:1147,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1150,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/manifest.c:1153,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1155,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1157,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1159,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1161,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1162,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/manifest.c:1162,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/manifest.c:1165,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1166,1
    - Dst: r_manifest_bundle_format_to_str
      Src: /src/rauc/src/manifest.c:1166,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1169,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1171,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1173,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1174,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/manifest.c:1174,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/manifest.c:1178,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1180,1
    - Dst: g_variant_builder_init
      Src: /src/rauc/src/manifest.c:1181,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1181,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1183,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1184,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/manifest.c:1184,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1185,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/manifest.c:1185,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/manifest.c:1190,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1192,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1194,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1195,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/manifest.c:1195,1
    - Dst: g_variant_builder_init
      Src: /src/rauc/src/manifest.c:1199,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1199,1
    - Dst: g_auto
      Src: /src/rauc/src/manifest.c:1202,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/manifest.c:1202,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1202,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/manifest.c:1204,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1204,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1205,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1205,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1207,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1207,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1209,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1209,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1211,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1211,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1213,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1213,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1215,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/manifest.c:1215,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1217,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/manifest.c:1217,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1220,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1222,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1224,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1225,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/manifest.c:1225,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1228,1
    - Dst: g_variant_new_strv
      Src: /src/rauc/src/manifest.c:1228,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1231,1
    - Dst: g_variant_new_strv
      Src: /src/rauc/src/manifest.c:1231,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1233,1
    - Dst: g_variant_new_strv
      Src: /src/rauc/src/manifest.c:1233,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/manifest.c:1235,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1237,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/manifest.c:1237,1
    - Dst: g_variant_builder_init
      Src: /src/rauc/src/manifest.c:1240,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1240,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/manifest.c:1241,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/manifest.c:1242,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/manifest.c:1246,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1246,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1247,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/manifest.c:1249,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1249,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/manifest.c:1250,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/manifest.c:1251,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/manifest.c:1252,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/manifest.c:1252,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1253,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/manifest.c:1254,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/manifest.c:1255,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/manifest.c:1257,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/manifest.c:1259,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/manifest.c:1261,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/manifest.c:1261,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/manifest.c:1263,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1264
    functionName: r_manifest_to_dict
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 1
    functionsReached:
    - g_variant_builder_close
    - g_auto
    - G_VARIANT_TYPE
    - g_variant_builder_open
    - g_variant_new_string
    - g_hash_table_iter_init
    - g_variant_builder_add
    - G_VARIANT_BUILDER_INIT
    - r_manifest_bundle_format_to_str
    - g_variant_builder_init
    - g_variant_new_strv
    - g_variant_dict_end
    - g_variant_dict_insert
    - g_variant_new_uint64
    - g_variant_builder_end
    - g_hash_table_iter_next
    - g_variant_dict_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant
    signature: GVariant * r_manifest_to_dict(const RaucManifest *manifest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1268,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1269,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:1281,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/manifest.c:1285,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 3
    argNames:
    - manifest
    - repo
    - artifact
    argTypes:
    - RaucManifest*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1292
    functionName: r_manifest_has_artifact_image
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 2
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_manifest_has_artifact_image(const RaucManifest *manifest,
      const gchar *repo, const gchar *artifact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/src/manifest.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1301
    functionName: r_new_image
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 9
    functionsReached:
    - g_new0
    linkageType: ''
    returnType: RaucImage
    signature: RaucImage *r_new_image(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1310,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1311,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1312,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1313,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1314,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1315,1
    - Dst: g_strfreev
      Src: /src/rauc/src/manifest.c:1316,1
    - Dst: g_strfreev
      Src: /src/rauc/src/manifest.c:1317,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/manifest.c:1318,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1320
    functionName: r_free_image
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 2
    functionsReached:
    - g_strfreev
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_free_image(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1327,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1328,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1329,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1330,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1331,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1332,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1333,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1334,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1335,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1336,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1337,1
    - Dst: g_list_free_full
      Src: /src/rauc/src/manifest.c:1338,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/manifest.c:1339,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1340,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/manifest.c:1341,1
    - Dst: g_free
      Src: /src/rauc/src/manifest.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - manifest
    argTypes:
    - RaucManifest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1343
    functionName: free_manifest
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 2
    functionsReached:
    - g_clear_pointer
    - g_list_free_full
    - g_free
    linkageType: ''
    returnType: void
    signature: void free_manifest(RaucManifest *manifest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1361,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1362,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1363,1
    - Dst: g_build_filename
      Src: /src/rauc/src/manifest.c:1375,1
    - Dst: compute_checksum
      Src: /src/rauc/src/manifest.c:1376,1
    - Dst: g_warning
      Src: /src/rauc/src/manifest.c:1378,1
    - Dst: g_clear_error
      Src: /src/rauc/src/manifest.c:1379,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - manifest
    - dir
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1391
    functionName: update_manifest_checksums
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_set_error
    - compute_checksum
    - g_build_filename
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean update_manifest_checksums(RaucManifest *manifest, const gchar
      *dir, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1395,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1396,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/manifest.c:1397,1
    - Dst: g_build_filename
      Src: /src/rauc/src/manifest.c:1402,1
    - Dst: g_file_test
      Src: /src/rauc/src/manifest.c:1403,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:1404,1
    - Dst: g_build_filename
      Src: /src/rauc/src/manifest.c:1412,1
    - Dst: g_file_test
      Src: /src/rauc/src/manifest.c:1413,1
    - Dst: g_set_error
      Src: /src/rauc/src/manifest.c:1414,1
    - Dst: update_manifest_checksums
      Src: /src/rauc/src/manifest.c:1419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - manifest
    - dir
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1420
    functionName: sync_manifest_with_contentdir
    functionSourceFile: /src/rauc/src/manifest.c
    functionUses: 1
    functionsReached:
    - g_file_test
    - update_manifest_checksums
    - g_build_filename
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean sync_manifest_with_contentdir(RaucManifest *manifest, const
      gchar *dir, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:20,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:22,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:23,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:26,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:28,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:29,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:30,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:30,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:33,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:36,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:37,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:39,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:40,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:40,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/artifacts.c:43,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:44,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:45,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - repo
    argTypes:
    - RArtifactRepo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: show_repo
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_assert
    - g_debug
    - g_intern_string
    - g_hash_table_iter_next
    - g_ptr_array_index
    - g_return_if_fail
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED show_repo(RArtifactRepo *repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:58,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:59,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:60,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:61,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:62,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:63,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/src/artifacts.c:64,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:65,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:66,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: r_artifact_free
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_free
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_artifact_free(gpointer value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:77,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/artifacts.c:78,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:81,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:82,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:83,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:84,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/artifacts.c:85,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/src/artifacts.c:87,1
    - Dst: g_free
      Src: /src/rauc/src/artifacts.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: r_artifact_repo_free
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_free
    - g_clear_pointer
    - g_free
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: void r_artifact_repo_free(gpointer value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: r_artifact_repo_is_valid_type
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 3
    functionsReached:
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_repo_is_valid_type(const gchar *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:117,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:119,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:121,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:122,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:123,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:124,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:125,1
    - Dst: g_quark_try_string
      Src: /src/rauc/src/artifacts.c:125,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/artifacts.c:128,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/artifacts.c:129,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:136,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:136,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:137,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:137,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:139,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/artifacts.c:141,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/artifacts.c:142,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:145,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:145,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:146,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/artifacts.c:154,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:154,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - repo
    - artifact
    - error
    argTypes:
    - RArtifactRepo*
    - RArtifact*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 159
    functionName: r_artifact_repo_insert
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 3
    functionsReached:
    - g_set_error
    - g_file_test
    - g_hash_table_insert
    - g_assert
    - g_message
    - g_hash_table_new_full
    - g_hash_table_lookup
    - g_intern_string
    - g_strdup_printf
    - g_quark_try_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_repo_insert(RArtifactRepo *repo, RArtifact *artifact,
      GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:177,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:178,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:179,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:181,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:183,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:183,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:185,1
    - Dst: g_regex_new
      Src: /src/rauc/src/artifacts.c:185,1
    - Dst: strlen
      Src: /src/rauc/src/artifacts.c:186,1
    - Dst: g_assert_no_error
      Src: /src/rauc/src/artifacts.c:190,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:192,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:193,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts.c:193,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:196,1
    - Dst: show_repo
      Src: /src/rauc/src/artifacts.c:200,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts.c:202,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/artifacts.c:204,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:207,1
    - Dst: g_file_read_link
      Src: /src/rauc/src/artifacts.c:208,1
    - Dst: g_warning
      Src: /src/rauc/src/artifacts.c:210,1
    - Dst: g_clear_error
      Src: /src/rauc/src/artifacts.c:211,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:215,1
    - Dst: g_regex_match
      Src: /src/rauc/src/artifacts.c:216,1
    - Dst: g_warning
      Src: /src/rauc/src/artifacts.c:217,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/artifacts.c:221,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/artifacts.c:222,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:224,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:224,1
    - Dst: g_warning
      Src: /src/rauc/src/artifacts.c:226,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:230,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:230,1
    - Dst: g_warning
      Src: /src/rauc/src/artifacts.c:232,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:236,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - repo
    - parent
    - error
    argTypes:
    - RArtifactRepo*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 240
    functionName: artifact_repo_read_links
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - show_repo
    - g_ptr_array_add
    - g_assert_no_error
    - g_intern_string
    - g_build_filename
    - g_dir_open
    - g_hash_table_lookup
    - g_autoptr
    - g_str_has_prefix
    - g_dir_read_name
    - g_propagate_error
    - g_match_info_fetch
    - strlen
    - g_return_val_if_fail
    - g_clear_error
    - g_regex_new
    - g_regex_match
    - g_ptr_array_find
    - g_file_read_link
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean artifact_repo_read_links(RArtifactRepo *repo, const gchar
      *parent, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:246,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:247,1
    - Dst: g_hash_table_destroy
      Src: /src/rauc/src/artifacts.c:250,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/src/artifacts.c:252,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:254,1
    - Dst: g_regex_new
      Src: /src/rauc/src/artifacts.c:254,1
    - Dst: g_assert_no_error
      Src: /src/rauc/src/artifacts.c:259,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:261,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts.c:261,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:263,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/artifacts.c:267,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts.c:271,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:272,1
    - Dst: g_regex_match
      Src: /src/rauc/src/artifacts.c:273,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:276,1
    - Dst: g_new0
      Src: /src/rauc/src/artifacts.c:276,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/artifacts.c:277,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:278,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/artifacts.c:279,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/artifacts.c:280,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/src/artifacts.c:284,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:287,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/artifacts.c:292,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:295,1
    - Dst: r_slot_get_all_of_class
      Src: /src/rauc/src/artifacts.c:295,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:295,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:299,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/artifacts.c:302,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:304,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:307,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:310,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:314,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:314,1
    - Dst: artifact_repo_read_links
      Src: /src/rauc/src/artifacts.c:316,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:317,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:322,1
    - Dst: g_intern_static_string
      Src: /src/rauc/src/artifacts.c:322,1
    - Dst: artifact_repo_read_links
      Src: /src/rauc/src/artifacts.c:324,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:325,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:330,1
    - Dst: r_composefs_artifact_repo_prepare
      Src: /src/rauc/src/artifacts.c:331,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:332,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 338
    functionName: r_artifact_repo_prepare
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 4
    functionsReached:
    - r_artifact_repo_insert
    - g_ptr_array_add
    - r_context
    - g_ptr_array_free
    - artifact_repo_read_links
    - g_assert_no_error
    - g_hash_table_new_full
    - g_intern_string
    - g_build_filename
    - g_hash_table_destroy
    - g_dir_open
    - r_composefs_artifact_repo_prepare
    - g_autoptr
    - g_mkdir_with_parents
    - g_ptr_array_new
    - g_dir_read_name
    - r_slot_get_all_of_class
    - g_new0
    - g_propagate_error
    - g_file_error_from_errno
    - g_set_error
    - g_match_info_fetch
    - g_intern_static_string
    - g_return_val_if_fail
    - g_strerror
    - g_regex_new
    - g_regex_match
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_repo_prepare(RArtifactRepo *repo, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:344,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:345,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts.c:345,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:347,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts.c:352,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:353,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:356,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts.c:359,1
    - Dst: rm_tree
      Src: /src/rauc/src/artifacts.c:360,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - repo
    - parent
    - error
    argTypes:
    - RArtifactRepo*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 367
    functionName: artifact_repo_prune_subdir
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_dir_open
    - rm_tree
    - g_dir_read_name
    - g_message
    - g_propagate_error
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean artifact_repo_prune_subdir(RArtifactRepo *repo, const gchar
      *parent, GError **error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:373,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:374,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:376,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:378,1
    - Dst: g_regex_new
      Src: /src/rauc/src/artifacts.c:378,1
    - Dst: g_assert_no_error
      Src: /src/rauc/src/artifacts.c:383,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:386,1
    - Dst: r_slot_get_all_of_class
      Src: /src/rauc/src/artifacts.c:386,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:386,1
    - Dst: artifact_repo_prune_subdir
      Src: /src/rauc/src/artifacts.c:391,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/artifacts.c:392,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:404,1
    - Dst: g_dir_open
      Src: /src/rauc/src/artifacts.c:404,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:406,1
    - Dst: g_dir_read_name
      Src: /src/rauc/src/artifacts.c:412,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:413,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:414,1
    - Dst: g_regex_match
      Src: /src/rauc/src/artifacts.c:416,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:421,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:421,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:422,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:423,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:427,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:432,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:433,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts.c:437,1
    - Dst: rm_tree
      Src: /src/rauc/src/artifacts.c:438,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:439,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:447,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:448,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:452,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:453,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:457,1
    - Dst: r_tree_check_open
      Src: /src/rauc/src/artifacts.c:459,1
    - Dst: g_error_matches
      Src: /src/rauc/src/artifacts.c:460,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts.c:461,1
    - Dst: g_clear_error
      Src: /src/rauc/src/artifacts.c:464,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:467,1
    - Dst: g_message
      Src: /src/rauc/src/artifacts.c:471,1
    - Dst: rm_tree
      Src: /src/rauc/src/artifacts.c:475,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:476,1
    - Dst: g_hash_table_iter_remove
      Src: /src/rauc/src/artifacts.c:480,1
    - Dst: g_hash_table_size
      Src: /src/rauc/src/artifacts.c:483,1
    - Dst: g_hash_table_iter_remove
      Src: /src/rauc/src/artifacts.c:484,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:487,1
    - Dst: r_composefs_artifact_repo_prune
      Src: /src/rauc/src/artifacts.c:488,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:489,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 495
    functionName: r_artifact_repo_prune
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 4
    functionsReached:
    - g_file_test
    - g_hash_table_iter_init
    - r_context
    - g_hash_table_size
    - g_assert_no_error
    - g_intern_string
    - g_build_filename
    - g_dir_open
    - g_propagate_prefixed_error
    - r_composefs_artifact_repo_prune
    - g_debug
    - g_hash_table_iter_next
    - g_autoptr
    - rm_tree
    - g_dir_read_name
    - r_slot_get_all_of_class
    - g_propagate_error
    - g_return_val_if_fail
    - g_clear_error
    - g_regex_new
    - g_error_matches
    - g_regex_match
    - g_strcmp0
    - g_message
    - g_ptr_array_find
    - artifact_repo_prune_subdir
    - g_hash_table_iter_remove
    - r_tree_check_open
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_repo_prune(RArtifactRepo *repo, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:501,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:502,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:504,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/artifacts.c:508,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:511,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:514,1
    - Dst: g_build_filename
      Src: /src/rauc/src/artifacts.c:516,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:522,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:525,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:528,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:529,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:530,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:530,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:531,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:533,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:535,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/artifacts.c:537,1
    - Dst: g_debug
      Src: /src/rauc/src/artifacts.c:545,1
    - Dst: r_update_symlink
      Src: /src/rauc/src/artifacts.c:550,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:551,1
    - Dst: unlink
      Src: /src/rauc/src/artifacts.c:555,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:559,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:561,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:562,1
    - Dst: r_syncfs
      Src: /src/rauc/src/artifacts.c:571,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:572,1
    - Dst: show_repo
      Src: /src/rauc/src/artifacts.c:576,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 579
    functionName: r_artifact_repo_commit
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 3
    functionsReached:
    - show_repo
    - g_file_test
    - g_hash_table_iter_init
    - r_update_symlink
    - g_build_filename
    - g_debug
    - g_strdup_printf
    - g_hash_table_iter_next
    - g_ptr_array_index
    - r_syncfs
    - g_assert
    - unlink
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - g_strcmp0
    - g_ptr_array_find
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_repo_commit(RArtifactRepo *repo, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:585,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:587,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:587,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:588,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:588,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:591,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:591,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:593,1
    - Dst: r_artifact_repo_prepare
      Src: /src/rauc/src/artifacts.c:594,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: r_artifacts_init
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 2
    functionsReached:
    - r_artifact_repo_prepare
    - g_hash_table_iter_init
    - r_context
    - g_assert
    - g_propagate_error
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifacts_init(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:607,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:609,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:609,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:610,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:610,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:613,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:613,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:615,1
    - Dst: r_artifact_repo_prune
      Src: /src/rauc/src/artifacts.c:616,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: r_artifacts_prune
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - r_artifact_repo_prune
    - g_hash_table_iter_init
    - r_context
    - g_assert
    - g_propagate_error
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifacts_prune(GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:657,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:657,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:658,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:658,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:661,1
    - Dst: r_context
      Src: /src/rauc/src/artifacts.c:661,1
    - Dst: g_auto
      Src: /src/rauc/src/artifacts.c:663,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/artifacts.c:663,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:663,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:664,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/artifacts.c:665,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:665,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:667,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:667,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:669,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:669,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:671,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:671,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:673,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:673,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:675,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:675,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:678,1
    - Dst: g_auto
      Src: /src/rauc/src/artifacts.c:680,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/artifacts.c:680,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:680,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:682,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/artifacts.c:683,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:683,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:684,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:684,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:687,1
    - Dst: g_auto
      Src: /src/rauc/src/artifacts.c:689,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/artifacts.c:689,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:689,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:690,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/artifacts.c:691,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/artifacts.c:691,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:693,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/artifacts.c:693,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:695,1
    - Dst: g_variant_new_strv
      Src: /src/rauc/src/artifacts.c:696,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/artifacts.c:698,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:700,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/artifacts.c:700,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/artifacts.c:702,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/artifacts.c:704,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/artifacts.c:704,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/artifacts.c:706,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/artifacts.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 710
    functionName: r_artifacts_to_dict
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 1
    functionsReached:
    - g_variant_builder_close
    - g_auto
    - G_VARIANT_TYPE
    - g_variant_builder_open
    - g_variant_new_string
    - g_hash_table_iter_init
    - r_context
    - G_VARIANT_BUILDER_INIT
    - g_assert
    - g_variant_new_strv
    - g_variant_builder_end
    - g_hash_table_iter_next
    - g_variant_builder_add
    linkageType: ''
    returnType: GVariant
    signature: GVariant *r_artifacts_to_dict(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:716,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:717,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:718,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:722,1
    - Dst: r_open_unix_input_stream
      Src: /src/rauc/src/artifacts.c:722,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:724,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:730,1
    - Dst: r_unix_output_stream_create_file
      Src: /src/rauc/src/artifacts.c:730,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:732,1
    - Dst: r_copy_stream_with_progress
      Src: /src/rauc/src/artifacts.c:737,1
    - Dst: G_INPUT_STREAM
      Src: /src/rauc/src/artifacts.c:737,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/artifacts.c:737,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:738,1
    - Dst: fsync
      Src: /src/rauc/src/artifacts.c:743,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:745,1
    - Dst: strerror
      Src: /src/rauc/src/artifacts.c:745,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/artifacts.c:748,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/artifacts.c:748,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - artifact
    - image
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 754
    functionName: files_artifact_install
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - r_unix_output_stream_create_file
    - G_INPUT_STREAM
    - r_copy_stream_with_progress
    - G_OUTPUT_STREAM
    - strerror
    - g_output_stream_close
    - fsync
    - r_open_unix_input_stream
    - g_propagate_error
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean files_artifact_install(const RArtifact *artifact, const RaucImage
      *image, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:760,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:761,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:762,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:763,1
    - Dst: g_mkdir
      Src: /src/rauc/src/artifacts.c:765,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:767,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:767,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:768,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:772,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/artifacts.c:772,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:773,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:773,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:774,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:774,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:775,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:775,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:776,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:776,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:777,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:777,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:778,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:778,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:779,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:779,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:780,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:780,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:781,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:781,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:782,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/artifacts.c:784,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/artifacts.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - artifact
    - image
    - name
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 789
    functionName: tree_artifact_install_tar
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_mkdir
    - g_file_error_from_errno
    - g_autoptr
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean tree_artifact_install_tar(const RArtifact *artifact, const
      RaucImage *image, const gchar *name, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:796,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:797,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:798,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:799,1
    - Dst: g_autoptr
      Src: /src/rauc/src/artifacts.c:801,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/artifacts.c:801,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:802,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:802,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:803,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:803,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:804,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:804,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:805,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:805,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:806,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/artifacts.c:808,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/artifacts.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - artifact
    - image
    - name
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: r_tree_artifact_install_extracted
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 1
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_tree_artifact_install_extracted(const RArtifact *artifact,
      const RaucImage *image, const gchar *name, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:818,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:819,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:820,1
    - Dst: g_strv_length
      Src: /src/rauc/src/artifacts.c:825,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:833,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - image
    - method
    - name
    argTypes:
    - RaucImage*
    - gchar*
    - gchar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 840
    functionName: artifact_get_converted
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_strdup
    - g_strv_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean artifact_get_converted(const RaucImage *image, const gchar
      *method, gchar **name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:844,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:845,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:846,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:848,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:849,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:851,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - repo
    - name
    - digest
    argTypes:
    - RArtifactRepo*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 856
    functionName: r_artifact_find
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 1
    functionsReached:
    - g_hash_table_lookup
    - g_intern_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: RArtifact
    signature: RArtifact *r_artifact_find(const RArtifactRepo *repo, const gchar *name,
      const gchar *digest)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:862,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:863,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:864,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:865,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/artifacts.c:866,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:868,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:868,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:869,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:869,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:870,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/artifacts.c:870,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:872,1
    - Dst: files_artifact_install
      Src: /src/rauc/src/artifacts.c:873,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:874,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:877,1
    - Dst: artifact_get_converted
      Src: /src/rauc/src/artifacts.c:879,1
    - Dst: r_tree_artifact_install_extracted
      Src: /src/rauc/src/artifacts.c:880,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:881,1
    - Dst: artifact_get_converted
      Src: /src/rauc/src/artifacts.c:886,1
    - Dst: g_file_test
      Src: /src/rauc/src/artifacts.c:887,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:888,1
    - Dst: g_strdup
      Src: /src/rauc/src/artifacts.c:893,1
    - Dst: tree_artifact_install_tar
      Src: /src/rauc/src/artifacts.c:896,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:897,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/artifacts.c:901,1
    - Dst: artifact_get_converted
      Src: /src/rauc/src/artifacts.c:903,1
    - Dst: r_composefs_artifact_install
      Src: /src/rauc/src/artifacts.c:904,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/artifacts.c:905,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:909,1
    - Dst: g_error
      Src: /src/rauc/src/artifacts.c:916,1
    - Dst: g_auto
      Src: /src/rauc/src/artifacts.c:920,1
    - Dst: g_open
      Src: /src/rauc/src/artifacts.c:920,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:923,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:925,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:927,1
    - Dst: syncfs
      Src: /src/rauc/src/artifacts.c:931,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:933,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:935,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:937,1
    - Dst: g_rename
      Src: /src/rauc/src/artifacts.c:941,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:943,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:945,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:949,1
    - Dst: fsync
      Src: /src/rauc/src/artifacts.c:953,1
    - Dst: g_set_error
      Src: /src/rauc/src/artifacts.c:955,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/artifacts.c:957,1
    - Dst: g_strerror
      Src: /src/rauc/src/artifacts.c:959,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - artifact
    - image
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 964
    functionName: r_artifact_install
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 0
    functionsReached:
    - files_artifact_install
    - g_file_test
    - artifact_get_converted
    - r_tree_artifact_install_extracted
    - tree_artifact_install_tar
    - r_composefs_artifact_install
    - g_strdup
    - fsync
    - g_open
    - g_path_is_absolute
    - g_auto
    - g_assert
    - g_rename
    - g_error
    - g_file_error_from_errno
    - g_propagate_error
    - syncfs
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_artifact_install(const RArtifact *artifact, const RaucImage
      *image, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:968,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:969,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:970,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:972,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:974,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:974,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/artifacts.c:976,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:977,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/artifacts.c:981,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/artifacts.c:982,1
    - Dst: r_artifact_deactivate
      Src: /src/rauc/src/artifacts.c:985,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:988,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/artifacts.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - artifact
    - parent
    argTypes:
    - RArtifact*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: r_artifact_activate
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 2
    functionsReached:
    - g_hash_table_iter_init
    - r_artifact_deactivate
    - g_ptr_array_add
    - g_assert
    - g_hash_table_lookup
    - g_ptr_array_find
    - g_intern_string
    - g_hash_table_iter_next
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_artifact_activate(const RArtifact *artifact, const gchar *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:995,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:996,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:997,1
    - Dst: g_intern_string
      Src: /src/rauc/src/artifacts.c:999,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/artifacts.c:1001,1
    - Dst: g_ptr_array_find
      Src: /src/rauc/src/artifacts.c:1001,1
    - Dst: g_assert
      Src: /src/rauc/src/artifacts.c:1003,1
    - Dst: g_ptr_array_remove
      Src: /src/rauc/src/artifacts.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - artifact
    - parent
    argTypes:
    - RArtifact*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1005
    functionName: r_artifact_deactivate
    functionSourceFile: /src/rauc/src/artifacts.c
    functionUses: 3
    functionsReached:
    - g_ptr_array_remove
    - g_assert
    - g_ptr_array_find
    - g_intern_string
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_artifact_deactivate(const RArtifact *artifact, const gchar *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:22,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/context.c:24,1
    - Dst: g_info
      Src: /src/rauc/src/context.c:25,1
    - Dst: g_strchomp
      Src: /src/rauc/src/context.c:30,1
    - Dst: g_info
      Src: /src/rauc/src/context.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: get_machine_id
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strchomp
    - g_info
    - g_file_get_contents
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * get_machine_id(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:42,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/context.c:44,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:45,1
    - Dst: g_strchomp
      Src: /src/rauc/src/context.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: get_boot_id
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strchomp
    - g_warning
    - g_file_get_contents
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar * get_boot_id(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:56,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:59,1
    - Dst: g_getenv
      Src: /src/rauc/src/context.c:61,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:63,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/context.c:65,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: get_cmdline
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_file_get_contents
    - g_warning
    - g_getenv
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *get_cmdline(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_getenv
      Src: /src/rauc/src/context.c:75,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:77,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: get_runtime_directory
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_getenv
    linkageType: ''
    returnType: gchar
    signature: gchar *get_runtime_directory(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/rauc/src/context.c:89,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:90,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:91,1
    - Dst: strstr
      Src: /src/rauc/src/context.c:94,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:95,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:96,1
    - Dst: r_regex_match_simple
      Src: /src/rauc/src/context.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: get_cmdline_bootname_explicit
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - r_regex_match_simple
    - g_message
    - g_strdup
    - strstr
    linkageType: ''
    returnType: gchar
    signature: gchar * get_cmdline_bootname_explicit(const gchar *cmdline)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: r_regex_match_simple
      Src: /src/rauc/src/context.c:114,1
    - Dst: r_regex_match_simple
      Src: /src/rauc/src/context.c:116,1
    - Dst: strncmp
      Src: /src/rauc/src/context.c:121,1
    - Dst: g_build_filename
      Src: /src/rauc/src/context.c:122,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:127,1
    - Dst: strncmp
      Src: /src/rauc/src/context.c:132,1
    - Dst: g_build_filename
      Src: /src/rauc/src/context.c:133,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:138,1
    - Dst: strncmp
      Src: /src/rauc/src/context.c:143,1
    - Dst: g_build_filename
      Src: /src/rauc/src/context.c:144,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:149,1
    - Dst: r_realpath
      Src: /src/rauc/src/context.c:154,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:156,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:160,1
    - Dst: g_debug
      Src: /src/rauc/src/context.c:161,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 166
    functionName: get_cmdline_bootname_root
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - r_regex_match_simple
    - strncmp
    - g_strcmp0
    - g_debug
    - g_message
    - r_replace_strdup
    - g_build_filename
    - r_realpath
    - g_free
    linkageType: ''
    returnType: gchar
    signature: gchar * get_cmdline_bootname_root(const gchar *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmdline_bootname_explicit
      Src: /src/rauc/src/context.c:173,1
    - Dst: r_boot_get_current_bootname
      Src: /src/rauc/src/context.c:177,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:179,1
    - Dst: g_clear_error
      Src: /src/rauc/src/context.c:180,1
    - Dst: get_cmdline_bootname_root
      Src: /src/rauc/src/context.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: get_bootname
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - get_cmdline_bootname_explicit
    - r_boot_get_current_bootname
    - get_cmdline_bootname_root
    - g_message
    linkageType: ''
    returnType: gchar
    signature: gchar * get_bootname(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:202,1
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:203,1
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:205,1
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:207,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:210,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:211,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:212,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/context.c:214,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/rauc/src/context.c:216,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:223,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/rauc/src/context.c:227,1
    - Dst: g_data_input_stream_new
      Src: /src/rauc/src/context.c:228,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/context.c:230,1
    - Dst: g_data_input_stream_read_line
      Src: /src/rauc/src/context.c:233,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/context.c:237,1
    - Dst: g_auto
      Src: /src/rauc/src/context.c:238,1
    - Dst: g_strsplit
      Src: /src/rauc/src/context.c:238,1
    - Dst: g_strv_length
      Src: /src/rauc/src/context.c:240,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:241,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:242,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/context.c:246,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:246,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:246,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:249,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/context.c:252,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:253,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/context.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - handler_name
    - variables
    - error
    argTypes:
    - gchar*
    - GHashTable**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 260
    functionName: launch_and_wait_variables_handler
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_data_input_stream_new
    - g_hash_table_new_full
    - g_subprocess_wait_check
    - g_steal_pointer
    - g_hash_table_insert
    - g_subprocess_launcher_new
    - g_subprocess_get_stdout_pipe
    - g_strdup
    - g_strv_length
    - g_autoptr
    - g_str_has_prefix
    - g_auto
    - g_data_input_stream_read_line
    - g_strsplit
    - g_propagate_error
    - g_subprocess_launcher_spawn
    - g_free
    - g_return_val_if_fail
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean launch_and_wait_variables_handler(gchar *handler_name, GHashTable
      **variables, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:267,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/context.c:269,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:270,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: get_system_dtb_compatible
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_propagate_error
    - g_file_get_contents
    - g_assert_nonnull
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * get_system_dtb_compatible(GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:285,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:286,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/context.c:288,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:289,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: get_variant_from_file
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_propagate_error
    - g_file_get_contents
    - g_assert_nonnull
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * get_variant_from_file(const gchar* filename, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/context.c:308,1
    - Dst: g_file_test
      Src: /src/rauc/src/context.c:314,1
    - Dst: g_set_error
      Src: /src/rauc/src/context.c:315,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:319,1
    - Dst: launch_and_wait_variables_handler
      Src: /src/rauc/src/context.c:320,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/context.c:321,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/context.c:325,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/context.c:326,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:328,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:329,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:330,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:332,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:333,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:334,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/context.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 339
    functionName: get_system_info_from_handler
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - g_propagate_prefixed_error
    - g_hash_table_iter_init
    - g_strcmp0
    - r_replace_strdup
    - g_message
    - launch_and_wait_variables_handler
    - g_hash_table_iter_next
    - g_set_error
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: GHashTable
    signature: GHashTable *get_system_info_from_handler(GError **error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:349,1
    - Dst: get_runtime_directory
      Src: /src/rauc/src/context.c:352,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/context.c:356,1
    - Dst: g_set_error
      Src: /src/rauc/src/context.c:358,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/context.c:361,1
    - Dst: g_strerror
      Src: /src/rauc/src/context.c:364,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:370,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:371,1
    - Dst: g_new0
      Src: /src/rauc/src/context.c:372,1
    - Dst: r_system_status_load
      Src: /src/rauc/src/context.c:373,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:374,1
    - Dst: g_clear_error
      Src: /src/rauc/src/context.c:375,1
    - Dst: r_slot_status_load_globally
      Src: /src/rauc/src/context.c:378,1
    - Dst: r_event_log_setup_logger
      Src: /src/rauc/src/context.c:385,1
    - Dst: get_system_dtb_compatible
      Src: /src/rauc/src/context.c:389,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:391,1
    - Dst: g_clear_error
      Src: /src/rauc/src/context.c:392,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:394,1
    - Dst: get_variant_from_file
      Src: /src/rauc/src/context.c:397,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:399,1
    - Dst: g_clear_error
      Src: /src/rauc/src/context.c:400,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:402,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:406,1
    - Dst: get_system_info_from_handler
      Src: /src/rauc/src/context.c:408,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:410,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/context.c:415,1
    - Dst: r_whitespace_removed
      Src: /src/rauc/src/context.c:418,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:419,1
    - Dst: get_cmdline
      Src: /src/rauc/src/context.c:422,1
    - Dst: get_bootname
      Src: /src/rauc/src/context.c:426,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:429,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:430,1
    - Dst: get_boot_id
      Src: /src/rauc/src/context.c:432,1
    - Dst: g_debug
      Src: /src/rauc/src/context.c:434,1
    - Dst: get_machine_id
      Src: /src/rauc/src/context.c:435,1
    - Dst: g_debug
      Src: /src/rauc/src/context.c:437,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 440
    functionName: r_context_configure_target
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - get_variant_from_file
    - g_clear_pointer
    - g_hash_table_new_full
    - get_system_info_from_handler
    - r_event_log_setup_logger
    - r_slot_status_load_globally
    - r_system_status_load
    - g_debug
    - g_mkdir_with_parents
    - get_system_dtb_compatible
    - get_runtime_directory
    - g_file_error_from_errno
    - g_new0
    - g_propagate_error
    - g_set_error
    - g_free
    - g_return_val_if_fail
    - g_clear_error
    - g_strerror
    - get_bootname
    - g_strcmp0
    - r_whitespace_removed
    - get_boot_id
    - g_message
    - get_machine_id
    - get_cmdline
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_context_configure_target(GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_config
      Src: /src/rauc/src/context.c:446,1
    - Dst: g_message
      Src: /src/rauc/src/context.c:447,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:449,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/context.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - configpath
    - error
    argTypes:
    - char*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: load_config_verbose
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_message
    - load_config
    - g_propagate_prefixed_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean load_config_verbose(const char *configpath, GError **error)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/context.c:470,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:472,1
    - Dst: g_assert_false
      Src: /src/rauc/src/context.c:473,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:475,1
    - Dst: g_stat
      Src: /src/rauc/src/context.c:486,1
    - Dst: load_config_verbose
      Src: /src/rauc/src/context.c:492,1
    - Dst: load_config_verbose
      Src: /src/rauc/src/context.c:496,1
    - Dst: g_error_matches
      Src: /src/rauc/src/context.c:499,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:500,1
    - Dst: g_clear_error
      Src: /src/rauc/src/context.c:504,1
    - Dst: default_config
      Src: /src/rauc/src/context.c:508,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/context.c:509,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:514,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:519,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:523,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:527,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/context.c:531,1
    - Dst: r_context_configure_target
      Src: /src/rauc/src/context.c:544,1
    - Dst: g_getenv
      Src: /src/rauc/src/context.c:549,1
    - Dst: g_ascii_strtoll
      Src: /src/rauc/src/context.c:551,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:553,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 562
    functionName: r_context_configure
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - r_context_configure_target
    - g_assert_false
    - g_stat
    - g_error_matches
    - g_error
    - g_clear_pointer
    - default_config
    - g_assert_nonnull
    - g_propagate_error
    - r_replace_strdup
    - load_config_verbose
    - g_ascii_strtoll
    - g_getenv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_context_configure(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: r_context_get_busy
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_context_get_busy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:577,1
    - Dst: g_assert
      Src: /src/rauc/src/context.c:578,1
    - Dst: r_context_configure
      Src: /src/rauc/src/context.c:581,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - busy
    argTypes:
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 6
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: r_context_set_busy
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_error
    - r_context_configure
    - g_assert
    - g_assert_nonnull
    linkageType: ''
    returnType: void
    signature: void r_context_set_busy(gboolean busy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:594,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:597,1
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:609,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/context.c:617,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/context.c:623,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/context.c:625,1
    - Dst: progress_callback
      Src: /src/rauc/src/context.c:630,1
    - Dst: g_list_length
      Src: /src/rauc/src/context.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - op_finished
    - success
    argTypes:
    - gboolean
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 632
    functionName: r_context_send_progress
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_assert_cmpint
    - g_assert_nonnull
    - progress_callback
    - g_strdup_printf
    - g_list_length
    - g_list_next
    linkageType: ''
    returnType: void
    signature: void r_context_send_progress(gboolean op_finished, gboolean success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/src/context.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - description
    - substeps
    argTypes:
    - gchar*
    - gchar*
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: r_context_begin_step
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 14
    functionsReached:
    - r_context_begin_step_weighted
    linkageType: ''
    returnType: void
    signature: "void r_context_begin_step(const gchar *name, const gchar *description,\n\t\tgint
      substeps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/src/context.c:643,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:646,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:647,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:650,1
    - Dst: g_strdup
      Src: /src/rauc/src/context.c:651,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:662,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:666,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/context.c:674,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/context.c:676,1
    - Dst: g_list_prepend
      Src: /src/rauc/src/context.c:683,1
    - Dst: r_context_send_progress
      Src: /src/rauc/src/context.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - name
    - description
    - substeps
    - weight
    argTypes:
    - gchar*
    - gchar*
    - gint
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 686
    functionName: r_context_begin_step_weighted
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 2
    functionsReached:
    - g_strdup
    - g_error
    - g_assert_cmpint
    - g_list_prepend
    - r_context_send_progress
    - g_new0
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void r_context_begin_step_weighted(const gchar *name, const gchar
      *description,\n\t\tgint substeps, gint weight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:693,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:694,1
    - Dst: va_start
      Src: /src/rauc/src/context.c:696,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/src/context.c:697,1
    - Dst: va_end
      Src: /src/rauc/src/context.c:698,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/context.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - name
    - substeps
    - description
    argTypes:
    - gchar*
    - gint
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 701
    functionName: r_context_begin_step_formatted
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - r_context_begin_step
    - g_strdup_vprintf
    - va_end
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_context_begin_step_formatted(const gchar *name, gint substeps,
      const gchar *description, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:708,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:709,1
    - Dst: va_start
      Src: /src/rauc/src/context.c:711,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/src/context.c:712,1
    - Dst: va_end
      Src: /src/rauc/src/context.c:713,1
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/src/context.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - name
    - substeps
    - weight
    - description
    argTypes:
    - gchar*
    - gint
    - gint
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 716
    functionName: r_context_begin_step_weighted_formatted
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_strdup_vprintf
    - r_context_begin_step_weighted
    - va_end
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_context_begin_step_weighted_formatted(const gchar *name, gint
      substeps, gint weight, const gchar *description, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:724,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:727,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:732,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:738,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:743,1
    - Dst: g_assert_cmpstr
      Src: /src/rauc/src/context.c:752,1
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:755,1
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:756,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/context.c:761,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/context.c:766,1
    - Dst: r_context_send_progress
      Src: /src/rauc/src/context.c:770,1
    - Dst: g_list_remove_link
      Src: /src/rauc/src/context.c:771,1
    - Dst: g_list_free
      Src: /src/rauc/src/context.c:774,1
    - Dst: r_context_free_progress_step
      Src: /src/rauc/src/context.c:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - name
    - success
    argTypes:
    - gchar*
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 776
    functionName: r_context_end_step
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 14
    functionsReached:
    - g_list_remove_link
    - g_list_free
    - g_error
    - r_context_free_progress_step
    - g_assert_cmpint
    - r_context_send_progress
    - r_context_set_step_percentage
    - g_assert_nonnull
    - g_return_if_fail
    - g_assert_cmpstr
    - g_list_next
    linkageType: ''
    returnType: void
    signature: void r_context_end_step(const gchar *name, gboolean success)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:784,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/context.c:786,1
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:789,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:790,1
    - Dst: g_list_next
      Src: /src/rauc/src/context.c:791,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/context.c:794,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:795,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:799,1
    - Dst: r_context_send_progress
      Src: /src/rauc/src/context.c:819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - name
    - custom_percent
    argTypes:
    - gchar*
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 820
    functionName: r_context_set_step_percentage
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 4
    functionsReached:
    - g_strcmp0
    - g_error
    - r_context_send_progress
    - g_assert_nonnull
    - g_return_if_fail
    - g_list_next
    linkageType: ''
    returnType: void
    signature: void r_context_set_step_percentage(const gchar *name, gint custom_percent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/context.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 826
    functionName: r_context_inc_step_percentage
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - r_context_set_step_percentage
    linkageType: ''
    returnType: void
    signature: void r_context_inc_step_percentage(const gchar *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/context.c:833,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:834,1
    - Dst: g_free
      Src: /src/rauc/src/context.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - step
    argTypes:
    - RaucProgressStep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: r_context_free_progress_step
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 1
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_context_free_progress_step(RaucProgressStep *step)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/context.c:840,1
    - Dst: g_assert_null
      Src: /src/rauc/src/context.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - progress_cb
    argTypes:
    - progress_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: r_context_register_progress_callback
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 2
    functionsReached:
    - g_assert_null
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_context_register_progress_callback(progress_callback progress_cb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/rauc/src/context.c:855,1
    - Dst: network_init
      Src: /src/rauc/src/context.c:857,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:858,1
    - Dst: g_error_free
      Src: /src/rauc/src/context.c:859,1
    - Dst: signature_init
      Src: /src/rauc/src/context.c:862,1
    - Dst: g_warning
      Src: /src/rauc/src/context.c:863,1
    - Dst: g_error_free
      Src: /src/rauc/src/context.c:864,1
    - Dst: g_new0
      Src: /src/rauc/src/context.c:872,1
    - Dst: g_new0
      Src: /src/rauc/src/context.c:874,1
    - Dst: g_assert_false
      Src: /src/rauc/src/context.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 882
    functionName: r_context_conf
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 67
    functionsReached:
    - g_warning
    - g_new0
    - g_assert_false
    - g_error_free
    - network_init
    - signal
    - signature_init
    linkageType: ''
    returnType: RaucContext
    signature: RaucContext *r_context_conf(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/src/context.c:889,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:892,1
    - Dst: r_context_configure
      Src: /src/rauc/src/context.c:896,1
    - Dst: g_error
      Src: /src/rauc/src/context.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 884
    functionDepth: 6
    functionLinenumber: 884
    functionLinenumberEnd: 902
    functionName: r_context
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 126
    functionsReached:
    - g_error
    - r_context_configure
    linkageType: ''
    returnType: RaucContext
    signature: RaucContext *r_context(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/context.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - RContextInstallationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: r_context_install_info_free
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 0
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_context_install_info_free(RContextInstallationInfo *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:914,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:915,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:916,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:917,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:918,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:919,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:920,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:921,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:922,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:923,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:924,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:925,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:926,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:927,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:928,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:929,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:930,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:931,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:932,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:933,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:935,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:937,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:939,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:943,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:944,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:945,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:946,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:948,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:950,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/context.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: r_context_clean
    functionSourceFile: /src/rauc/src/context.c
    functionUses: 17
    functionsReached:
    - g_clear_pointer
    linkageType: ''
    returnType: void
    signature: void r_context_clean(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_has_group
      Src: /src/rauc/src/status_file.c:17,1
    - Dst: g_debug
      Src: /src/rauc/src/status_file.c:18,1
    - Dst: r_slot_clear_status
      Src: /src/rauc/src/status_file.c:20,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:22,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:23,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:24,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:25,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:26,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:27,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:29,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/status_file.c:33,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:36,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/rauc/src/status_file.c:38,1
    - Dst: g_warning
      Src: /src/rauc/src/status_file.c:40,1
    - Dst: g_free
      Src: /src/rauc/src/status_file.c:41,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/status_file.c:43,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:44,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:45,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:47,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:48,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:50,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:52,1
    - Dst: key_file_consume_string
      Src: /src/rauc/src/status_file.c:58,1
    - Dst: g_date_time_new_from_iso8601
      Src: /src/rauc/src/status_file.c:60,1
    - Dst: g_warning
      Src: /src/rauc/src/status_file.c:62,1
    - Dst: g_free
      Src: /src/rauc/src/status_file.c:63,1
    - Dst: g_key_file_get_uint64
      Src: /src/rauc/src/status_file.c:65,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:66,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:67,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:69,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:70,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:72,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:74,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - key_file
    - group
    - slotstatus
    argTypes:
    - GKeyFile*
    - gchar*
    - RaucSlotStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 79
    functionName: status_file_get_slot_status
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_key_file_has_group
    - g_key_file_get_uint64
    - r_slot_clear_status
    - g_error_matches
    - g_date_time_new_from_iso8601
    - g_debug
    - key_file_consume_string
    - g_message
    - g_free
    - g_warning
    linkageType: ''
    returnType: void
    signature: void status_file_get_slot_status(GKeyFile *key_file, const gchar *group,
      RaucSlotStatus *slotstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/status_file.c:84,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key_file
    - group
    - key
    - string
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: status_file_set_string_or_remove_key
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_set_string
    - g_key_file_remove_key
    linkageType: ''
    returnType: void
    signature: void status_file_set_string_or_remove_key(GKeyFile *key_file, const
      gchar *group, const gchar *key, gchar *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:91,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:92,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:93,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:94,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:95,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:96,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/status_file.c:99,1
    - Dst: g_key_file_set_uint64
      Src: /src/rauc/src/status_file.c:100,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:102,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:103,1
    - Dst: status_file_set_string_or_remove_key
      Src: /src/rauc/src/status_file.c:106,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/status_file.c:109,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/status_file.c:110,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:112,1
    - Dst: g_key_file_set_uint64
      Src: /src/rauc/src/status_file.c:116,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:118,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/status_file.c:122,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/status_file.c:123,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:125,1
    - Dst: g_key_file_set_uint64
      Src: /src/rauc/src/status_file.c:129,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/status_file.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - key_file
    - group
    - slotstatus
    argTypes:
    - GKeyFile*
    - gchar*
    - RaucSlotStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 135
    functionName: status_file_set_slot_status
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_remove_key
    - status_file_set_string_or_remove_key
    - g_key_file_set_uint64
    - g_key_file_set_string
    - g_date_time_format
    linkageType: ''
    returnType: void
    signature: void status_file_set_slot_status(GKeyFile *key_file, const gchar *group,
      RaucSlotStatus *slotstatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:140,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:142,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:143,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:144,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:146,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/src/status_file.c:148,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:149,1
    - Dst: status_file_get_slot_status
      Src: /src/rauc/src/status_file.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - filename
    - slotstatus
    - error
    argTypes:
    - gchar*
    - RaucSlotStatus*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: r_slot_status_read
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 2
    functionsReached:
    - g_key_file_load_from_file
    - g_key_file_new
    - g_propagate_error
    - g_autoptr
    - status_file_get_slot_status
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_status_read(const gchar *filename, RaucSlotStatus *slotstatus,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:161,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:163,1
    - Dst: status_file_set_slot_status
      Src: /src/rauc/src/status_file.c:165,1
    - Dst: g_key_file_save_to_file
      Src: /src/rauc/src/status_file.c:167,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - filename
    - ss
    - error
    argTypes:
    - gchar*
    - RaucSlotStatus*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: r_slot_status_write
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 1
    functionsReached:
    - g_key_file_save_to_file
    - status_file_set_slot_status
    - g_key_file_new
    - g_propagate_error
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_status_write(const gchar *filename, RaucSlotStatus
      *ss, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/status_file.c:180,1
    - Dst: g_new0
      Src: /src/rauc/src/status_file.c:185,1
    - Dst: r_slot_is_mountable
      Src: /src/rauc/src/status_file.c:187,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:192,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/status_file.c:193,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:194,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:195,1
    - Dst: g_build_filename
      Src: /src/rauc/src/status_file.c:200,1
    - Dst: r_slot_status_read
      Src: /src/rauc/src/status_file.c:204,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:205,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:206,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/status_file.c:210,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:211,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - dest_slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 216
    functionName: load_slot_status_locally
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_mount_slot
    - r_slot_is_mountable
    - r_slot_status_read
    - g_message
    - r_umount_slot
    - g_new0
    - g_build_filename
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void load_slot_status_locally(RaucSlot *dest_slot)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:221,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:221,1
    - Dst: g_auto
      Src: /src/rauc/src/status_file.c:222,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/status_file.c:227,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/status_file.c:228,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/src/status_file.c:230,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:231,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:232,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:233,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/status_file.c:237,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/status_file.c:239,1
    - Dst: strlen
      Src: /src/rauc/src/status_file.c:242,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/status_file.c:243,1
    - Dst: g_new0
      Src: /src/rauc/src/status_file.c:247,1
    - Dst: g_debug
      Src: /src/rauc/src/status_file.c:248,1
    - Dst: status_file_get_slot_status
      Src: /src/rauc/src/status_file.c:249,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/status_file.c:253,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/status_file.c:254,1
    - Dst: g_debug
      Src: /src/rauc/src/status_file.c:258,1
    - Dst: g_new0
      Src: /src/rauc/src/status_file.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - filename
    - slots
    argTypes:
    - gchar*
    - GHashTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 261
    functionName: r_slot_status_load_globally
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - g_str_has_prefix
    - g_auto
    - g_key_file_get_groups
    - g_hash_table_iter_init
    - g_error_matches
    - g_key_file_load_from_file
    - g_debug
    - g_message
    - g_key_file_new
    - g_hash_table_lookup
    - g_new0
    - g_hash_table_iter_next
    - strlen
    - g_return_if_fail
    - status_file_get_slot_status
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_slot_status_load_globally(const gchar *filename, GHashTable
      *slots)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/status_file.c:265,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/status_file.c:268,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:268,1
    - Dst: load_slot_status_locally
      Src: /src/rauc/src/status_file.c:269,1
    - Dst: r_slot_status_load_globally
      Src: /src/rauc/src/status_file.c:271,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:271,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:271,1
    - Dst: r_slot_clean_data_directory
      Src: /src/rauc/src/status_file.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dest_slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 7
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: r_slot_status_load
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 3
    functionsReached:
    - r_slot_clean_data_directory
    - r_context
    - r_slot_status_load_globally
    - g_strcmp0
    - load_slot_status_locally
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_slot_status_load(RaucSlot *dest_slot)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:282,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:283,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:284,1
    - Dst: r_slot_is_mountable
      Src: /src/rauc/src/status_file.c:286,1
    - Dst: g_debug
      Src: /src/rauc/src/status_file.c:290,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/status_file.c:291,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:292,1
    - Dst: g_build_filename
      Src: /src/rauc/src/status_file.c:296,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:297,1
    - Dst: r_slot_status_write
      Src: /src/rauc/src/status_file.c:299,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:300,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/status_file.c:301,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/status_file.c:305,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 311
    functionName: save_slot_status_locally
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - r_slot_status_write
    - g_debug
    - r_slot_is_mountable
    - r_mount_slot
    - g_message
    - r_umount_slot
    - g_propagate_error
    - g_build_filename
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean save_slot_status_locally(RaucSlot *dest_slot, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:327,1
    - Dst: g_auto
      Src: /src/rauc/src/status_file.c:328,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:331,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/src/status_file.c:333,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:333,1
    - Dst: g_error_matches
      Src: /src/rauc/src/status_file.c:334,1
    - Dst: g_info
      Src: /src/rauc/src/status_file.c:335,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:336,1
    - Dst: g_strconcat
      Src: /src/rauc/src/status_file.c:338,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:338,1
    - Dst: g_warning
      Src: /src/rauc/src/status_file.c:340,1
    - Dst: g_warning
      Src: /src/rauc/src/status_file.c:341,1
    - Dst: g_clear_error
      Src: /src/rauc/src/status_file.c:342,1
    - Dst: g_rename
      Src: /src/rauc/src/status_file.c:343,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:343,1
    - Dst: g_warning
      Src: /src/rauc/src/status_file.c:345,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:345,1
    - Dst: g_strerror
      Src: /src/rauc/src/status_file.c:345,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/status_file.c:347,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:348,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/status_file.c:352,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/status_file.c:354,1
    - Dst: g_key_file_remove_group
      Src: /src/rauc/src/status_file.c:357,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:358,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/status_file.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - keep_prefix
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 325
    functionDepth: 7
    functionLinenumber: 325
    functionLinenumberEnd: 364
    functionName: key_file_init_from_shared_status_file
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_strerror
    - g_str_has_prefix
    - g_auto
    - g_key_file_get_groups
    - g_key_file_remove_group
    - r_context
    - g_error_matches
    - g_rename
    - g_key_file_load_from_file
    - g_clear_pointer
    - g_steal_pointer
    - g_key_file_new
    - g_propagate_error
    - g_info
    - g_warning
    - g_strconcat
    - g_autoptr
    linkageType: ''
    returnType: GKeyFile
    signature: GKeyFile *key_file_init_from_shared_status_file(const gchar *keep_prefix,
      GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:370,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:375,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:376,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:376,1
    - Dst: g_debug
      Src: /src/rauc/src/status_file.c:378,1
    - Dst: key_file_init_from_shared_status_file
      Src: /src/rauc/src/status_file.c:380,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:382,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/status_file.c:387,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:387,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/status_file.c:388,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/status_file.c:394,1
    - Dst: status_file_set_slot_status
      Src: /src/rauc/src/status_file.c:395,1
    - Dst: g_key_file_save_to_file
      Src: /src/rauc/src/status_file.c:398,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:398,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 368
    functionDepth: 8
    functionLinenumber: 368
    functionLinenumberEnd: 404
    functionName: save_slot_status_globally
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_key_file_save_to_file
    - g_hash_table_iter_init
    - r_context
    - key_file_init_from_shared_status_file
    - g_debug
    - status_file_set_slot_status
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean save_slot_status_globally(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:408,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:409,1
    - Dst: r_slot_clean_data_directory
      Src: /src/rauc/src/status_file.c:411,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/status_file.c:413,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:413,1
    - Dst: save_slot_status_locally
      Src: /src/rauc/src/status_file.c:414,1
    - Dst: save_slot_status_globally
      Src: /src/rauc/src/status_file.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 9
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: r_slot_status_save
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 3
    functionsReached:
    - r_slot_clean_data_directory
    - r_context
    - g_strcmp0
    - save_slot_status_locally
    - save_slot_status_globally
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_slot_status_save(RaucSlot *dest_slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:424,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:425,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:426,1
    - Dst: g_key_file_new
      Src: /src/rauc/src/status_file.c:428,1
    - Dst: g_key_file_load_from_file
      Src: /src/rauc/src/status_file.c:430,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:431,1
    - Dst: g_key_file_get_string
      Src: /src/rauc/src/status_file.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - filename
    - status
    - error
    argTypes:
    - gchar*
    - RSystemStatus*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: r_system_status_load
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 4
    functionsReached:
    - g_key_file_get_string
    - g_key_file_load_from_file
    - g_key_file_new
    - g_propagate_error
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_system_status_load(const gchar *filename, RSystemStatus
      *status, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/status_file.c:442,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/status_file.c:445,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/status_file.c:448,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:448,1
    - Dst: g_message
      Src: /src/rauc/src/status_file.c:449,1
    - Dst: key_file_init_from_shared_status_file
      Src: /src/rauc/src/status_file.c:453,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:455,1
    - Dst: g_key_file_set_string
      Src: /src/rauc/src/status_file.c:459,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:459,1
    - Dst: g_key_file_save_to_file
      Src: /src/rauc/src/status_file.c:461,1
    - Dst: r_context
      Src: /src/rauc/src/status_file.c:461,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/status_file.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 440
    functionDepth: 8
    functionLinenumber: 440
    functionLinenumberEnd: 467
    functionName: r_system_status_save
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 5
    functionsReached:
    - g_key_file_save_to_file
    - g_key_file_set_string
    - r_context
    - key_file_init_from_shared_status_file
    - g_strcmp0
    - g_message
    - g_propagate_error
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_system_status_save(GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/status_file.c:471,1
    - Dst: g_free
      Src: /src/rauc/src/status_file.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - RSystemStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: r_system_status_free
    functionSourceFile: /src/rauc/src/status_file.c
    functionUses: 0
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_system_status_free(RSystemStatus *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mbr.c:49,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mbr.c:50,1
    - Dst: ioctl
      Src: /src/rauc/src/mbr.c:53,1
    - Dst: g_message
      Src: /src/rauc/src/mbr.c:57,1
    - Dst: g_strerror
      Src: /src/rauc/src/mbr.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - heads
    - sectors
    argTypes:
    - gint
    - guint8*
    - guint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: get_hd_geometry
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - ioctl
    - g_message
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void get_hd_geometry(gint fd, guint8 *heads, guint8 *sectors)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:69,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:72,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:78,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:85,1
    - Dst: get_device_size
      Src: /src/rauc/src/mbr.c:91,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/mbr.c:93,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - fd
    - start
    - size
    - sector_size
    - error
    argTypes:
    - gint
    - guint64
    - guint64
    - guint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 104
    functionName: validate_region
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - get_device_size
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean validate_region(gint fd, guint64 start, guint64 size,\n\t\tguint
      sector_size, GError **error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:108,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:109,1
    - Dst: read
      Src: /src/rauc/src/mbr.c:111,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:112,1
    - Dst: g_strerror
      Src: /src/rauc/src/mbr.c:113,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - mbr
    - error
    argTypes:
    - gint
    - struct mbr*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: read_mbr
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - read
    - g_strerror
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean read_mbr(gint fd, struct mbr *mbr, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:131,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:132,1
    - Dst: GUINT32_FROM_LE
      Src: /src/rauc/src/mbr.c:143,1
    - Dst: GUINT32_FROM_LE
      Src: /src/rauc/src/mbr.c:144,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:148,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - region_start
    - region_size
    - partition_tbl
    - sector_size
    - error
    argTypes:
    - guint64
    - guint64
    - struct mbr_tbl_entry*
    - guint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 170
    functionName: is_region_free
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - GUINT32_FROM_LE
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean is_region_free(guint64 region_start, guint64 region_size,\n\t\tconst
      struct mbr_tbl_entry *partition_tbl, guint sector_size,\n\t\tGError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mbr.c:184,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mbr.c:185,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mbr.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - chs
    - lba
    - heads
    - sectors
    argTypes:
    - struct mbr_chs_entry*
    - guint32
    - guint8
    - guint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: get_chs
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void get_chs(struct mbr_chs_entry *chs, guint32 lba,\n\t\tguint8 heads,
      guint8 sectors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:204,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:205,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:206,1
    - Dst: get_sectorsize
      Src: /src/rauc/src/mbr.c:208,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:210,1
    - Dst: GUINT32_TO_LE
      Src: /src/rauc/src/mbr.c:219,1
    - Dst: GUINT32_TO_LE
      Src: /src/rauc/src/mbr.c:220,1
    - Dst: get_hd_geometry
      Src: /src/rauc/src/mbr.c:223,1
    - Dst: get_chs
      Src: /src/rauc/src/mbr.c:225,1
    - Dst: get_chs
      Src: /src/rauc/src/mbr.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - raw_entry
    - partition
    - error
    argTypes:
    - gint
    - struct mbr_tbl_entry*
    - struct boot_switch_partition*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 230
    functionName: get_raw_partition_entry
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - get_hd_geometry
    - GUINT32_TO_LE
    - get_chs
    - get_sectorsize
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean get_raw_partition_entry(gint fd,\n\t\tstruct mbr_tbl_entry
      *raw_entry,\n\t\tconst struct boot_switch_partition *partition, GError **error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:240,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:241,1
    - Dst: g_auto
      Src: /src/rauc/src/mbr.c:243,1
    - Dst: g_open
      Src: /src/rauc/src/mbr.c:243,1
    - Dst: get_sectorsize
      Src: /src/rauc/src/mbr.c:245,1
    - Dst: validate_region
      Src: /src/rauc/src/mbr.c:246,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/mbr.c:247,1
    - Dst: read_mbr
      Src: /src/rauc/src/mbr.c:252,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mbr.c:253,1
    - Dst: is_region_free
      Src: /src/rauc/src/mbr.c:259,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/mbr.c:261,1
    - Dst: GUINT32_FROM_LE
      Src: /src/rauc/src/mbr.c:266,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:267,1
    - Dst: GUINT32_FROM_LE
      Src: /src/rauc/src/mbr.c:274,1
    - Dst: GUINT32_FROM_LE
      Src: /src/rauc/src/mbr.c:277,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - device
    - partition
    - region_start
    - region_size
    - error
    argTypes:
    - gchar*
    - struct boot_switch_partition*
    - guint64
    - guint64
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 288
    functionName: r_mbr_switch_get_inactive_partition
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - read_mbr
    - validate_region
    - g_auto
    - g_propagate_prefixed_error
    - is_region_free
    - GUINT32_FROM_LE
    - g_open
    - get_sectorsize
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_mbr_switch_get_inactive_partition(const gchar *device,\n\t\tstruct
      boot_switch_partition *partition,\n\t\tguint64 region_start, guint64 region_size,\n\t\tGError
      **error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:297,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mbr.c:298,1
    - Dst: g_auto
      Src: /src/rauc/src/mbr.c:300,1
    - Dst: g_open
      Src: /src/rauc/src/mbr.c:300,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:302,1
    - Dst: g_strerror
      Src: /src/rauc/src/mbr.c:304,1
    - Dst: read_mbr
      Src: /src/rauc/src/mbr.c:309,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mbr.c:310,1
    - Dst: get_raw_partition_entry
      Src: /src/rauc/src/mbr.c:316,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mbr.c:317,1
    - Dst: lseek
      Src: /src/rauc/src/mbr.c:322,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:323,1
    - Dst: write
      Src: /src/rauc/src/mbr.c:328,1
    - Dst: g_set_error
      Src: /src/rauc/src/mbr.c:329,1
    - Dst: g_strerror
      Src: /src/rauc/src/mbr.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - device
    - partition
    - error
    argTypes:
    - gchar*
    - struct boot_switch_partition*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 336
    functionName: r_mbr_switch_set_boot_partition
    functionSourceFile: /src/rauc/src/mbr.c
    functionUses: 0
    functionsReached:
    - read_mbr
    - g_strerror
    - g_auto
    - g_propagate_prefixed_error
    - g_open
    - write
    - get_raw_partition_entry
    - g_set_error
    - lseek
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_mbr_switch_set_boot_partition(const gchar *device,\n\t\tconst
      struct boot_switch_partition *partition,\n\t\tGError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/utils.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: r_utils_error_quark
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_utils_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:24,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:25,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:27,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/utils.c:27,1
    - Dst: va_start
      Src: /src/rauc/src/utils.c:30,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:31,1
    - Dst: va_arg
      Src: /src/rauc/src/utils.c:33,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:34,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:35,1
    - Dst: va_end
      Src: /src/rauc/src/utils.c:36,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/utils.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - flags
    - error
    - argv0
    argTypes:
    - GSubprocessFlags
    - GError**
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 39
    functionName: r_subprocess_new
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_add
    - va_end
    - va_arg
    - r_subprocess_newv
    - va_start
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: GSubprocess
    signature: GSubprocess *r_subprocess_new(GSubprocessFlags flags, GError **error,
      const gchar *argv0, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:45,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:46,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:48,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/utils.c:48,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:50,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/utils.c:54,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - args
    - flags
    - error
    argTypes:
    - GPtrArray*
    - GSubprocessFlags
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: r_subprocess_runv
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 9
    functionsReached:
    - g_return_val_if_fail
    - g_propagate_error
    - r_subprocess_newv
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_subprocess_runv(GPtrArray *args, GSubprocessFlags flags,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rauc/src/utils.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: close_preserve_errno
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_preserve_errno(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/utils.c:73,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/utils.c:74,1
    - Dst: va_start
      Src: /src/rauc/src/utils.c:76,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:77,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/src/utils.c:77,1
    - Dst: va_end
      Src: /src/rauc/src/utils.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptrarray
    - format
    argTypes:
    - GPtrArray*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: r_ptr_array_add_printf
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 4
    functionsReached:
    - g_strdup_vprintf
    - g_ptr_array_add
    - va_end
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_ptr_array_add_printf(GPtrArray *ptrarray, const gchar *format,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:83,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:85,1
    - Dst: g_string_new
      Src: /src/rauc/src/utils.c:85,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/utils.c:88,1
    - Dst: strchr
      Src: /src/rauc/src/utils.c:89,1
    - Dst: g_error
      Src: /src/rauc/src/utils.c:92,1
    - Dst: g_strndup
      Src: /src/rauc/src/utils.c:96,1
    - Dst: g_shell_quote
      Src: /src/rauc/src/utils.c:97,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/utils.c:99,1
    - Dst: g_string_truncate
      Src: /src/rauc/src/utils.c:104,1
    - Dst: g_string_free
      Src: /src/rauc/src/utils.c:106,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/utils.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ptrarray
    argTypes:
    - GPtrArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: r_ptr_array_env_to_shell
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - g_strndup
    - strchr
    - g_string_free
    - g_error
    - g_return_val_if_fail
    - g_string_append_printf
    - g_shell_quote
    - g_string_truncate
    - g_ptr_array_index
    - g_string_new
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *r_ptr_array_env_to_shell(const GPtrArray *ptrarray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:111,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:112,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/utils.c:115,1
    - Dst: strchr
      Src: /src/rauc/src/utils.c:116,1
    - Dst: g_error
      Src: /src/rauc/src/utils.c:119,1
    - Dst: g_strndup
      Src: /src/rauc/src/utils.c:123,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/utils.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: r_environ_setenv_ptr_array
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_strndup
    - g_environ_setenv
    - g_error
    - g_return_val_if_fail
    - g_ptr_array_index
    - strchr
    linkageType: ''
    returnType: gchar
    signature: gchar **r_environ_setenv_ptr_array(gchar **envp, const GPtrArray *ptrarray,
      gboolean overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/utils.c:133,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/utils.c:134,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/utils.c:137,1
    - Dst: strchr
      Src: /src/rauc/src/utils.c:138,1
    - Dst: g_error
      Src: /src/rauc/src/utils.c:141,1
    - Dst: g_strndup
      Src: /src/rauc/src/utils.c:145,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/utils.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - launcher
    - ptrarray
    - overwrite
    argTypes:
    - GSubprocessLauncher*
    - GPtrArray*
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: r_subprocess_launcher_setenv_ptr_array
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_strndup
    - g_error
    - g_subprocess_launcher_setenv
    - g_ptr_array_index
    - g_return_if_fail
    - strchr
    linkageType: ''
    returnType: void
    signature: void r_subprocess_launcher_setenv_ptr_array(GSubprocessLauncher *launcher,
      const GPtrArray *ptrarray, gboolean overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/rauc/src/utils.c:156,1
    - Dst: g_bytes_new_take
      Src: /src/rauc/src/utils.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: read_file
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 12
    functionsReached:
    - g_file_get_contents
    - g_bytes_new_take
    linkageType: ''
    returnType: GBytes
    signature: GBytes *read_file(const gchar *filename, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_file_get_contents
      Src: /src/rauc/src/utils.c:167,1
    - Dst: g_strndup
      Src: /src/rauc/src/utils.c:170,1
    - Dst: g_free
      Src: /src/rauc/src/utils.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: read_file_str
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_strndup
    - g_free
    - g_file_get_contents
    linkageType: ''
    returnType: gchar
    signature: gchar *read_file_str(const gchar *filename, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:178,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:179,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:180,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/utils.c:183,1
    - Dst: g_file_set_contents
      Src: /src/rauc/src/utils.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - bytes
    - error
    argTypes:
    - gchar*
    - GBytes*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: write_file
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_file_set_contents
    - g_bytes_get_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean write_file(const gchar *filename, GBytes *bytes, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:192,1
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:193,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:194,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/utils.c:194,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:195,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/utils.c:195,1
    - Dst: g_file_copy
      Src: /src/rauc/src/utils.c:197,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - srcprefix
    - srcfile
    - dstprefix
    - dstfile
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: copy_file
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 9
    functionsReached:
    - g_file_copy
    - g_file_new_for_path
    - g_propagate_error
    - g_build_filename
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: "gboolean copy_file(const gchar *srcprefix, const gchar *srcfile,\n\t\tconst
      gchar *dstprefix, const gchar *dstfile, GError **error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_unlink
      Src: /src/rauc/src/utils.c:211,1
    - Dst: g_rmdir
      Src: /src/rauc/src/utils.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - fpath
    - sb
    - typeflag
    - ftwbuf
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: rm_tree_cb
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_rmdir
    - g_unlink
    linkageType: ''
    returnType: int
    signature: "int rm_tree_cb(const char *fpath, const struct stat *sb,\n\t\tint
      typeflag, struct FTW *ftwbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:221,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:222,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:223,1
    - Dst: strlen
      Src: /src/rauc/src/utils.c:223,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:224,1
    - Dst: nftw
      Src: /src/rauc/src/utils.c:227,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:228,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: rm_tree
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 28
    functionsReached:
    - g_strerror
    - nftw
    - g_set_error
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean rm_tree(const gchar *path, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:240,1
    - Dst: g_open
      Src: /src/rauc/src/utils.c:245,1
    - Dst: g_private_set
      Src: /src/rauc/src/utils.c:248,1
    - Dst: g_error_new
      Src: /src/rauc/src/utils.c:249,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:251,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:252,1
    - Dst: fcntl
      Src: /src/rauc/src/utils.c:257,1
    - Dst: g_private_set
      Src: /src/rauc/src/utils.c:260,1
    - Dst: g_error_new
      Src: /src/rauc/src/utils.c:261,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:273,1
    - Dst: g_private_set
      Src: /src/rauc/src/utils.c:275,1
    - Dst: g_error_new
      Src: /src/rauc/src/utils.c:276,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - fpath
    - sb
    - typeflag
    - ftwbuf
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 291
    functionName: tree_check_open_cb
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fcntl
    - g_auto
    - g_error_new
    - g_private_set
    - g_open
    - g_file_error_from_errno
    linkageType: ''
    returnType: int
    signature: "int tree_check_open_cb(const char *fpath, const struct stat *sb,\n\t\tint
      typeflag, struct FTW *ftwbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:295,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:297,1
    - Dst: strlen
      Src: /src/rauc/src/utils.c:297,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:299,1
    - Dst: g_private_get
      Src: /src/rauc/src/utils.c:299,1
    - Dst: nftw
      Src: /src/rauc/src/utils.c:302,1
    - Dst: g_private_get
      Src: /src/rauc/src/utils.c:304,1
    - Dst: g_private_set
      Src: /src/rauc/src/utils.c:305,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:307,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:313,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:316,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 326
    functionName: r_tree_check_open
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_private_get
    - g_propagate_prefixed_error
    - nftw
    - g_private_set
    - g_propagate_error
    - g_set_error
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_tree_check_open(const gchar *path, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/utils.c:333,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:334,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/utils.c:336,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:337,1
    - Dst: g_get_current_dir
      Src: /src/rauc/src/utils.c:339,1
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:342,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/utils.c:344,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/utils.c:345,1
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:346,1
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - basefile
    - path
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 349
    functionName: resolve_path
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_get_current_dir
    - g_str_has_prefix
    - g_strdup
    - g_path_get_dirname
    - g_build_filename
    - g_path_is_absolute
    linkageType: ''
    returnType: gchar
    signature: gchar *resolve_path(const gchar *basefile, const gchar *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resolve_path
      Src: /src/rauc/src/utils.c:353,1
    - Dst: g_free
      Src: /src/rauc/src/utils.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - basefile
    - path
    argTypes:
    - char*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: resolve_path_take
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 7
    functionsReached:
    - resolve_path
    - g_free
    linkageType: ''
    returnType: gchar
    signature: gchar *resolve_path_take(const char *basefile, gchar *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:361,1
    - Dst: g_key_file_get_groups
      Src: /src/rauc/src/utils.c:361,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key_file
    - error
    argTypes:
    - GKeyFile*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: check_remaining_groups
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_key_file_get_groups
    - g_set_error
    - g_auto
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_remaining_groups(GKeyFile *key_file, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:374,1
    - Dst: g_key_file_get_keys
      Src: /src/rauc/src/utils.c:374,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - key_file
    - groupname
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: check_remaining_keys
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 13
    functionsReached:
    - g_set_error
    - g_key_file_get_keys
    - g_auto
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_remaining_keys(GKeyFile *key_file, const gchar *groupname,
      GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_string
      Src: /src/rauc/src/utils.c:393,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:395,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/utils.c:399,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:402,1
    - Dst: g_free
      Src: /src/rauc/src/utils.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 409
    functionName: key_file_consume_string
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 15
    functionsReached:
    - g_key_file_remove_key
    - g_key_file_get_string
    - g_propagate_error
    - g_set_error
    - g_free
    linkageType: ''
    returnType: gchar
    signature: "gchar * key_file_consume_string(\n\t\tGKeyFile *key_file,\n\t\tconst
      gchar *group_name,\n\t\tconst gchar *key,\n\t\tGError **error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:413,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:414,1
    - Dst: g_ascii_isspace
      Src: /src/rauc/src/utils.c:417,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - str
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 426
    functionName: value_check_whitespace
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_ascii_isspace
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean value_check_whitespace(const gchar *str, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_key_file_get_integer
      Src: /src/rauc/src/utils.c:436,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/utils.c:438,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: key_file_consume_integer
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - g_key_file_get_integer
    - g_key_file_remove_key
    - g_propagate_error
    linkageType: ''
    returnType: gint
    signature: "gint key_file_consume_integer(\n\t\tGKeyFile *key_file,\n\t\tconst
      gchar *group_name,\n\t\tconst gchar *key,\n\t\tGError **error)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_file_consume_string
      Src: /src/rauc/src/utils.c:452,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:454,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/utils.c:459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - key_file
    - group_name
    - key
    - error
    argTypes:
    - GKeyFile*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: key_file_consume_binary_suffixed_string
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_ascii_strtoull
    - key_file_consume_string
    - g_propagate_error
    linkageType: ''
    returnType: guint64
    signature: "guint64 key_file_consume_binary_suffixed_string(GKeyFile *key_file,\n\t\tconst
      gchar *group_name,\n\t\tconst gchar *key,\n\t\tGError **error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:495,1
    - Dst: g_key_file_get_string_list
      Src: /src/rauc/src/utils.c:495,1
    - Dst: g_error_matches
      Src: /src/rauc/src/utils.c:496,1
    - Dst: g_clear_error
      Src: /src/rauc/src/utils.c:498,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:501,1
    - Dst: g_key_file_remove_key
      Src: /src/rauc/src/utils.c:505,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/utils.c:513,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:514,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/utils.c:521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 522
    functionName: key_file_consume_string_list
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - g_key_file_remove_key
    - g_auto
    - g_strv_contains
    - g_error_matches
    - g_key_file_get_string_list
    - g_propagate_error
    - g_set_error
    - g_steal_pointer
    linkageType: ''
    returnType: gchar
    signature: "gchar **key_file_consume_string_list(\n\t\tGKeyFile *key_file,\n\t\tconst
      gchar *group_name,\n\t\tconst gchar *key,\n\t\tconst gchar * const *allowed,\n\t\tGError
      **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/rauc/src/utils.c:527,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: r_realpath
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - realpath
    - g_strdup
    linkageType: ''
    returnType: gchar
    signature: gchar * r_realpath(const gchar *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rauc/src/utils.c:537,1
    - Dst: g_strstrip
      Src: /src/rauc/src/utils.c:542,1
    - Dst: strlen
      Src: /src/rauc/src/utils.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 545
    functionName: r_whitespace_removed
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - strlen
    - g_strstrip
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_whitespace_removed(gchar *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:549,1
    - Dst: strlen
      Src: /src/rauc/src/utils.c:551,1
    - Dst: g_malloc0
      Src: /src/rauc/src/utils.c:555,1
    - Dst: g_ascii_xdigit_value
      Src: /src/rauc/src/utils.c:557,1
    - Dst: g_ascii_xdigit_value
      Src: /src/rauc/src/utils.c:558,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/utils.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hex
    - len
    argTypes:
    - gchar*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 567
    functionName: r_hex_decode
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 9
    functionsReached:
    - g_ascii_xdigit_value
    - g_assert
    - g_malloc0
    - strlen
    - g_steal_pointer
    linkageType: ''
    returnType: guint8
    signature: guint8 *r_hex_decode(const gchar *hex, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:571,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:572,1
    - Dst: g_malloc0
      Src: /src/rauc/src/utils.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - raw
    - len
    argTypes:
    - guint8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: r_hex_encode
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 4
    functionsReached:
    - g_assert
    - g_malloc0
    linkageType: ''
    returnType: gchar
    signature: gchar *r_hex_encode(const guint8 *raw, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:587,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/rauc/src/utils.c:592,1
    - Dst: read
      Src: /src/rauc/src/utils.c:592,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:595,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:597,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:598,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:601,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/utils.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - fd
    - data
    - size
    - error
    argTypes:
    - int
    - guint8*
    - size_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 615
    functionName: r_read_exact
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 4
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - read
    - TEMP_FAILURE_RETRY
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_read_exact(const int fd, guint8 *data, size_t size, GError
      **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:619,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/rauc/src/utils.c:624,1
    - Dst: write
      Src: /src/rauc/src/utils.c:624,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:627,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:629,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:630,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/utils.c:635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - fd
    - data
    - size
    - error
    argTypes:
    - int
    - guint8*
    - size_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 641
    functionName: r_write_exact
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 6
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - TEMP_FAILURE_RETRY
    - write
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_write_exact(const int fd, const guint8 *data, size_t size,
      GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:645,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/rauc/src/utils.c:650,1
    - Dst: pread
      Src: /src/rauc/src/utils.c:650,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:653,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:655,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:656,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:659,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/utils.c:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - fd
    - data
    - size
    - offset
    - error
    argTypes:
    - int
    - guint8*
    - size_t
    - off_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 673
    functionName: r_pread_exact
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - TEMP_FAILURE_RETRY
    - pread
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_pread_exact(const int fd, guint8 *data, size_t size, off_t
      offset, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:677,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/rauc/src/utils.c:682,1
    - Dst: pwrite
      Src: /src/rauc/src/utils.c:682,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:685,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:687,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:688,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/utils.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - fd
    - data
    - size
    - offset
    - error
    argTypes:
    - int
    - guint8*
    - size_t
    - off_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 699
    functionName: r_pwrite_exact
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_assert_not_reached
    - pwrite
    - TEMP_FAILURE_RETRY
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_pwrite_exact(const int fd, const guint8 *data, size_t size,
      off_t offset, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc
      Src: /src/rauc/src/utils.c:703,1
    - Dst: r_pread_exact
      Src: /src/rauc/src/utils.c:706,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:707,1
    - Dst: memcmp
      Src: /src/rauc/src/utils.c:711,1
    - Dst: r_pwrite_exact
      Src: /src/rauc/src/utils.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - fd
    - data
    - size
    - offset
    - error
    argTypes:
    - int
    - guint8*
    - size_t
    - off_t
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: r_pwrite_lazy
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_malloc
    - r_pread_exact
    - r_pwrite_exact
    - memcmp
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_pwrite_lazy(const int fd, const guint8 *data, size_t size,
      off_t offset, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/rauc/src/utils.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: get_sectorsize
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: guint
    signature: guint get_sectorsize(gint fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:730,1
    - Dst: ioctl
      Src: /src/rauc/src/utils.c:733,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:736,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:741,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:743,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:744,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fd
    - error
    argTypes:
    - gint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 752
    functionName: get_device_size
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_strerror
    - ioctl
    - g_assert
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: goffset
    signature: goffset get_device_size(gint fd, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/utils.c:756,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gchar**
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: r_replace_strdup
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 7
    functionsReached:
    - g_strdup
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_replace_strdup(gchar **dst, const gchar *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:762,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:763,1
    - Dst: strlen
      Src: /src/rauc/src/utils.c:765,1
    - Dst: g_ascii_strup
      Src: /src/rauc/src/utils.c:766,1
    - Dst: g_ascii_isalnum
      Src: /src/rauc/src/utils.c:769,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:777,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/utils.c:785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - key
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 786
    functionName: r_prepare_env_key
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_ascii_strup
    - g_set_error
    - strlen
    - g_ascii_isalnum
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *r_prepare_env_key(const gchar *key, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_file_read_link
      Src: /src/rauc/src/utils.c:792,1
    - Dst: g_error_matches
      Src: /src/rauc/src/utils.c:794,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/utils.c:795,1
    - Dst: g_clear_error
      Src: /src/rauc/src/utils.c:798,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/utils.c:799,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/utils.c:803,1
    - Dst: symlink
      Src: /src/rauc/src/utils.c:804,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:806,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:808,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:809,1
    - Dst: rename
      Src: /src/rauc/src/utils.c:813,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:815,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:817,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:818,1
    - Dst: unlink
      Src: /src/rauc/src/utils.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - target
    - name
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 826
    functionName: r_update_symlink
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - g_clear_error
    - g_strerror
    - g_error_matches
    - g_strcmp0
    - unlink
    - rename
    - g_file_read_link
    - g_propagate_error
    - g_strdup_printf
    - g_file_error_from_errno
    - g_set_error
    - symlink
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_update_symlink(const gchar *target, const gchar *name, GError
      **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:830,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:831,1
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:833,1
    - Dst: g_open
      Src: /src/rauc/src/utils.c:833,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:836,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:838,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:839,1
    - Dst: syncfs
      Src: /src/rauc/src/utils.c:843,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:845,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:847,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 853
    functionName: r_syncfs
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_auto
    - g_open
    - g_file_error_from_errno
    - syncfs
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_syncfs(const gchar *path, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:859,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/src/utils.c:861,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:863,1
    - Dst: g_build_filename
      Src: /src/rauc/src/utils.c:867,1
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:868,1
    - Dst: g_open
      Src: /src/rauc/src/utils.c:868,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:871,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/utils.c:873,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:874,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/utils.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 879
    functionName: r_fakeroot_init
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - g_set_error
    - g_strerror
    - g_auto
    - g_propagate_prefixed_error
    - g_dir_make_tmp
    - g_open
    - g_file_error_from_errno
    - g_build_filename
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * r_fakeroot_init(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/utils.c:883,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:888,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/utils.c:888,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:889,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/utils.c:889,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:891,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:891,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:892,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:892,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:893,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:893,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:894,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:894,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:895,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:895,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/utils.c:896,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - args
    - envpath
    argTypes:
    - GPtrArray*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 897
    functionName: r_fakeroot_add_args
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 4
    functionsReached:
    - g_ptr_array_add
    - g_strdup
    - g_assert
    - g_return_if_fail
    - g_str_has_suffix
    - g_path_is_absolute
    linkageType: ''
    returnType: void
    signature: void r_fakeroot_add_args(GPtrArray *args, const gchar *envpath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:901,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:906,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/utils.c:906,1
    - Dst: g_assert
      Src: /src/rauc/src/utils.c:907,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/utils.c:907,1
    - Dst: g_path_get_dirname
      Src: /src/rauc/src/utils.c:909,1
    - Dst: rm_tree
      Src: /src/rauc/src/utils.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - envpath
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 912
    functionName: r_fakeroot_cleanup
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 2
    functionsReached:
    - rm_tree
    - g_assert
    - g_path_get_dirname
    - g_str_has_suffix
    - g_path_is_absolute
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_fakeroot_cleanup(const gchar *envpath, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_file_test
      Src: /src/rauc/src/utils.c:919,1
    - Dst: g_unlink
      Src: /src/rauc/src/utils.c:920,1
    - Dst: g_warning
      Src: /src/rauc/src/utils.c:921,1
    - Dst: g_free
      Src: /src/rauc/src/utils.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 925
    functionName: r_tempfile_cleanup
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 0
    functionsReached:
    - g_free
    - g_file_test
    - g_unlink
    - g_warning
    linkageType: ''
    returnType: void
    signature: void r_tempfile_cleanup(gchar *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:929,1
    - Dst: g_bytes_unref_to_data
      Src: /src/rauc/src/utils.c:932,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:935,1
    - Dst: g_strndup
      Src: /src/rauc/src/utils.c:937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - GBytes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 938
    functionName: r_bytes_unref_to_string
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_bytes_unref_to_data
    - g_strdup
    - g_strndup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *r_bytes_unref_to_string(GBytes **bytes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:942,1
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:945,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:949,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:950,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:951,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:952,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:953,1
    - Dst: g_strrstr
      Src: /src/rauc/src/utils.c:966,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:969,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:971,1
    - Dst: g_strrstr
      Src: /src/rauc/src/utils.c:982,1
    - Dst: g_strdup
      Src: /src/rauc/src/utils.c:985,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:987,1
    - Dst: g_strsplit
      Src: /src/rauc/src/utils.c:998,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:1001,1
    - Dst: g_set_error
      Src: /src/rauc/src/utils.c:1010,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/rauc/src/utils.c:1022,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:1023,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/utils.c:1034,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/utils.c:1036,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - version_string
    - version_core
    - pre_release
    - build
    - error
    argTypes:
    - gchar*
    - guint64[]
    - gchar**
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 1038
    functionName: r_semver_parse
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_auto
    - g_strrstr
    - g_propagate_prefixed_error
    - g_strdup
    - g_clear_pointer
    - g_ascii_string_to_unsigned
    - g_strsplit
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_semver_parse(const gchar *version_string, guint64 version_core[3],
      gchar **pre_release, gchar **build, GError **error)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:1044,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:1045,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:1046,1
    - Dst: r_semver_parse
      Src: /src/rauc/src/utils.c:1050,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:1051,1
    - Dst: r_semver_parse
      Src: /src/rauc/src/utils.c:1057,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/utils.c:1058,1
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:1083,1
    - Dst: g_strsplit
      Src: /src/rauc/src/utils.c:1083,1
    - Dst: g_auto
      Src: /src/rauc/src/utils.c:1084,1
    - Dst: g_strsplit
      Src: /src/rauc/src/utils.c:1084,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/rauc/src/utils.c:1089,1
    - Dst: g_ascii_string_to_unsigned
      Src: /src/rauc/src/utils.c:1091,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/utils.c:1108,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - version_string_a
    - version_string_b
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1122
    functionName: r_semver_less_equal
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - g_auto
    - g_propagate_prefixed_error
    - g_strcmp0
    - g_ascii_string_to_unsigned
    - g_strsplit
    - r_semver_parse
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_semver_less_equal(const gchar *version_string_a, const gchar
      *version_string_b, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_string_new
      Src: /src/rauc/src/utils.c:1131,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/utils.c:1134,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/utils.c:1136,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/utils.c:1138,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/utils.c:1140,1
    - Dst: g_strchomp
      Src: /src/rauc/src/utils.c:1142,1
    - Dst: g_string_free
      Src: /src/rauc/src/utils.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - total_seconds
    argTypes:
    - gint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1143
    functionName: r_format_duration
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_strchomp
    - g_string_new
    - g_string_append_printf
    - g_string_free
    linkageType: ''
    returnType: gchar
    signature: gchar *r_format_duration(gint64 total_seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:1147,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/utils.c:1148,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:1150,1
    - Dst: g_regex_new
      Src: /src/rauc/src/utils.c:1150,1
    - Dst: g_autoptr
      Src: /src/rauc/src/utils.c:1151,1
    - Dst: g_regex_match
      Src: /src/rauc/src/utils.c:1152,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/utils.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1156
    functionName: r_regex_match_simple
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 3
    functionsReached:
    - g_regex_new
    - g_regex_match
    - g_return_val_if_fail
    - g_match_info_fetch
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *r_regex_match_simple(const gchar *pattern, const gchar *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/rauc/src/utils.c:1162,1
    - Dst: g_error
      Src: /src/rauc/src/utils.c:1163,1
    - Dst: g_strerror
      Src: /src/rauc/src/utils.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1166
    functionName: r_get_boottime
    functionSourceFile: /src/rauc/src/utils.c
    functionUses: 1
    functionsReached:
    - g_error
    - clock_gettime
    - g_strerror
    linkageType: ''
    returnType: gint64
    signature: gint64 r_get_boottime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:49,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:51,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:52,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - polling_context
    argTypes:
    - RPollingContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: polling_context_clear_manifest
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void polling_context_clear_manifest(RPollingContext *polling_context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:58,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/polling.c:66,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/polling.c:68,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:71,1
    - Dst: MIN
      Src: /src/rauc/src/polling.c:72,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:72,1
    - Dst: g_strdup
      Src: /src/rauc/src/polling.c:75,1
    - Dst: g_strdup
      Src: /src/rauc/src/polling.c:79,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:80,1
    - Dst: g_random_double_range
      Src: /src/rauc/src/polling.c:80,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/polling.c:83,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:86,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:87,1
    - Dst: r_get_boottime
      Src: /src/rauc/src/polling.c:89,1
    - Dst: r_poller_set_next_poll
      Src: /src/rauc/src/polling.c:91,1
    - Dst: r_format_duration
      Src: /src/rauc/src/polling.c:93,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - polling_context
    - delay
    argTypes:
    - RPollingContext*
    - RPollingDelay
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 7
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: polling_reschedule
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_random_double_range
    - r_get_boottime
    - g_assert_not_reached
    - r_context
    - g_strdup
    - r_format_duration
    - MIN
    - g_message
    - g_strdup_printf
    - r_poller_set_next_poll
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void polling_reschedule(RPollingContext *polling_context, RPollingDelay
      delay)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:101,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:102,1
    - Dst: g_auto
      Src: /src/rauc/src/polling.c:105,1
    - Dst: assemble_info_headers
      Src: /src/rauc/src/polling.c:106,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/polling.c:108,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/polling.c:108,1
    - Dst: g_autoptr
      Src: /src/rauc/src/polling.c:111,1
    - Dst: check_bundle
      Src: /src/rauc/src/polling.c:112,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:112,1
    - Dst: g_error_matches
      Src: /src/rauc/src/polling.c:113,1
    - Dst: g_clear_error
      Src: /src/rauc/src/polling.c:114,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:115,1
    - Dst: polling_context_clear_manifest
      Src: /src/rauc/src/polling.c:116,1
    - Dst: g_error_matches
      Src: /src/rauc/src/polling.c:118,1
    - Dst: g_clear_error
      Src: /src/rauc/src/polling.c:119,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:120,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/polling.c:123,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:130,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/polling.c:131,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:138,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/polling.c:139,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:141,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:144,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - polling_context
    - error
    argTypes:
    - RPollingContext*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 97
    functionDepth: 7
    functionLinenumber: 97
    functionLinenumberEnd: 148
    functionName: polling_fetch
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_auto
    - check_bundle
    - polling_context_clear_manifest
    - g_set_error_literal
    - g_ptr_array_add
    - r_context
    - g_error_matches
    - g_assert
    - r_replace_strdup
    - g_clear_pointer
    - g_message
    - assemble_info_headers
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_fetch(RPollingContext *polling_context, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:154,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:155,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:156,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:158,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:159,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:160,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:161,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:163,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:165,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/polling.c:166,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/polling.c:168,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:171,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:176,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/polling.c:177,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:177,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:178,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - polling_context
    - error
    argTypes:
    - RPollingContext*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: polling_check_candidate_criteria
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_assert
    - g_strv_contains
    - g_strcmp0
    - r_semver_less_equal
    - g_propagate_error
    - r_replace_strdup
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_check_candidate_criteria(RPollingContext *polling_context,
      GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:191,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:192,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:193,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:195,1
    - Dst: g_debug
      Src: /src/rauc/src/polling.c:197,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:201,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:202,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:204,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:206,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/polling.c:207,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/polling.c:209,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:212,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:217,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/polling.c:218,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:218,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:219,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:224,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - polling_context
    - error
    argTypes:
    - RPollingContext*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 187
    functionDepth: 7
    functionLinenumber: 187
    functionLinenumberEnd: 230
    functionName: polling_check_install_criteria
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_assert
    - g_strv_contains
    - g_strcmp0
    - g_debug
    - r_semver_less_equal
    - g_message
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_check_install_criteria(RPollingContext *polling_context,
      GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:234,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:236,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:240,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:242,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:247,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:252,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/polling.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - install_args
    argTypes:
    - RaucInstallArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 232
    functionDepth: 7
    functionLinenumber: 232
    functionLinenumberEnd: 263
    functionName: polling_check_reboot_criteria
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_message
    - r_context
    - g_strv_contains
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_check_reboot_criteria(const RaucInstallArgs *install_args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:267,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:272,1
    - Dst: g_mutex_lock
      Src: /src/rauc/src/polling.c:276,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:278,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:280,1
    - Dst: r_installer_emit_completed
      Src: /src/rauc/src/polling.c:283,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/polling.c:284,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/polling.c:285,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/polling.c:285,1
    - Dst: polling_check_reboot_criteria
      Src: /src/rauc/src/polling.c:286,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/polling.c:289,1
    - Dst: install_args_free
      Src: /src/rauc/src/polling.c:291,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:293,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/polling.c:294,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/polling.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 265
    functionDepth: 8
    functionLinenumber: 265
    functionLinenumberEnd: 297
    functionName: polling_install_cleanup
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - r_installer_set_operation
    - g_mutex_lock
    - polling_check_reboot_criteria
    - install_args_free
    - g_dbus_interface_skeleton_flush
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - r_installer_emit_completed
    - g_message
    - polling_reschedule
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_install_cleanup(gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: install_args_new
      Src: /src/rauc/src/polling.c:304,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:306,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:307,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:308,1
    - Dst: g_strdup
      Src: /src/rauc/src/polling.c:310,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:310,1
    - Dst: g_strdup
      Src: /src/rauc/src/polling.c:314,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/polling.c:316,1
    - Dst: install_run
      Src: /src/rauc/src/polling.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - polling_context
    argTypes:
    - RPollingContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 7
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: polling_trigger_install
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - install_run
    - r_installer_set_operation
    - g_strdup
    - r_context
    - install_args_new
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void polling_trigger_install(RPollingContext *polling_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:326,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:328,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:329,1
    - Dst: g_auto
      Src: /src/rauc/src/polling.c:331,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/polling.c:332,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/polling.c:333,1
    - Dst: g_autoptr
      Src: /src/rauc/src/polling.c:337,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/polling.c:337,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/polling.c:338,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/polling.c:339,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/polling.c:341,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/polling.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 322
    functionDepth: 7
    functionLinenumber: 322
    functionLinenumberEnd: 352
    functionName: polling_reboot
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_shell_parse_argv
    - r_ptr_array_addv
    - g_auto
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - r_context
    - g_assert
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_propagate_error
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_reboot(GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:358,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:359,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:361,1
    - Dst: polling_fetch
      Src: /src/rauc/src/polling.c:364,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/polling.c:365,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:369,1
    - Dst: polling_check_candidate_criteria
      Src: /src/rauc/src/polling.c:373,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/polling.c:375,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:378,1
    - Dst: polling_check_install_criteria
      Src: /src/rauc/src/polling.c:383,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/polling.c:385,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:388,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/polling.c:393,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:394,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:398,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:399,1
    - Dst: polling_trigger_install
      Src: /src/rauc/src/polling.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - polling_context
    - error
    argTypes:
    - RPollingContext*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 354
    functionDepth: 8
    functionLinenumber: 354
    functionLinenumberEnd: 403
    functionName: polling_step
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - polling_fetch
    - g_propagate_prefixed_error
    - polling_check_install_criteria
    - g_strcmp0
    - g_clear_pointer
    - g_message
    - g_propagate_error
    - r_replace_strdup
    - polling_check_candidate_criteria
    - polling_trigger_install
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_step(RPollingContext *polling_context, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:407,1
    - Dst: g_auto
      Src: /src/rauc/src/polling.c:409,1
    - Dst: G_VARIANT_BUILDER_INIT
      Src: /src/rauc/src/polling.c:409,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/polling.c:409,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:411,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:411,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:412,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:412,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:414,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:414,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:415,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:415,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:417,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/polling.c:417,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:418,1
    - Dst: g_variant_new_boolean
      Src: /src/rauc/src/polling.c:418,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:420,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/polling.c:420,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:422,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/polling.c:422,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:426,1
    - Dst: r_manifest_to_dict
      Src: /src/rauc/src/polling.c:426,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/polling.c:429,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/polling.c:429,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:430,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/polling.c:431,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/polling.c:431,1
    - Dst: g_variant_builder_open
      Src: /src/rauc/src/polling.c:432,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/polling.c:432,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:434,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:434,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:436,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/polling.c:436,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:438,1
    - Dst: g_variant_new_uint64
      Src: /src/rauc/src/polling.c:438,1
    - Dst: g_variant_builder_add
      Src: /src/rauc/src/polling.c:440,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/polling.c:440,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/polling.c:441,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/polling.c:442,1
    - Dst: g_variant_builder_close
      Src: /src/rauc/src/polling.c:443,1
    - Dst: r_poller_set_status
      Src: /src/rauc/src/polling.c:446,1
    - Dst: g_variant_builder_end
      Src: /src/rauc/src/polling.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - polling_context
    argTypes:
    - RPollingContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 447
    functionName: polling_update_status
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_variant_builder_close
    - g_auto
    - G_VARIANT_TYPE
    - g_variant_builder_open
    - g_variant_new_string
    - G_VARIANT_BUILDER_INIT
    - r_poller_set_status
    - r_manifest_to_dict
    - g_variant_new_uint64
    - g_variant_builder_end
    - g_variant_builder_add
    - g_variant_new_boolean
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void polling_update_status(RPollingContext *polling_context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_get_data
      Src: /src/rauc/src/polling.c:451,1
    - Dst: G_OBJECT
      Src: /src/rauc/src/polling.c:451,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:452,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:454,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/polling.c:455,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/polling.c:455,1
    - Dst: r_poller_complete_poll
      Src: /src/rauc/src/polling.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - interface
    - invocation
    argTypes:
    - RPoller*
    - GDBusMethodInvocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 8
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: on_handle_poll
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_object_get_data
    - G_OBJECT
    - g_dbus_interface_skeleton_flush
    - G_DBUS_INTERFACE_SKELETON
    - g_assert
    - polling_reschedule
    - r_poller_complete_poll
    linkageType: ''
    returnType: gboolean
    signature: gboolean on_handle_poll(RPoller *interface, GDBusMethodInvocation *invocation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:463,1
    - Dst: g_autoptr
      Src: /src/rauc/src/polling.c:466,1
    - Dst: r_get_boottime
      Src: /src/rauc/src/polling.c:467,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/polling.c:484,1
    - Dst: g_debug
      Src: /src/rauc/src/polling.c:485,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:486,1
    - Dst: g_debug
      Src: /src/rauc/src/polling.c:492,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:493,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:498,1
    - Dst: g_file_test
      Src: /src/rauc/src/polling.c:499,1
    - Dst: g_debug
      Src: /src/rauc/src/polling.c:500,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:501,1
    - Dst: polling_reboot
      Src: /src/rauc/src/polling.c:508,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:509,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:510,1
    - Dst: r_poller_set_next_poll
      Src: /src/rauc/src/polling.c:515,1
    - Dst: polling_step
      Src: /src/rauc/src/polling.c:523,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:524,1
    - Dst: r_replace_strdup
      Src: /src/rauc/src/polling.c:525,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:528,1
    - Dst: r_get_boottime
      Src: /src/rauc/src/polling.c:529,1
    - Dst: polling_update_status
      Src: /src/rauc/src/polling.c:533,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 461
    functionDepth: 9
    functionLinenumber: 461
    functionLinenumberEnd: 541
    functionName: polling_context_dispatch
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - r_poller_set_next_poll
    - polling_update_status
    - polling_reschedule
    - r_context
    - g_debug
    - g_clear_pointer
    - g_message
    - polling_step
    - r_context_get_busy
    - polling_reboot
    - r_replace_strdup
    - g_return_val_if_fail
    - r_get_boottime
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean polling_context_dispatch(gpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/polling.c:545,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:547,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:550,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:551,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/polling.c:552,1
    - Dst: polling_context_clear_manifest
      Src: /src/rauc/src/polling.c:553,1
    - Dst: g_free
      Src: /src/rauc/src/polling.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: polling_context_finalize
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    - g_free
    - polling_context_clear_manifest
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void polling_context_finalize(gpointer user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_context
      Src: /src/rauc/src/polling.c:561,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:565,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/polling.c:567,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/polling.c:568,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/rauc/src/polling.c:571,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/polling.c:571,1
    - Dst: g_error
      Src: /src/rauc/src/polling.c:575,1
    - Dst: g_error_free
      Src: /src/rauc/src/polling.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - connection
    argTypes:
    - GDBusConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 557
    functionDepth: 7
    functionLinenumber: 557
    functionLinenumberEnd: 578
    functionName: r_polling_on_bus_acquired
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - G_CALLBACK
    - g_error_free
    - r_context
    - g_assert
    - g_signal_connect
    - g_dbus_interface_skeleton_export
    - G_DBUS_INTERFACE_SKELETON
    - g_error
    linkageType: ''
    returnType: void
    signature: void r_polling_on_bus_acquired(GDBusConnection *connection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/polling.c:582,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:584,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/polling.c:585,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:592,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/polling.c:593,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:601,1
    - Dst: r_context
      Src: /src/rauc/src/polling.c:602,1
    - Dst: g_assert
      Src: /src/rauc/src/polling.c:604,1
    - Dst: r_poller_skeleton_new
      Src: /src/rauc/src/polling.c:605,1
    - Dst: g_new0
      Src: /src/rauc/src/polling.c:606,1
    - Dst: g_timeout_add_seconds_full
      Src: /src/rauc/src/polling.c:607,1
    - Dst: g_object_set_data
      Src: /src/rauc/src/polling.c:614,1
    - Dst: G_OBJECT
      Src: /src/rauc/src/polling.c:614,1
    - Dst: polling_update_status
      Src: /src/rauc/src/polling.c:616,1
    - Dst: polling_reschedule
      Src: /src/rauc/src/polling.c:617,1
    - Dst: g_message
      Src: /src/rauc/src/polling.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 580
    functionDepth: 8
    functionLinenumber: 580
    functionLinenumberEnd: 622
    functionName: r_polling_setup
    functionSourceFile: /src/rauc/src/polling.c
    functionUses: 0
    functionsReached:
    - g_set_error_literal
    - G_OBJECT
    - polling_update_status
    - r_poller_skeleton_new
    - r_context
    - g_assert
    - g_message
    - g_new0
    - polling_reschedule
    - g_object_set_data
    - g_timeout_add_seconds_full
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_polling_setup(GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/update_handler.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: r_update_error_quark
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_update_error_quark(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:57,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:58,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:59,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:62,1
    - Dst: get_device_size
      Src: /src/rauc/src/update_handler.c:68,1
    - Dst: g_error_matches
      Src: /src/rauc/src/update_handler.c:69,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:70,1
    - Dst: g_info
      Src: /src/rauc/src/update_handler.c:71,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:78,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:84,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - fd
    - slot
    - image
    - error
    argTypes:
    - int
    - RaucSlot*
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 94
    functionName: check_image_size
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_error_matches
    - g_propagate_error
    - get_device_size
    - g_info
    - g_set_error
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_image_size(int fd, const RaucSlot *slot, const RaucImage
      *image, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:101,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:105,1
    - Dst: r_unix_output_stream_open_device
      Src: /src/rauc/src/update_handler.c:105,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:107,1
    - Dst: g_output_stream_write
      Src: /src/rauc/src/update_handler.c:118,1
    - Dst: g_error_matches
      Src: /src/rauc/src/update_handler.c:125,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:126,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:129,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:141,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:143,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:145,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:146,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 151
    functionName: clear_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_output_stream_write
    - g_propagate_prefixed_error
    - g_error_matches
    - g_output_stream_close
    - g_debug
    - r_unix_output_stream_open_device
    - g_message
    - g_propagate_error
    - G_OUTPUT_STREAM
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean clear_slot(RaucSlot *slot, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:174,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:175,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:176,1
    - Dst: g_open
      Src: /src/rauc/src/update_handler.c:178,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:180,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:182,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:186,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:188,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:190,1
    - Dst: write
      Src: /src/rauc/src/update_handler.c:198,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:207,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:209,1
    - Dst: g_close
      Src: /src/rauc/src/update_handler.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - device
    - dest_partition
    - error
    argTypes:
    - gchar*
    - struct boot_switch_partition*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 218
    functionName: clear_boot_switch_partition
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_strerror
    - g_open
    - write
    - g_set_error
    - lseek
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean clear_boot_switch_partition(const gchar *device,\n\t\tconst
      struct boot_switch_partition *dest_partition,\n\t\tGError **error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/rauc/src/update_handler.c:226,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:228,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - image
    - fd
    - error
    argTypes:
    - RaucImage*
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: ubifs_ioctl
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - ioctl
    - strerror
    linkageType: ''
    returnType: gboolean
    signature: gboolean ubifs_ioctl(RaucImage *image, int fd, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_unix_input_stream_get_fd
      Src: /src/rauc/src/update_handler.c:239,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/rauc/src/update_handler.c:240,1
    - Dst: fstat
      Src: /src/rauc/src/update_handler.c:245,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:247,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/update_handler.c:249,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:250,1
    - Dst: splice
      Src: /src/rauc/src/update_handler.c:256,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:259,1
    - Dst: g_io_error_from_errno
      Src: /src/rauc/src/update_handler.c:259,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:260,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:267,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/update_handler.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - image_stream
    - out_stream
    - error
    argTypes:
    - GUnixInputStream*
    - GUnixOutputStream*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 236
    functionDepth: 7
    functionLinenumber: 236
    functionLinenumberEnd: 272
    functionName: splice_with_progress
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fstat
    - r_context
    - g_unix_input_stream_get_fd
    - g_unix_output_stream_get_fd
    - splice
    - r_context_set_step_percentage
    - g_file_error_from_errno
    - g_io_error_from_errno
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: "gboolean splice_with_progress(GUnixInputStream *image_stream,\n\t\tGUnixOutputStream
      *out_stream, GError **error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:278,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:280,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:281,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:282,1
    - Dst: r_open_unix_input_stream
      Src: /src/rauc/src/update_handler.c:284,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:286,1
    - Dst: splice_with_progress
      Src: /src/rauc/src/update_handler.c:293,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:294,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:298,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:298,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:299,1
    - Dst: g_input_stream_close
      Src: /src/rauc/src/update_handler.c:306,1
    - Dst: G_INPUT_STREAM
      Src: /src/rauc/src/update_handler.c:306,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - filename
    - out_stream
    - error
    argTypes:
    - gchar*
    - GUnixOutputStream*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 274
    functionDepth: 8
    functionLinenumber: 274
    functionLinenumberEnd: 315
    functionName: splice_file_to_outstream
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - G_INPUT_STREAM
    - g_propagate_prefixed_error
    - g_output_stream_close
    - r_open_unix_input_stream
    - g_input_stream_close
    - g_propagate_error
    - splice_with_progress
    - g_autoptr
    - G_OUTPUT_STREAM
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean splice_file_to_outstream(const gchar *filename,\n\t\tGUnixOutputStream
      *out_stream, GError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:320,1
    - Dst: g_subprocess_get_stdin_pipe
      Src: /src/rauc/src/update_handler.c:320,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/update_handler.c:321,1
    - Dst: splice_file_to_outstream
      Src: /src/rauc/src/update_handler.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - filename
    - sproc
    - error
    argTypes:
    - gchar*
    - GSubprocess*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 9
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: splice_file_to_process_stdin
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_assert_nonnull
    - G_UNIX_OUTPUT_STREAM
    - splice_file_to_outstream
    - g_subprocess_get_stdin_pipe
    linkageType: ''
    returnType: gboolean
    signature: "gboolean splice_file_to_process_stdin(const gchar *filename, GSubprocess
      *sproc,\n\t\tGError **error)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:330,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:335,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:336,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:337,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:338,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/update_handler.c:340,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/rauc/src/update_handler.c:341,1
    - Dst: G_INPUT_STREAM
      Src: /src/rauc/src/update_handler.c:343,1
    - Dst: g_file_read
      Src: /src/rauc/src/update_handler.c:343,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:345,1
    - Dst: get_sectorsize
      Src: /src/rauc/src/update_handler.c:351,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:354,1
    - Dst: g_malloc
      Src: /src/rauc/src/update_handler.c:359,1
    - Dst: g_input_stream_read_all
      Src: /src/rauc/src/update_handler.c:361,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:362,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:367,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:368,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:368,1
    - Dst: r_copy_stream_with_progress
      Src: /src/rauc/src/update_handler.c:373,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:373,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:374,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/update_handler.c:379,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/update_handler.c:379,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:382,1
    - Dst: fsync
      Src: /src/rauc/src/update_handler.c:390,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:391,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:391,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:395,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:396,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:396,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/src/update_handler.c:400,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:400,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:401,1
    - Dst: g_input_stream_close
      Src: /src/rauc/src/update_handler.c:407,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:408,1
    - Dst: fsync
      Src: /src/rauc/src/update_handler.c:413,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:414,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:414,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 4
    argNames:
    - image
    - outstream
    - len_header_last
    - error
    argTypes:
    - RaucImage*
    - GUnixOutputStream*
    - gsize
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 419
    functionName: copy_raw_image
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_seekable_tell
    - strerror
    - g_output_stream_write_all
    - g_unix_output_stream_get_fd
    - G_OUTPUT_STREAM
    - lseek
    - G_INPUT_STREAM
    - g_propagate_prefixed_error
    - fsync
    - g_input_stream_close
    - g_file_new_for_path
    - G_SEEKABLE
    - g_autoptr
    - g_file_read
    - g_malloc
    - g_propagate_error
    - g_input_stream_read_all
    - g_set_error
    - g_return_val_if_fail
    - r_copy_stream_with_progress
    - get_sectorsize
    linkageType: ''
    returnType: gboolean
    signature: gboolean copy_raw_image(RaucImage *image, GUnixOutputStream *outstream,
      gsize len_header_last, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/update_handler.c:427,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:428,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:430,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:431,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:432,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:433,1
    - Dst: open
      Src: /src/rauc/src/update_handler.c:435,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:437,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:439,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:443,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:445,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:451,1
    - Dst: g_unix_output_stream_new
      Src: /src/rauc/src/update_handler.c:451,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:453,1
    - Dst: copy_raw_image
      Src: /src/rauc/src/update_handler.c:458,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:459,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:463,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:463,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - image
    - device
    - dest_partition
    - len_header_last
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - struct boot_switch_partition*
    - gsize
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 469
    functionName: write_boot_switch_partition
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_unix_output_stream_new
    - g_auto
    - G_OUTPUT_STREAM
    - strerror
    - g_output_stream_close
    - open
    - copy_raw_image
    - g_propagate_error
    - g_autoptr
    - g_set_error
    - G_UNIX_OUTPUT_STREAM
    - lseek
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean write_boot_switch_partition(RaucImage *image, const gchar
      *device,\n\t\tconst struct boot_switch_partition *dest_partition,\n\t\tgsize
      len_header_last,\n\t\tGError **error)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:473,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:474,1
    - Dst: g_auto
      Src: /src/rauc/src/update_handler.c:475,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:477,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:477,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:479,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:480,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:480,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:482,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:482,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:484,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:484,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:486,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:486,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:487,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:487,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:490,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:490,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:491,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:491,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:494,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:495,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:495,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:497,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/update_handler.c:498,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:498,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:499,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/update_handler.c:505,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:507,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:507,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:508,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:508,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:509,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/update_handler.c:511,1
    - Dst: dup
      Src: /src/rauc/src/update_handler.c:515,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:517,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:519,1
    - Dst: g_subprocess_launcher_take_stdout_fd
      Src: /src/rauc/src/update_handler.c:522,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:526,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:529,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:530,1
    - Dst: r_subprocess_launcher_spawnv
      Src: /src/rauc/src/update_handler.c:532,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:534,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/update_handler.c:541,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 7
    argNames:
    - image
    - dest
    - out_fd
    - seed
    - store
    - tmpdir
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - int
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 471
    functionDepth: 7
    functionLinenumber: 471
    functionLinenumberEnd: 550
    functionName: casync_extract
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_shell_parse_argv
    - r_ptr_array_addv
    - g_auto
    - g_propagate_prefixed_error
    - g_subprocess_launcher_new
    - g_subprocess_wait_check
    - g_ptr_array_add
    - strerror
    - r_context
    - g_strdup
    - g_ptr_array_new_full
    - g_subprocess_launcher_take_stdout_fd
    - g_subprocess_launcher_setenv
    - g_set_error
    - r_subprocess_launcher_spawnv
    - dup
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean casync_extract(RaucImage *image, gchar *dest, int out_fd,
      const gchar *seed, const gchar *store, const gchar *tmpdir, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:557,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:559,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/update_handler.c:564,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:564,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/update_handler.c:565,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - slotclass
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 575
    functionName: get_active_slot_class_member
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - r_context
    - g_strcmp0
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *get_active_slot_class_member(gchar *slotclass)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/update_handler.c:587,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:587,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/update_handler.c:588,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:588,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/update_handler.c:589,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:589,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:591,1
    - Dst: get_active_slot_class_member
      Src: /src/rauc/src/update_handler.c:597,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:599,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:603,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:609,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:610,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:612,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:613,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:619,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:620,1
    - Dst: g_stat
      Src: /src/rauc/src/update_handler.c:627,1
    - Dst: S_ISCHR
      Src: /src/rauc/src/update_handler.c:627,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:628,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:632,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:633,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:638,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:639,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:642,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:644,1
    - Dst: casync_extract
      Src: /src/rauc/src/update_handler.c:647,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:649,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:658,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:660,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:664,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:665,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 4
    argNames:
    - image
    - dest
    - out_fd
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 577
    functionDepth: 8
    functionLinenumber: 577
    functionLinenumberEnd: 673
    functionName: casync_extract_image
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_stat
    - g_propagate_error
    - r_context
    - g_strdup
    - g_debug
    - r_mount_slot
    - g_message
    - get_active_slot_class_member
    - g_str_has_suffix
    - g_assert_nonnull
    - S_ISCHR
    - casync_extract
    - r_umount_slot
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean casync_extract_image(RaucImage *image, gchar *dest, int out_fd,
      GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:691,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:696,1
    - Dst: r_unix_output_stream_open_device
      Src: /src/rauc/src/update_handler.c:697,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:700,1
    - Dst: check_image_size
      Src: /src/rauc/src/update_handler.c:705,1
    - Dst: g_unix_output_stream_get_fd
      Src: /src/rauc/src/update_handler.c:705,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:707,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:712,1
    - Dst: copy_raw_image
      Src: /src/rauc/src/update_handler.c:713,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:715,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:719,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:719,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - image
    - slot
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 727
    functionName: copy_raw_image_to_dev
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - check_image_size
    - g_output_stream_close
    - g_unix_output_stream_get_fd
    - r_unix_output_stream_open_device
    - g_message
    - copy_raw_image
    - g_propagate_error
    - G_OUTPUT_STREAM
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean copy_raw_image_to_dev(RaucImage *image, RaucSlot *slot, GError
      **error)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:733,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:734,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:741,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:743,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:744,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:745,1
    - Dst: r_stats_new
      Src: /src/rauc/src/update_handler.c:747,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/update_handler.c:749,1
    - Dst: r_hash_index_open_slot
      Src: /src/rauc/src/update_handler.c:753,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:755,1
    - Dst: check_image_size
      Src: /src/rauc/src/update_handler.c:759,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:760,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:768,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/update_handler.c:769,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:771,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/update_handler.c:771,1
    - Dst: get_active_slot_class_member
      Src: /src/rauc/src/update_handler.c:774,1
    - Dst: r_hash_index_open_slot
      Src: /src/rauc/src/update_handler.c:776,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:778,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:782,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/update_handler.c:782,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:784,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:790,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/update_handler.c:791,1
    - Dst: r_hash_index_open_image
      Src: /src/rauc/src/update_handler.c:794,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:796,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:802,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/update_handler.c:802,1
    - Dst: r_hash_index_reuse
      Src: /src/rauc/src/update_handler.c:805,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:806,1
    - Dst: dup
      Src: /src/rauc/src/update_handler.c:807,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:807,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:810,1
    - Dst: g_ptr_array_insert
      Src: /src/rauc/src/update_handler.c:819,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/update_handler.c:819,1
    - Dst: g_assert
      Src: /src/rauc/src/update_handler.c:828,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:831,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:832,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/update_handler.c:834,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:840,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:841,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:841,1
    - Dst: g_new0
      Src: /src/rauc/src/update_handler.c:847,1
    - Dst: memcmp
      Src: /src/rauc/src/update_handler.c:853,1
    - Dst: memset
      Src: /src/rauc/src/update_handler.c:855,1
    - Dst: r_stats_add
      Src: /src/rauc/src/update_handler.c:857,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:861,1
    - Dst: r_hash_index_get_chunk
      Src: /src/rauc/src/update_handler.c:862,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:870,1
    - Dst: r_hex_encode
      Src: /src/rauc/src/update_handler.c:876,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:877,1
    - Dst: r_pwrite_lazy
      Src: /src/rauc/src/update_handler.c:892,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:893,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:900,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:901,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:909,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/update_handler.c:910,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:915,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:916,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:916,1
    - Dst: fsync
      Src: /src/rauc/src/update_handler.c:922,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:923,1
    - Dst: strerror
      Src: /src/rauc/src/update_handler.c:923,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:930,1
    - Dst: r_hash_index_export_slot
      Src: /src/rauc/src/update_handler.c:931,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:932,1
    - Dst: r_stats_show
      Src: /src/rauc/src/update_handler.c:936,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/update_handler.c:938,1
    - Dst: r_stats_show
      Src: /src/rauc/src/update_handler.c:939,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 132
    argCount: 3
    argNames:
    - image
    - slot
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 729
    functionDepth: 8
    functionLinenumber: 729
    functionLinenumberEnd: 947
    functionName: copy_block_hash_index_image_to_dev
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_pwrite_lazy
    - memset
    - check_image_size
    - r_hash_index_open_image
    - g_ptr_array_add
    - strerror
    - r_context
    - g_ptr_array_insert
    - r_hash_index_export_slot
    - get_active_slot_class_member
    - r_context_set_step_percentage
    - g_bytes_get_data
    - lseek
    - g_steal_pointer
    - memcmp
    - r_stats_add
    - r_hash_index_get_chunk
    - r_hash_index_reuse
    - g_propagate_prefixed_error
    - r_hash_index_open_slot
    - fsync
    - r_stats_show
    - g_ptr_array_new_with_free_func
    - g_ptr_array_index
    - dup
    - g_autoptr
    - g_assert
    - g_propagate_error
    - g_new0
    - g_set_error
    - g_return_val_if_fail
    - g_clear_error
    - g_strerror
    - g_message
    - r_stats_new
    - r_hex_encode
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean copy_block_hash_index_image_to_dev(RaucImage *image, RaucSlot
      *slot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:954,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:955,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:956,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/update_handler.c:958,1
    - Dst: g_info
      Src: /src/rauc/src/update_handler.c:959,1
    - Dst: copy_block_hash_index_image_to_dev
      Src: /src/rauc/src/update_handler.c:961,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:962,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/update_handler.c:968,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - image
    - slot
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 949
    functionDepth: 9
    functionLinenumber: 949
    functionLinenumberEnd: 972
    functionName: copy_adaptive_image_to_dev
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - copy_block_hash_index_image_to_dev
    - g_strv_contains
    - g_propagate_error
    - g_info
    - g_set_error
    - g_strjoinv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean copy_adaptive_image_to_dev(RaucImage *image, RaucSlot *slot,
      GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:991,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:992,1
    - Dst: casync_extract_image
      Src: /src/rauc/src/update_handler.c:995,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:996,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1005,1
    - Dst: copy_adaptive_image_to_dev
      Src: /src/rauc/src/update_handler.c:1009,1
    - Dst: g_error_matches
      Src: /src/rauc/src/update_handler.c:1010,1
    - Dst: g_info
      Src: /src/rauc/src/update_handler.c:1011,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1013,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1019,1
    - Dst: copy_raw_image_to_dev
      Src: /src/rauc/src/update_handler.c:1028,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - image
    - slot
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 986
    functionDepth: 10
    functionLinenumber: 986
    functionLinenumberEnd: 1034
    functionName: write_image_to_dev
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - copy_raw_image_to_dev
    - g_error_matches
    - g_message
    - g_str_has_suffix
    - casync_extract_image
    - g_propagate_error
    - g_info
    - copy_adaptive_image_to_dev
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean write_image_to_dev(RaucImage *image, RaucSlot *slot, GError
      **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1040,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1040,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1042,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1042,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1043,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1043,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/update_handler.c:1044,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1045,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1045,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1046,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1048,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1059
    functionName: ubifs_format_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_addv
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean ubifs_format_slot(RaucSlot *dest_slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1065,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1065,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1067,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1067,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1068,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1068,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1069,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1071,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1082
    functionName: ext4_resize_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean ext4_resize_slot(RaucSlot *dest_slot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1088,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1088,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1090,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1090,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1091,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1091,1
    - Dst: strlen
      Src: /src/rauc/src/update_handler.c:1092,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1093,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1093,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1094,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1094,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1096,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1096,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/update_handler.c:1097,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1098,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1098,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1099,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1101,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1112
    functionName: ext4_format_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_addv
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - strlen
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean ext4_format_slot(RaucSlot *dest_slot, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1134,1
    - Dst: strlen
      Src: /src/rauc/src/update_handler.c:1137,1
    - Dst: g_strndup
      Src: /src/rauc/src/update_handler.c:1138,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1140,1
    - Dst: g_ascii_islower
      Src: /src/rauc/src/update_handler.c:1144,1
    - Dst: g_ascii_toupper
      Src: /src/rauc/src/update_handler.c:1145,1
    - Dst: strlen
      Src: /src/rauc/src/update_handler.c:1147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1156
    functionName: vfat_label_generator
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_strndup
    - g_strdup
    - g_ascii_toupper
    - strlen
    - g_ascii_islower
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * vfat_label_generator(const gchar *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1162,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1162,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1164,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1164,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1165,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1165,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1166,1
    - Dst: vfat_label_generator
      Src: /src/rauc/src/update_handler.c:1166,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/update_handler.c:1167,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1168,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1168,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1169,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1171,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - dest_slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1182
    functionName: vfat_format_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_ptr_array_addv
    - vfat_label_generator
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean vfat_format_slot(RaucSlot *dest_slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1188,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1188,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1190,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1190,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1191,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1191,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1192,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1192,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1193,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1193,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1194,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1196,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - image
    - device
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1207
    functionName: nor_write_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean nor_write_slot(const gchar *image, const gchar *device, GError
      **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1213,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1213,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1215,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1215,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1216,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1216,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1217,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1217,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1218,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1218,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1219,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1219,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1220,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/update_handler.c:1222,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - device
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1233
    functionName: flash_format_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean flash_format_slot(const gchar *device, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1237,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1240,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1240,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1242,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1242,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1243,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1243,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1244,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1244,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1245,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1245,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1246,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1246,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1247,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/update_handler.c:1249,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1251,1
    - Dst: splice_file_to_process_stdin
      Src: /src/rauc/src/update_handler.c:1258,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1260,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/update_handler.c:1267,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - image
    - device
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1235
    functionDepth: 10
    functionLinenumber: 1235
    functionLinenumberEnd: 1278
    functionName: nand_write_slot
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - splice_file_to_process_stdin
    - r_subprocess_newv
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean nand_write_slot(const gchar *image, const gchar *device, GError
      **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1309,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1317
    functionName: suffix_to_tar_flag
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_str_has_suffix
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *suffix_to_tar_flag(const gchar *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1321,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1324,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/update_handler.c:1324,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1326,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1326,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1327,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1327,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1328,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1328,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1329,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1329,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1330,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1330,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1331,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1331,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1332,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1332,1
    - Dst: suffix_to_tar_flag
      Src: /src/rauc/src/update_handler.c:1332,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/update_handler.c:1333,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/update_handler.c:1335,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1337,1
    - Dst: splice_file_to_process_stdin
      Src: /src/rauc/src/update_handler.c:1344,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1346,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/update_handler.c:1353,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - image
    - dest
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1319
    functionDepth: 10
    functionLinenumber: 1319
    functionLinenumberEnd: 1364
    functionName: untar_image
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - suffix_to_tar_flag
    - splice_file_to_process_stdin
    - r_subprocess_newv
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean untar_image(RaucImage *image, gchar *dest, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:1368,1
    - Dst: casync_extract_image
      Src: /src/rauc/src/update_handler.c:1369,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:1370,1
    - Dst: casync_extract_image
      Src: /src/rauc/src/update_handler.c:1371,1
    - Dst: untar_image
      Src: /src/rauc/src/update_handler.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - image
    - dest
    - error
    argTypes:
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 11
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: unpack_archive
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - untar_image
    - g_str_has_suffix
    - casync_extract_image
    linkageType: ''
    returnType: gboolean
    signature: gboolean unpack_archive(RaucImage *image, gchar *dest, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1390,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1391,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1397,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1398,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1399,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1400,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1401,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1402,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1404,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/update_handler.c:1406,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1408,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:1408,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1409,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:1409,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1410,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:1410,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1412,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1413,1
    - Dst: r_slot_slotstate_to_str
      Src: /src/rauc/src/update_handler.c:1413,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1414,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1415,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1416,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1418,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1420,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1422,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1424,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1426,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:1429,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1430,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1431,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1432,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1433,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1435,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:1435,1
    - Dst: r_context
      Src: /src/rauc/src/update_handler.c:1437,1
    - Dst: g_auto
      Src: /src/rauc/src/update_handler.c:1439,1
    - Dst: get_pubkey_hashes
      Src: /src/rauc/src/update_handler.c:1439,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/update_handler.c:1440,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1442,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1444,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/update_handler.c:1454,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/update_handler.c:1455,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/update_handler.c:1456,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1456,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:1456,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/rauc/src/update_handler.c:1460,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1466,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/update_handler.c:1473,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:1475,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 6
    argNames:
    - hook_name
    - hook_cmd
    - image
    - slot
    - variables
    - error
    argTypes:
    - gchar*
    - gchar*
    - RaucImage*
    - RaucSlot*
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1388
    functionDepth: 7
    functionLinenumber: 1388
    functionLinenumberEnd: 1484
    functionName: run_slot_hook_extra_env
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_propagate_prefixed_error
    - g_subprocess_launcher_new
    - g_hash_table_iter_init
    - r_context
    - g_strdup
    - r_slot_slotstate_to_str
    - g_message
    - get_pubkey_hashes
    - g_subprocess_launcher_setenv
    - g_strdup_printf
    - g_autoptr
    - g_subprocess_launcher_spawn
    - g_hash_table_iter_next
    - g_strjoinv
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean run_slot_hook_extra_env(const gchar *hook_name, const gchar
      *hook_cmd, RaucImage *image, RaucSlot *slot, GHashTable *variables, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - hook_name
    - hook_cmd
    - image
    - slot
    - error
    argTypes:
    - gchar*
    - gchar*
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1497
    functionDepth: 8
    functionLinenumber: 1497
    functionLinenumberEnd: 1500
    functionName: run_slot_hook
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - run_slot_hook_extra_env
    linkageType: ''
    returnType: gboolean
    signature: gboolean run_slot_hook(const gchar *hook_name, const gchar *hook_cmd,
      RaucImage *image, RaucSlot *slot, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1507,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1508,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1509,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1510,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1513,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:1514,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1516,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1521,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1522,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1524,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1528,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:1530,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1534,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1535,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - hook_name
    - hook_cmd
    - image
    - slot
    - error
    argTypes:
    - gchar*
    - gchar*
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1502
    functionDepth: 9
    functionLinenumber: 1502
    functionLinenumberEnd: 1543
    functionName: mount_and_run_slot_hook
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_mount_slot
    - g_message
    - r_umount_slot
    - g_propagate_error
    - run_slot_hook
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean mount_and_run_slot_hook(const gchar *hook_name, const gchar
      *hook_cmd, RaucImage *image, RaucSlot *slot, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1547,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1554,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1556,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1562,1
    - Dst: r_unix_output_stream_open_device
      Src: /src/rauc/src/update_handler.c:1563,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1566,1
    - Dst: ubifs_ioctl
      Src: /src/rauc/src/update_handler.c:1571,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1573,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:1578,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1579,1
    - Dst: casync_extract_image
      Src: /src/rauc/src/update_handler.c:1581,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1583,1
    - Dst: copy_raw_image
      Src: /src/rauc/src/update_handler.c:1588,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1590,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:1595,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:1595,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1597,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1603,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1605,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1545
    functionDepth: 9
    functionLinenumber: 1545
    functionLinenumberEnd: 1612
    functionName: img_to_ubivol_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - ubifs_ioctl
    - g_output_stream_close
    - r_unix_output_stream_open_device
    - g_message
    - g_str_has_suffix
    - casync_extract_image
    - g_propagate_error
    - copy_raw_image
    - run_slot_hook
    - G_OUTPUT_STREAM
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_ubivol_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:1616,1
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:1623,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1625,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1631,1
    - Dst: r_unix_output_stream_open_device
      Src: /src/rauc/src/update_handler.c:1632,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1635,1
    - Dst: ubifs_ioctl
      Src: /src/rauc/src/update_handler.c:1640,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1642,1
    - Dst: g_str_has_suffix
      Src: /src/rauc/src/update_handler.c:1647,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1648,1
    - Dst: casync_extract_image
      Src: /src/rauc/src/update_handler.c:1650,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1652,1
    - Dst: copy_raw_image
      Src: /src/rauc/src/update_handler.c:1657,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1659,1
    - Dst: g_output_stream_close
      Src: /src/rauc/src/update_handler.c:1664,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/update_handler.c:1664,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1666,1
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:1672,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1674,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1614
    functionDepth: 10
    functionLinenumber: 1614
    functionLinenumberEnd: 1681
    functionName: img_to_ubifs_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - ubifs_ioctl
    - g_output_stream_close
    - r_unix_output_stream_open_device
    - g_message
    - mount_and_run_slot_hook
    - g_str_has_suffix
    - g_propagate_error
    - casync_extract_image
    - copy_raw_image
    - G_OUTPUT_STREAM
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_ubifs_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1688,1
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:1692,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1694,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1700,1
    - Dst: ubifs_format_slot
      Src: /src/rauc/src/update_handler.c:1701,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1703,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1708,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:1709,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1711,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1716,1
    - Dst: unpack_archive
      Src: /src/rauc/src/update_handler.c:1717,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1719,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1725,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1727,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1734,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:1736,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1740,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1741,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1743,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1683
    functionDepth: 12
    functionLinenumber: 1683
    functionLinenumberEnd: 1749
    functionName: archive_to_ubifs_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - unpack_archive
    - r_mount_slot
    - g_message
    - mount_and_run_slot_hook
    - r_umount_slot
    - g_propagate_error
    - ubifs_format_slot
    - run_slot_hook
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean archive_to_ubifs_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1756,1
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:1760,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1762,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1768,1
    - Dst: flash_format_slot
      Src: /src/rauc/src/update_handler.c:1769,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1771,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1776,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:1777,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1779,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1784,1
    - Dst: unpack_archive
      Src: /src/rauc/src/update_handler.c:1785,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1787,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1793,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1795,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1802,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:1804,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1808,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1809,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1811,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1751
    functionDepth: 12
    functionLinenumber: 1751
    functionLinenumberEnd: 1817
    functionName: archive_to_jffs2_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - unpack_archive
    - r_mount_slot
    - g_message
    - mount_and_run_slot_hook
    - r_umount_slot
    - g_propagate_error
    - run_slot_hook
    - g_warning
    - flash_format_slot
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean archive_to_jffs2_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1824,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1828,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1830,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1836,1
    - Dst: ext4_format_slot
      Src: /src/rauc/src/update_handler.c:1837,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1839,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1844,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:1845,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1847,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:1852,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1854,1
    - Dst: unpack_archive
      Src: /src/rauc/src/update_handler.c:1855,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1857,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1864,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1866,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1873,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:1875,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1879,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1880,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1882,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1819
    functionDepth: 12
    functionLinenumber: 1819
    functionLinenumberEnd: 1888
    functionName: archive_to_ext4_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - unpack_archive
    - g_strcmp0
    - r_mount_slot
    - g_message
    - ext4_format_slot
    - r_umount_slot
    - g_propagate_error
    - run_slot_hook
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean archive_to_ext4_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:1895,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1899,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1901,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1907,1
    - Dst: vfat_format_slot
      Src: /src/rauc/src/update_handler.c:1908,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1910,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1915,1
    - Dst: r_mount_slot
      Src: /src/rauc/src/update_handler.c:1916,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1918,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1923,1
    - Dst: unpack_archive
      Src: /src/rauc/src/update_handler.c:1924,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1926,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1932,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1934,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1941,1
    - Dst: r_umount_slot
      Src: /src/rauc/src/update_handler.c:1943,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:1947,1
    - Dst: g_clear_error
      Src: /src/rauc/src/update_handler.c:1948,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1950,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1890
    functionDepth: 12
    functionLinenumber: 1890
    functionLinenumberEnd: 1956
    functionName: archive_to_vfat_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - unpack_archive
    - r_mount_slot
    - vfat_format_slot
    - g_message
    - r_umount_slot
    - g_propagate_error
    - run_slot_hook
    - g_warning
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean archive_to_vfat_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1964,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1965,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:1971,1
    - Dst: nor_write_slot
      Src: /src/rauc/src/update_handler.c:1972,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1973,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1979,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1958
    functionDepth: 9
    functionLinenumber: 1958
    functionLinenumberEnd: 1986
    functionName: img_to_nor_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - nor_write_slot
    - run_slot_hook
    - g_message
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_nor_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:1994,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:1995,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2001,1
    - Dst: flash_format_slot
      Src: /src/rauc/src/update_handler.c:2002,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2003,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2008,1
    - Dst: nand_write_slot
      Src: /src/rauc/src/update_handler.c:2009,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2010,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:2016,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2017,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1988
    functionDepth: 11
    functionLinenumber: 1988
    functionLinenumberEnd: 2023
    functionName: img_to_nand_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - nand_write_slot
    - g_message
    - g_propagate_error
    - run_slot_hook
    - flash_format_slot
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_nand_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:2031,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2032,1
    - Dst: write_image_to_dev
      Src: /src/rauc/src/update_handler.c:2038,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2039,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:2043,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2044,1
    - Dst: ext4_resize_slot
      Src: /src/rauc/src/update_handler.c:2045,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2046,1
    - Dst: mount_and_run_slot_hook
      Src: /src/rauc/src/update_handler.c:2053,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2054,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2025
    functionDepth: 11
    functionLinenumber: 2025
    functionLinenumberEnd: 2060
    functionName: img_to_fs_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - write_image_to_dev
    - ext4_resize_slot
    - g_strcmp0
    - g_message
    - mount_and_run_slot_hook
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_fs_handler(RaucImage *image, RaucSlot *dest_slot, const
      gchar *hook_name, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:2068,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/update_handler.c:2068,1
    - Dst: r_mbr_switch_get_inactive_partition
      Src: /src/rauc/src/update_handler.c:2070,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2074,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2083,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2087,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2094,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2094,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2095,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2096,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2096,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2097,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2098,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2098,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2099,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2103,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2106,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2111,1
    - Dst: clear_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2114,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:2116,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2121,1
    - Dst: write_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2123,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:2125,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2132,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2135,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2140,1
    - Dst: r_mbr_switch_set_boot_partition
      Src: /src/rauc/src/update_handler.c:2142,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2144,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2062
    functionDepth: 8
    functionLinenumber: 2062
    functionLinenumberEnd: 2151
    functionName: img_to_boot_mbr_switch_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - g_strdup_printf
    - clear_boot_switch_partition
    - g_propagate_prefixed_error
    - g_strdup
    - run_slot_hook_extra_env
    - write_boot_switch_partition
    - r_mbr_switch_set_boot_partition
    - g_message
    - g_hash_table_new_full
    - g_propagate_error
    - r_mbr_switch_get_inactive_partition
    - g_set_error
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_boot_mbr_switch_handler(RaucImage *image, RaucSlot
      *dest_slot, const gchar *hook_name, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:2161,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/update_handler.c:2161,1
    - Dst: r_gpt_switch_get_inactive_partition
      Src: /src/rauc/src/update_handler.c:2163,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2167,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2176,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2180,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2187,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2187,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2188,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2189,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2189,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2190,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2191,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2191,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2192,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2196,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2199,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2204,1
    - Dst: clear_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2207,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:2209,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2214,1
    - Dst: write_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2216,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/update_handler.c:2218,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2225,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2228,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2233,1
    - Dst: r_gpt_switch_set_boot_partition
      Src: /src/rauc/src/update_handler.c:2235,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2237,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2154
    functionDepth: 8
    functionLinenumber: 2154
    functionLinenumberEnd: 2242
    functionName: img_to_boot_gpt_switch_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - clear_boot_switch_partition
    - g_propagate_prefixed_error
    - r_gpt_switch_set_boot_partition
    - g_strdup
    - r_gpt_switch_get_inactive_partition
    - run_slot_hook_extra_env
    - write_boot_switch_partition
    - g_message
    - g_hash_table_new_full
    - g_propagate_error
    - g_strdup_printf
    - g_set_error
    - g_autoptr
    linkageType: ''
    returnType: G_GNUC_UNUSED
    signature: G_GNUC_UNUSED img_to_boot_gpt_switch_handler(RaucImage *image, RaucSlot
      *dest_slot, const gchar *hook_name, GError **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:2261,1
    - Dst: r_emmc_force_part_rw
      Src: /src/rauc/src/update_handler.c:2263,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2265,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2271,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2279,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2285,1
    - Dst: clear_slot
      Src: /src/rauc/src/update_handler.c:2286,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2288,1
    - Dst: copy_raw_image_to_dev
      Src: /src/rauc/src/update_handler.c:2292,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2293,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2300,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2308,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:2314,1
    - Dst: r_emmc_force_part_ro
      Src: /src/rauc/src/update_handler.c:2316,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2318,1
    - Dst: r_emmc_force_part_ro
      Src: /src/rauc/src/update_handler.c:2324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 5
    argNames:
    - image
    - dest_slot
    - hook_name
    - vars
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2255
    functionDepth: 8
    functionLinenumber: 2255
    functionLinenumberEnd: 2327
    functionName: copy_img_to_emmc_bootpart
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_emmc_force_part_ro
    - copy_raw_image_to_dev
    - run_slot_hook_extra_env
    - g_debug
    - g_message
    - clear_slot
    - g_propagate_error
    - r_emmc_force_part_rw
    linkageType: ''
    returnType: gboolean
    signature: gboolean copy_img_to_emmc_bootpart(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GHashTable *vars, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:2336,1
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:2337,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/update_handler.c:2337,1
    - Dst: r_realpath
      Src: /src/rauc/src/update_handler.c:2339,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2341,1
    - Dst: r_emmc_read_bootpart
      Src: /src/rauc/src/update_handler.c:2349,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2351,1
    - Dst: g_warning
      Src: /src/rauc/src/update_handler.c:2356,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2360,1
    - Dst: g_new0
      Src: /src/rauc/src/update_handler.c:2366,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2369,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2371,1
    - Dst: INACTIVE_BOOT_PARTITION
      Src: /src/rauc/src/update_handler.c:2374,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2377,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2377,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2378,1
    - Dst: INACTIVE_BOOT_PARTITION
      Src: /src/rauc/src/update_handler.c:2378,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2379,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2379,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2380,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2384,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2384,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2384,1
    - Dst: copy_img_to_emmc_bootpart
      Src: /src/rauc/src/update_handler.c:2386,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2388,1
    - Dst: g_debug
      Src: /src/rauc/src/update_handler.c:2397,1
    - Dst: r_emmc_write_bootpart
      Src: /src/rauc/src/update_handler.c:2399,1
    - Dst: INACTIVE_BOOT_PARTITION
      Src: /src/rauc/src/update_handler.c:2401,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2404,1
    - Dst: r_emmc_read_bootpart
      Src: /src/rauc/src/update_handler.c:2413,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2415,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2420,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2329
    functionDepth: 9
    functionLinenumber: 2329
    functionLinenumberEnd: 2428
    functionName: img_to_boot_emmc_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - r_emmc_write_bootpart
    - g_new0
    - g_hash_table_insert
    - INACTIVE_BOOT_PARTITION
    - g_strdup
    - g_debug
    - copy_img_to_emmc_bootpart
    - g_message
    - g_hash_table_new_full
    - r_emmc_read_bootpart
    - g_propagate_error
    - g_strdup_printf
    - g_set_error
    - r_realpath
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_boot_emmc_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2438,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2439,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2440,1
    - Dst: g_malloc0
      Src: /src/rauc/src/update_handler.c:2442,1
    - Dst: g_open
      Src: /src/rauc/src/update_handler.c:2444,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2446,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:2448,1
    - Dst: lseek
      Src: /src/rauc/src/update_handler.c:2452,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2453,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_handler.c:2455,1
    - Dst: read
      Src: /src/rauc/src/update_handler.c:2467,1
    - Dst: g_close
      Src: /src/rauc/src/update_handler.c:2485,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - device
    - start
    - size
    - clear
    - error
    argTypes:
    - gchar*
    - guint64
    - gsize
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2488
    functionName: check_if_area_is_clear
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_close
    - g_strerror
    - read
    - g_open
    - g_malloc0
    - g_set_error
    - lseek
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_if_area_is_clear(const gchar *device, guint64 start,
      gsize size, gboolean *clear, GError **error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/update_handler.c:2500,1
    - Dst: g_hash_table_new_full
      Src: /src/rauc/src/update_handler.c:2500,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2503,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2504,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2505,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2513,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2520,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2527,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2533,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2533,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2534,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/update_handler.c:2535,1
    - Dst: g_strdup
      Src: /src/rauc/src/update_handler.c:2535,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/update_handler.c:2536,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2540,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2542,1
    - Dst: check_if_area_is_clear
      Src: /src/rauc/src/update_handler.c:2559,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2560,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2572,1
    - Dst: clear_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2574,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2575,1
    - Dst: write_boot_switch_partition
      Src: /src/rauc/src/update_handler.c:2579,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2580,1
    - Dst: run_slot_hook_extra_env
      Src: /src/rauc/src/update_handler.c:2587,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2490
    functionDepth: 8
    functionLinenumber: 2490
    functionLinenumberEnd: 2595
    functionName: img_to_boot_raw_fallback_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_hash_table_insert
    - clear_boot_switch_partition
    - g_propagate_error
    - g_strdup
    - write_boot_switch_partition
    - g_message
    - g_hash_table_new_full
    - run_slot_hook_extra_env
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - check_if_area_is_clear
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_boot_raw_fallback_handler(RaucImage *image, RaucSlot
      *dest_slot, const gchar *hook_name, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:2603,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2604,1
    - Dst: write_image_to_dev
      Src: /src/rauc/src/update_handler.c:2610,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2611,1
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:2617,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2597
    functionDepth: 11
    functionLinenumber: 2597
    functionLinenumberEnd: 2624
    functionName: img_to_raw_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - write_image_to_dev
    - run_slot_hook
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean img_to_raw_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_slot_hook
      Src: /src/rauc/src/update_handler.c:2631,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_handler.c:2632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - image
    - dest_slot
    - hook_name
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2626
    functionDepth: 9
    functionLinenumber: 2626
    functionLinenumberEnd: 2637
    functionName: hook_install_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - run_slot_hook
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean hook_install_handler(RaucImage *image, RaucSlot *dest_slot,
      const gchar *hook_name, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2740,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/src/update_handler.c:2742,1
    - Dst: g_pattern_match_simple
      Src: /src/rauc/src/update_handler.c:2743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2749
    functionName: derive_image_type_from_filename_pattern
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 5
    functionsReached:
    - g_pattern_match_simple
    - G_N_ELEMENTS
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * derive_image_type_from_filename_pattern(const gchar *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2753,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2754,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:2757,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:2758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - image_type
    - slot_type
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2764
    functionName: get_handler_from_type
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: img_to_slot_handler
    signature: img_to_slot_handler get_handler_from_type(const gchar *image_type,
      const gchar *slot_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_handler.c:2768,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/update_handler.c:2771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2777
    functionName: is_image_type_supported
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 2
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean is_image_type_supported(const gchar *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2789,1
    - Dst: get_handler_from_type
      Src: /src/rauc/src/update_handler.c:2791,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_handler.c:2793,1
    - Dst: g_message
      Src: /src/rauc/src/update_handler.c:2798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mfimage
    - dest_slot
    - error
    argTypes:
    - RaucImage*
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2800
    functionName: get_update_handler
    functionSourceFile: /src/rauc/src/update_handler.c
    functionUses: 6
    functionsReached:
    - g_set_error
    - get_handler_from_type
    - g_message
    linkageType: ''
    returnType: img_to_slot_handler
    signature: img_to_slot_handler get_update_handler(RaucImage *mfimage, RaucSlot
      *dest_slot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:22,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:23,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:24,1
    - Dst: mount
      Src: /src/rauc/src/mount.c:26,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:32,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:34,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - source
    - mountpoint
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: r_mount_bundle
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 3
    functionsReached:
    - g_strerror
    - mount
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mount_bundle(const gchar *source, const gchar *mountpoint,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:48,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:49,1
    - Dst: umount2
      Src: /src/rauc/src/mount.c:51,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:53,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:55,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mountpoint
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: r_umount_bundle
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 2
    functionsReached:
    - g_strerror
    - umount2
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_umount_bundle(const gchar *mountpoint, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/mount.c:66,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/mount.c:66,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:68,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:69,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:70,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:72,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:72,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:74,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:74,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:75,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:75,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:78,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:78,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:79,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:79,1
    - Dst: g_str_equal
      Src: /src/rauc/src/mount.c:87,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:88,1
    - Dst: g_path_get_basename
      Src: /src/rauc/src/mount.c:88,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:90,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:90,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:92,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:92,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:93,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/mount.c:95,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mount.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - source
    - mountpoint
    - type
    - extra_options
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 104
    functionName: r_mount_full
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 1
    functionsReached:
    - g_path_get_basename
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - g_str_equal
    - r_subprocess_runv
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mount_full(const gchar *source, const gchar *mountpoint,
      const gchar* type, const gchar* extra_options, GError **error)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:115,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:116,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:117,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:118,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:119,1
    - Dst: open
      Src: /src/rauc/src/mount.c:121,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:124,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:126,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:127,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/mount.c:135,1
    - Dst: g_close
      Src: /src/rauc/src/mount.c:137,1
    - Dst: ioctl
      Src: /src/rauc/src/mount.c:141,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:144,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:146,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:147,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/mount.c:152,1
    - Dst: open
      Src: /src/rauc/src/mount.c:154,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:160,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:162,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:163,1
    - Dst: ioctl
      Src: /src/rauc/src/mount.c:168,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:174,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:176,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:177,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:186,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:188,1
    - Dst: ioctl
      Src: /src/rauc/src/mount.c:198,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:202,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:204,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:205,1
    - Dst: ioctl
      Src: /src/rauc/src/mount.c:206,1
    - Dst: ioctl
      Src: /src/rauc/src/mount.c:212,1
    - Dst: g_warning
      Src: /src/rauc/src/mount.c:215,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:216,1
    - Dst: g_message
      Src: /src/rauc/src/mount.c:219,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/mount.c:223,1
    - Dst: g_close
      Src: /src/rauc/src/mount.c:228,1
    - Dst: g_close
      Src: /src/rauc/src/mount.c:230,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 5
    argNames:
    - fd
    - loopfd_out
    - loopname_out
    - size
    - error
    argTypes:
    - gint
    - gint*
    - gchar**
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 232
    functionName: r_setup_loop
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 4
    functionsReached:
    - g_close
    - g_strerror
    - ioctl
    - open
    - g_clear_pointer
    - g_message
    - g_file_error_from_errno
    - g_strdup_printf
    - g_set_error
    - g_warning
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_setup_loop(gint fd, gint *loopfd_out, gchar **loopname_out,
      goffset size, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/mount.c:237,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/mount.c:237,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:239,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:240,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:242,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:242,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:243,1
    - Dst: g_strdup
      Src: /src/rauc/src/mount.c:243,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/mount.c:244,1
    - Dst: r_subprocess_runv
      Src: /src/rauc/src/mount.c:246,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mount.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 255
    functionName: r_umount
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 4
    functionsReached:
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_strdup
    - g_ptr_array_new_full
    - r_subprocess_runv
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_umount(const gchar *filename, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:263,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:264,1
    - Dst: r_context
      Src: /src/rauc/src/mount.c:266,1
    - Dst: g_build_filename
      Src: /src/rauc/src/mount.c:267,1
    - Dst: g_file_test
      Src: /src/rauc/src/mount.c:269,1
    - Dst: g_mkdir_with_parents
      Src: /src/rauc/src/mount.c:271,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:275,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/mount.c:278,1
    - Dst: g_strerror
      Src: /src/rauc/src/mount.c:281,1
    - Dst: g_free
      Src: /src/rauc/src/mount.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: r_create_mount_point
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 1
    functionsReached:
    - g_mkdir_with_parents
    - g_set_error
    - g_strerror
    - g_file_test
    - r_context
    - g_file_error_from_errno
    - g_build_filename
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar * r_create_mount_point(const gchar *name, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:298,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:299,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:300,1
    - Dst: g_file_test
      Src: /src/rauc/src/mount.c:302,1
    - Dst: g_set_error
      Src: /src/rauc/src/mount.c:303,1
    - Dst: r_create_mount_point
      Src: /src/rauc/src/mount.c:312,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mount.c:315,1
    - Dst: r_mount_full
      Src: /src/rauc/src/mount.c:322,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mount.c:325,1
    - Dst: g_rmdir
      Src: /src/rauc/src/mount.c:329,1
    - Dst: g_free
      Src: /src/rauc/src/mount.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 292
    functionDepth: 8
    functionLinenumber: 292
    functionLinenumberEnd: 338
    functionName: r_mount_slot
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 8
    functionsReached:
    - r_mount_full
    - g_file_test
    - g_propagate_prefixed_error
    - g_rmdir
    - g_set_error
    - r_create_mount_point
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mount_slot(RaucSlot *slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:344,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:345,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mount.c:346,1
    - Dst: r_umount
      Src: /src/rauc/src/mount.c:348,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/mount.c:349,1
    - Dst: g_rmdir
      Src: /src/rauc/src/mount.c:356,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/mount.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: r_umount_slot
    functionSourceFile: /src/rauc/src/mount.c
    functionUses: 8
    functionsReached:
    - g_propagate_prefixed_error
    - g_rmdir
    - g_clear_pointer
    - r_umount
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_umount_slot(RaucSlot *slot, GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:15,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:16,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/mark.c:18,1
    - Dst: r_context
      Src: /src/rauc/src/mark.c:18,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/mark.c:19,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:25,1
    - Dst: g_list_append
      Src: /src/rauc/src/mark.c:27,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:29,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:34,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/mark.c:36,1
    - Dst: r_context
      Src: /src/rauc/src/mark.c:36,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/mark.c:38,1
    - Dst: g_list_append
      Src: /src/rauc/src/mark.c:40,1
    - Dst: g_list_length
      Src: /src/rauc/src/mark.c:43,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:44,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:49,1
    - Dst: g_auto
      Src: /src/rauc/src/mark.c:56,1
    - Dst: g_strsplit
      Src: /src/rauc/src/mark.c:56,1
    - Dst: g_strv_length
      Src: /src/rauc/src/mark.c:58,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/mark.c:59,1
    - Dst: r_context
      Src: /src/rauc/src/mark.c:59,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:61,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:70,1
    - Dst: g_list_append
      Src: /src/rauc/src/mark.c:77,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:79,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - identifier
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 9
    functionDepth: 7
    functionLinenumber: 9
    functionLinenumberEnd: 87
    functionName: get_slots_by_identifier
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_hash_table_iter_init
    - g_list_append
    - r_context
    - g_strcmp0
    - g_list_length
    - g_strsplit
    - g_hash_table_lookup
    - g_hash_table_iter_next
    - g_set_error
    - g_strv_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: GList
    signature: GList * get_slots_by_identifier(const gchar *identifier, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mark.c:95,1
    - Dst: g_log_structured
      Src: /src/rauc/src/mark.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: r_event_log_mark_active
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - g_log_structured
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_event_log_mark_active(RaucSlot *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mark.c:109,1
    - Dst: g_log_structured
      Src: /src/rauc/src/mark.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: r_event_log_mark_good
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - g_log_structured
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_event_log_mark_good(RaucSlot *slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/mark.c:122,1
    - Dst: g_log_structured
      Src: /src/rauc/src/mark.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: r_event_log_mark_bad
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - g_log_structured
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_event_log_mark_bad(RaucSlot *slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:138,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:139,1
    - Dst: r_slot_status_load
      Src: /src/rauc/src/mark.c:141,1
    - Dst: r_boot_set_primary
      Src: /src/rauc/src/mark.c:144,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:145,1
    - Dst: g_error_free
      Src: /src/rauc/src/mark.c:147,1
    - Dst: r_event_log_mark_active
      Src: /src/rauc/src/mark.c:151,1
    - Dst: g_date_time_unref
      Src: /src/rauc/src/mark.c:154,1
    - Dst: g_date_time_new_now_utc
      Src: /src/rauc/src/mark.c:155,1
    - Dst: r_slot_status_save
      Src: /src/rauc/src/mark.c:158,1
    - Dst: g_message
      Src: /src/rauc/src/mark.c:159,1
    - Dst: g_error_free
      Src: /src/rauc/src/mark.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 133
    functionDepth: 10
    functionLinenumber: 133
    functionLinenumberEnd: 164
    functionName: r_mark_active
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - r_slot_status_save
    - g_error_free
    - g_date_time_new_now_utc
    - r_event_log_mark_active
    - g_return_val_if_fail
    - g_message
    - r_boot_set_primary
    - g_date_time_unref
    - g_set_error
    - r_slot_status_load
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mark_active(RaucSlot *slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:170,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:171,1
    - Dst: r_boot_set_state
      Src: /src/rauc/src/mark.c:173,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:174,1
    - Dst: g_error_free
      Src: /src/rauc/src/mark.c:176,1
    - Dst: r_event_log_mark_good
      Src: /src/rauc/src/mark.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: r_mark_good
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - g_error_free
    - g_set_error
    - r_event_log_mark_good
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mark_good(RaucSlot *slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:189,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:190,1
    - Dst: r_boot_set_state
      Src: /src/rauc/src/mark.c:192,1
    - Dst: g_set_error
      Src: /src/rauc/src/mark.c:193,1
    - Dst: g_error_free
      Src: /src/rauc/src/mark.c:195,1
    - Dst: r_event_log_mark_bad
      Src: /src/rauc/src/mark.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: r_mark_bad
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 0
    functionsReached:
    - r_boot_set_state
    - g_error_free
    - r_event_log_mark_bad
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_mark_bad(RaucSlot *slot, GError **error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/mark.c:209,1
    - Dst: g_autoptr
      Src: /src/rauc/src/mark.c:210,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:212,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:213,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:214,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/mark.c:215,1
    - Dst: get_slots_by_identifier
      Src: /src/rauc/src/mark.c:217,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:219,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:223,1
    - Dst: g_list_length
      Src: /src/rauc/src/mark.c:224,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:225,1
    - Dst: g_list_first
      Src: /src/rauc/src/mark.c:228,1
    - Dst: r_mark_good
      Src: /src/rauc/src/mark.c:230,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:231,1
    - Dst: r_context
      Src: /src/rauc/src/mark.c:235,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:236,1
    - Dst: mark_run
      Src: /src/rauc/src/mark.c:239,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:240,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:244,1
    - Dst: r_mark_bad
      Src: /src/rauc/src/mark.c:247,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:248,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/mark.c:252,1
    - Dst: g_list_length
      Src: /src/rauc/src/mark.c:253,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:254,1
    - Dst: g_list_first
      Src: /src/rauc/src/mark.c:257,1
    - Dst: r_mark_active
      Src: /src/rauc/src/mark.c:259,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:260,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/mark.c:264,1
    - Dst: g_autoptr
      Src: /src/rauc/src/mark.c:268,1
    - Dst: g_string_new
      Src: /src/rauc/src/mark.c:268,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/mark.c:272,1
    - Dst: g_string_truncate
      Src: /src/rauc/src/mark.c:276,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/mark.c:278,1
    - Dst: g_strdup
      Src: /src/rauc/src/mark.c:280,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - state
    - slot_identifier
    - slot_name
    - message
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    - gchar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 204
    functionDepth: 11
    functionLinenumber: 204
    functionLinenumberEnd: 283
    functionName: mark_run
    functionSourceFile: /src/rauc/src/mark.c
    functionUses: 2
    functionsReached:
    - r_mark_active
    - g_list_first
    - r_mark_good
    - g_strdup_printf
    - g_strdup
    - r_context
    - mark_run
    - g_strcmp0
    - g_string_truncate
    - g_string_append_printf
    - g_list_length
    - r_mark_bad
    - g_autoptr
    - g_string_new
    - get_slots_by_identifier
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean mark_run(const gchar *state,\n\t\tconst gchar *slot_identifier,\n\t\tgchar
      **slot_name,\n\t\tgchar **message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/rauc/src/service.c:31,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/src/service.c:32,1
    - Dst: g_queue_pop_head
      Src: /src/rauc/src/service.c:33,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:34,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/service.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: service_install_notify
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - g_queue_is_empty
    - g_mutex_unlock
    - g_message
    - g_queue_pop_head
    linkageType: ''
    returnType: gboolean
    signature: gboolean service_install_notify(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_mutex_lock
      Src: /src/rauc/src/service.c:45,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:47,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:49,1
    - Dst: r_installer_emit_completed
      Src: /src/rauc/src/service.c:51,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/service.c:52,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/service.c:53,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/service.c:53,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/service.c:54,1
    - Dst: install_args_free
      Src: /src/rauc/src/service.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: service_install_cleanup
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_installer_set_operation
    - g_mutex_lock
    - install_args_free
    - g_dbus_interface_skeleton_flush
    - G_DBUS_INTERFACE_SKELETON
    - g_mutex_unlock
    - r_installer_emit_completed
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean service_install_cleanup(gpointer data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/service.c:68,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/service.c:69,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:71,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:72,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:73,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:74,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:75,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:76,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:77,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:78,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:79,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - dict
    - access_args
    argTypes:
    - GVariantDict*
    - RaucBundleAccessArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: convert_dict_to_bundle_access_args
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_variant_dict_remove
    - g_variant_dict_lookup
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void convert_dict_to_bundle_access_args(\n\t\tGVariantDict *dict,\n\t\tRaucBundleAccessArgs
      *access_args)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: install_args_new
      Src: /src/rauc/src/service.c:89,1
    - Dst: g_auto
      Src: /src/rauc/src/service.c:90,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/service.c:90,1
    - Dst: g_autoptr
      Src: /src/rauc/src/service.c:91,1
    - Dst: g_print
      Src: /src/rauc/src/service.c:97,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:99,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:101,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:106,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:110,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:111,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:113,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:114,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:116,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:117,1
    - Dst: g_variant_dict_lookup
      Src: /src/rauc/src/service.c:119,1
    - Dst: g_variant_dict_remove
      Src: /src/rauc/src/service.c:120,1
    - Dst: convert_dict_to_bundle_access_args
      Src: /src/rauc/src/service.c:122,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/service.c:125,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/service.c:126,1
    - Dst: g_variant_iter_next
      Src: /src/rauc/src/service.c:127,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/service.c:128,1
    - Dst: g_free
      Src: /src/rauc/src/service.c:129,1
    - Dst: r_config_file_modified_check
      Src: /src/rauc/src/service.c:135,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/service.c:137,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/service.c:138,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/service.c:138,1
    - Dst: install_run
      Src: /src/rauc/src/service.c:139,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/service.c:143,1
    - Dst: r_installer_complete_install
      Src: /src/rauc/src/service.c:145,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/service.c:147,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - interface
    - invocation
    - source
    - arg_args
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    - gchar*
    - GVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 155
    functionName: r_on_handle_install_bundle
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - install_run
    - convert_dict_to_bundle_access_args
    - g_variant_iter_next
    - g_dbus_interface_skeleton_flush
    - g_clear_pointer
    - r_context_get_busy
    - install_args_new
    - g_variant_iter_init
    - r_installer_complete_install
    - g_strdup
    - g_strdup_printf
    - g_autoptr
    - g_auto
    - g_dbus_method_invocation_return_error
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_variant_dict_remove
    - g_print
    - g_free
    - r_installer_set_operation
    - G_DBUS_INTERFACE_SKELETON
    - g_variant_dict_lookup
    - r_config_file_modified_check
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_install_bundle(\n\t\tRInstaller *interface,\n\t\tGDBusMethodInvocation
      *invocation,\n\t\tconst gchar *source,\n\t\tGVariant *arg_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/src/service.c:161,1
    - Dst: r_on_handle_install_bundle
      Src: /src/rauc/src/service.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - interface
    - invocation
    - arg_source
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: r_on_handle_install
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_on_handle_install_bundle
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_install(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation,\n\t\tconst gchar *arg_source)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/service.c:169,1
    - Dst: g_auto
      Src: /src/rauc/src/service.c:170,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/src/service.c:170,1
    - Dst: g_autoptr
      Src: /src/rauc/src/service.c:171,1
    - Dst: g_autoptr
      Src: /src/rauc/src/service.c:174,1
    - Dst: g_autoptr
      Src: /src/rauc/src/service.c:175,1
    - Dst: g_print
      Src: /src/rauc/src/service.c:180,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:182,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:184,1
    - Dst: convert_dict_to_bundle_access_args
      Src: /src/rauc/src/service.c:188,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/service.c:191,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/src/service.c:192,1
    - Dst: g_variant_iter_next
      Src: /src/rauc/src/service.c:193,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/service.c:194,1
    - Dst: g_free
      Src: /src/rauc/src/service.c:195,1
    - Dst: g_assert
      Src: /src/rauc/src/service.c:200,1
    - Dst: assemble_info_headers
      Src: /src/rauc/src/service.c:201,1
    - Dst: check_bundle
      Src: /src/rauc/src/service.c:203,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:205,1
    - Dst: g_clear_error
      Src: /src/rauc/src/service.c:206,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/service.c:211,1
    - Dst: load_manifest_from_bundle
      Src: /src/rauc/src/service.c:213,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:215,1
    - Dst: g_clear_error
      Src: /src/rauc/src/service.c:216,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:223,1
    - Dst: r_manifest_to_dict
      Src: /src/rauc/src/service.c:233,1
    - Dst: r_installer_complete_inspect_bundle
      Src: /src/rauc/src/service.c:235,1
    - Dst: r_installer_complete_info
      Src: /src/rauc/src/service.c:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 4
    argNames:
    - interface
    - invocation
    - arg_bundle
    - arg_args
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    - gchar*
    - GVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 165
    functionDepth: 6
    functionLinenumber: 165
    functionLinenumberEnd: 249
    functionName: r_on_handle_inspect_bundle
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - convert_dict_to_bundle_access_args
    - g_variant_iter_next
    - r_installer_complete_inspect_bundle
    - assemble_info_headers
    - r_context_get_busy
    - g_variant_iter_init
    - g_steal_pointer
    - r_installer_complete_info
    - g_strdup
    - load_manifest_from_bundle
    - g_strdup_printf
    - g_autoptr
    - g_auto
    - g_assert
    - g_dbus_method_invocation_return_error
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_print
    - g_free
    - g_clear_error
    - check_bundle
    - r_manifest_to_dict
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_inspect_bundle(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation,\n\t\tconst gchar *arg_bundle, GVariant *arg_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/src/service.c:255,1
    - Dst: r_on_handle_inspect_bundle
      Src: /src/rauc/src/service.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - interface
    - invocation
    - arg_bundle
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: r_on_handle_info
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_on_handle_inspect_bundle
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_info(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation,\n\t\tconst gchar *arg_bundle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:268,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:270,1
    - Dst: mark_run
      Src: /src/rauc/src/service.c:274,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:275,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:276,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:278,1
    - Dst: r_installer_complete_mark
      Src: /src/rauc/src/service.c:285,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:287,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - interface
    - invocation
    - arg_state
    - arg_slot_identifier
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 259
    functionDepth: 12
    functionLinenumber: 259
    functionLinenumberEnd: 296
    functionName: r_on_handle_mark
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - mark_run
    - g_dbus_method_invocation_return_error
    - g_strcmp0
    - g_message
    - r_context_get_busy
    - r_installer_complete_mark
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_mark(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation,\n\t\tconst gchar *arg_state,\n\t\tconst gchar *arg_slot_identifier)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: r_slot_status_load
      Src: /src/rauc/src/service.c:306,1
    - Dst: g_variant_dict_init
      Src: /src/rauc/src/service.c:309,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:312,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:314,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:316,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:318,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:320,1
    - Dst: r_slot_slotstate_to_str
      Src: /src/rauc/src/service.c:320,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:322,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:324,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:326,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:328,1
    - Dst: r_slot_bootstate_to_str
      Src: /src/rauc/src/service.c:328,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:331,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:334,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:337,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:340,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:343,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:346,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:349,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:350,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:354,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/service.c:357,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:358,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:359,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/service.c:363,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:364,1
    - Dst: g_variant_dict_insert
      Src: /src/rauc/src/service.c:365,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/src/service.c:368,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 301
    functionDepth: 8
    functionLinenumber: 301
    functionLinenumberEnd: 369
    functionName: convert_slot_status_to_dict
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_date_time_format
    - r_slot_slotstate_to_str
    - g_variant_dict_end
    - g_variant_dict_insert
    - g_variant_dict_init
    - r_slot_bootstate_to_str
    - r_slot_status_load
    linkageType: ''
    returnType: GVariant
    signature: GVariant * convert_slot_status_to_dict(RaucSlot *slot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_size
      Src: /src/rauc/src/service.c:376,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:376,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/service.c:385,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/service.c:387,1
    - Dst: update_external_mount_points
      Src: /src/rauc/src/service.c:389,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/service.c:391,1
    - Dst: determine_boot_states
      Src: /src/rauc/src/service.c:398,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:400,1
    - Dst: g_clear_error
      Src: /src/rauc/src/service.c:401,1
    - Dst: g_new
      Src: /src/rauc/src/service.c:404,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/service.c:406,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:406,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/service.c:407,1
    - Dst: g_variant_new_string
      Src: /src/rauc/src/service.c:410,1
    - Dst: convert_slot_status_to_dict
      Src: /src/rauc/src/service.c:411,1
    - Dst: g_variant_new_tuple
      Src: /src/rauc/src/service.c:413,1
    - Dst: g_variant_new_array
      Src: /src/rauc/src/service.c:418,1
    - Dst: G_VARIANT_TYPE
      Src: /src/rauc/src/service.c:418,1
    - Dst: g_free
      Src: /src/rauc/src/service.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 374
    functionDepth: 9
    functionLinenumber: 374
    functionLinenumberEnd: 422
    functionName: create_slotstatus_array
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - determine_boot_states
    - convert_slot_status_to_dict
    - G_VARIANT_TYPE
    - g_propagate_prefixed_error
    - g_variant_new_string
    - g_hash_table_iter_init
    - r_context
    - g_hash_table_size
    - g_message
    - g_variant_new_tuple
    - update_external_mount_points
    - g_assert_nonnull
    - g_new
    - g_variant_new_array
    - g_hash_table_iter_next
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: GVariant
    signature: GVariant * create_slotstatus_array(GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:431,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:434,1
    - Dst: r_config_file_modified_check
      Src: /src/rauc/src/service.c:441,1
    - Dst: create_slotstatus_array
      Src: /src/rauc/src/service.c:443,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/rauc/src/service.c:445,1
    - Dst: r_installer_complete_get_slot_status
      Src: /src/rauc/src/service.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - interface
    - invocation
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 424
    functionDepth: 10
    functionLinenumber: 424
    functionLinenumberEnd: 452
    functionName: r_on_handle_get_slot_status
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_installer_complete_get_slot_status
    - create_slotstatus_array
    - g_dbus_method_invocation_return_error
    - r_config_file_modified_check
    - g_dbus_method_invocation_return_gerror
    - r_context_get_busy
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_get_slot_status(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:461,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:464,1
    - Dst: r_artifacts_to_dict
      Src: /src/rauc/src/service.c:471,1
    - Dst: g_dbus_method_invocation_return_gerror
      Src: /src/rauc/src/service.c:473,1
    - Dst: r_installer_complete_get_artifact_status
      Src: /src/rauc/src/service.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - interface
    - invocation
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: r_on_handle_get_artifact_status
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_artifacts_to_dict
    - g_dbus_method_invocation_return_error
    - r_installer_complete_get_artifact_status
    - g_dbus_method_invocation_return_gerror
    - r_context_get_busy
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_get_artifact_status(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:488,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:489,1
    - Dst: r_boot_get_primary
      Src: /src/rauc/src/service.c:496,1
    - Dst: g_dbus_method_invocation_return_error
      Src: /src/rauc/src/service.c:498,1
    - Dst: g_printerr
      Src: /src/rauc/src/service.c:502,1
    - Dst: g_clear_error
      Src: /src/rauc/src/service.c:503,1
    - Dst: r_installer_complete_get_primary
      Src: /src/rauc/src/service.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - interface
    - invocation
    argTypes:
    - RInstaller*
    - GDBusMethodInvocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 510
    functionName: r_on_handle_get_primary
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - r_boot_get_primary
    - g_dbus_method_invocation_return_error
    - g_printerr
    - r_context_get_busy
    - r_installer_complete_get_primary
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_on_handle_get_primary(RInstaller *interface,\n\t\tGDBusMethodInvocation
      \ *invocation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: install_args_new
      Src: /src/rauc/src/service.c:514,1
    - Dst: g_file_test
      Src: /src/rauc/src/service.c:517,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:517,1
    - Dst: g_message
      Src: /src/rauc/src/service.c:520,1
    - Dst: r_context_get_busy
      Src: /src/rauc/src/service.c:522,1
    - Dst: g_strdup
      Src: /src/rauc/src/service.c:526,1
    - Dst: install_run
      Src: /src/rauc/src/service.c:530,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/service.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - source
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 512
    functionDepth: 7
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: auto_install
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - install_run
    - g_file_test
    - r_context
    - g_strdup
    - g_clear_pointer
    - g_message
    - r_context_get_busy
    - install_args_new
    linkageType: ''
    returnType: gboolean
    signature: gboolean auto_install(const gchar *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_installer_set_last_error
      Src: /src/rauc/src/service.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: set_last_error
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 1
    functionsReached:
    - r_installer_set_last_error
    linkageType: ''
    returnType: void
    signature: void set_last_error(const gchar *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:552,1
    - Dst: r_installer_get_operation
      Src: /src/rauc/src/service.c:552,1
    - Dst: g_variant_new
      Src: /src/rauc/src/service.c:555,1
    - Dst: r_installer_set_progress
      Src: /src/rauc/src/service.c:557,1
    - Dst: g_dbus_interface_skeleton_flush
      Src: /src/rauc/src/service.c:558,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/service.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - percentage
    - message
    - nesting_depth
    argTypes:
    - gint
    - gchar*
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: send_progress_callback
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_dbus_interface_skeleton_flush
    - G_DBUS_INTERFACE_SKELETON
    - r_installer_get_operation
    - g_strcmp0
    - g_variant_new
    - r_installer_set_progress
    linkageType: ''
    returnType: void
    signature: "void send_progress_callback(gint percentage,\n\t\tconst gchar *message,\n\t\tgint
      nesting_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:567,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:568,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:571,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:572,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:575,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:576,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:579,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:580,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:583,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:584,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:587,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:588,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:591,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:592,1
    - Dst: g_signal_connect
      Src: /src/rauc/src/service.c:595,1
    - Dst: G_CALLBACK
      Src: /src/rauc/src/service.c:596,1
    - Dst: r_context_register_progress_callback
      Src: /src/rauc/src/service.c:599,1
    - Dst: r_installer_set_operation
      Src: /src/rauc/src/service.c:602,1
    - Dst: g_dbus_interface_skeleton_export
      Src: /src/rauc/src/service.c:604,1
    - Dst: G_DBUS_INTERFACE_SKELETON
      Src: /src/rauc/src/service.c:604,1
    - Dst: g_error
      Src: /src/rauc/src/service.c:608,1
    - Dst: g_error_free
      Src: /src/rauc/src/service.c:609,1
    - Dst: r_installer_set_compatible
      Src: /src/rauc/src/service.c:612,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:612,1
    - Dst: r_installer_set_variant
      Src: /src/rauc/src/service.c:613,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:613,1
    - Dst: r_installer_set_system_version
      Src: /src/rauc/src/service.c:614,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:614,1
    - Dst: r_installer_set_boot_slot
      Src: /src/rauc/src/service.c:615,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:615,1
    - Dst: r_polling_on_bus_acquired
      Src: /src/rauc/src/service.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 561
    functionDepth: 8
    functionLinenumber: 561
    functionLinenumberEnd: 618
    functionName: r_on_bus_acquired
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - r_polling_on_bus_acquired
    - r_installer_set_operation
    - r_context_register_progress_callback
    - G_CALLBACK
    - g_error_free
    - r_installer_set_variant
    - G_DBUS_INTERFACE_SKELETON
    - r_context
    - g_signal_connect
    - g_dbus_interface_skeleton_export
    - r_installer_set_system_version
    - r_installer_set_boot_slot
    - g_error
    - r_installer_set_compatible
    linkageType: ''
    returnType: void
    signature: "void r_on_bus_acquired(GDBusConnection *connection,\n\t\tconst gchar
      \    *name,\n\t\tgpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/rauc/src/service.c:624,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:626,1
    - Dst: auto_install
      Src: /src/rauc/src/service.c:627,1
    - Dst: r_context
      Src: /src/rauc/src/service.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 8
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: r_on_name_acquired
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_debug
    - r_context
    - auto_install
    linkageType: ''
    returnType: void
    signature: "void r_on_name_acquired(GDBusConnection *connection,\n\t\tconst gchar
      \    *name,\n\t\tgpointer user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:635,1
    - Dst: g_getenv
      Src: /src/rauc/src/service.c:635,1
    - Dst: g_printerr
      Src: /src/rauc/src/service.c:640,1
    - Dst: g_printerr
      Src: /src/rauc/src/service.c:642,1
    - Dst: g_printerr
      Src: /src/rauc/src/service.c:644,1
    - Dst: g_main_loop_quit
      Src: /src/rauc/src/service.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - connection
    - name
    - user_data
    argTypes:
    - GDBusConnection*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 653
    functionName: r_on_name_lost
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_printerr
    - g_main_loop_quit
    - g_getenv
    - g_strcmp0
    linkageType: ''
    returnType: void
    signature: "void r_on_name_lost(GDBusConnection *connection,\n\t\tconst gchar
      \    *name,\n\t\tgpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_message
      Src: /src/rauc/src/service.c:657,1
    - Dst: g_main_loop_quit
      Src: /src/rauc/src/service.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: r_on_signal
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 0
    functionsReached:
    - g_message
    - g_main_loop_quit
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_on_signal(gpointer user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/service.c:668,1
    - Dst: g_getenv
      Src: /src/rauc/src/service.c:668,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/service.c:671,1
    - Dst: g_main_loop_new
      Src: /src/rauc/src/service.c:673,1
    - Dst: g_unix_signal_add
      Src: /src/rauc/src/service.c:674,1
    - Dst: r_installer_skeleton_new
      Src: /src/rauc/src/service.c:676,1
    - Dst: r_polling_setup
      Src: /src/rauc/src/service.c:678,1
    - Dst: g_error_matches
      Src: /src/rauc/src/service.c:680,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/service.c:681,1
    - Dst: g_clear_error
      Src: /src/rauc/src/service.c:685,1
    - Dst: g_bus_own_name
      Src: /src/rauc/src/service.c:689,1
    - Dst: g_main_loop_run
      Src: /src/rauc/src/service.c:697,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/service.c:700,1
    - Dst: g_bus_unown_name
      Src: /src/rauc/src/service.c:708,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/service.c:710,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/service.c:712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 664
    functionDepth: 9
    functionLinenumber: 664
    functionLinenumberEnd: 715
    functionName: r_service_run
    functionSourceFile: /src/rauc/src/service.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - g_main_loop_run
    - g_propagate_prefixed_error
    - g_set_error_literal
    - g_unix_signal_add
    - g_error_matches
    - g_strcmp0
    - r_installer_skeleton_new
    - r_polling_setup
    - g_bus_unown_name
    - g_bus_own_name
    - g_clear_pointer
    - g_main_loop_new
    - g_getenv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_service_run(GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/hash_index.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: r_hash_index_error_quark
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_hash_index_error_quark(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/rauc/src/hash_index.c:33,1
    - Dst: EVP_DigestInit
      Src: /src/rauc/src/hash_index.c:34,1
    - Dst: EVP_sha256
      Src: /src/rauc/src/hash_index.c:34,1
    - Dst: g_error
      Src: /src/rauc/src/hash_index.c:35,1
    - Dst: EVP_DigestUpdate
      Src: /src/rauc/src/hash_index.c:38,1
    - Dst: g_error
      Src: /src/rauc/src/hash_index.c:39,1
    - Dst: EVP_DigestFinal
      Src: /src/rauc/src/hash_index.c:42,1
    - Dst: g_error
      Src: /src/rauc/src/hash_index.c:43,1
    - Dst: g_assert
      Src: /src/rauc/src/hash_index.c:46,1
    - Dst: memcpy
      Src: /src/rauc/src/hash_index.c:48,1
    - Dst: EVP_MD_CTX_free
      Src: /src/rauc/src/hash_index.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - RaucHashIndexChunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: hash_chunk
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_DigestUpdate
    - memcpy
    - EVP_MD_CTX_free
    - EVP_DigestInit
    - g_assert
    - g_error
    - EVP_MD_CTX_new
    - EVP_DigestFinal
    linkageType: ''
    returnType: void
    signature: void hash_chunk(RaucHashIndexChunk *chunk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:59,1
    - Dst: g_byte_array_new
      Src: /src/rauc/src/hash_index.c:59,1
    - Dst: g_new0
      Src: /src/rauc/src/hash_index.c:60,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:62,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:63,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:64,1
    - Dst: g_byte_array_set_size
      Src: /src/rauc/src/hash_index.c:66,1
    - Dst: lseek
      Src: /src/rauc/src/hash_index.c:68,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:70,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/hash_index.c:72,1
    - Dst: g_strerror
      Src: /src/rauc/src/hash_index.c:73,1
    - Dst: r_read_exact
      Src: /src/rauc/src/hash_index.c:78,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:80,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:82,1
    - Dst: hash_chunk
      Src: /src/rauc/src/hash_index.c:89,1
    - Dst: memcpy
      Src: /src/rauc/src/hash_index.c:90,1
    - Dst: r_context
      Src: /src/rauc/src/hash_index.c:94,1
    - Dst: r_context_inc_step_percentage
      Src: /src/rauc/src/hash_index.c:96,1
    - Dst: g_byte_array_free_to_bytes
      Src: /src/rauc/src/hash_index.c:99,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/hash_index.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - data_fd
    - count
    - error
    argTypes:
    - int
    - guint32
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 56
    functionDepth: 7
    functionLinenumber: 56
    functionLinenumberEnd: 100
    functionName: hash_file
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - g_byte_array_new
    - g_strerror
    - r_read_exact
    - memcpy
    - r_context_inc_step_percentage
    - g_byte_array_free_to_bytes
    - g_propagate_error
    - r_context
    - hash_chunk
    - g_steal_pointer
    - g_file_error_from_errno
    - g_new0
    - g_autoptr
    - g_set_error
    - lseek
    - g_byte_array_set_size
    - g_return_val_if_fail
    linkageType: ''
    returnType: GBytes
    signature: GBytes *hash_file(int data_fd, guint32 count, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - guint32
    - guint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: intcmp
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: gint intcmp(guint32 a, guint32 b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rauc/src/hash_index.c:128,1
    - Dst: intcmp
      Src: /src/rauc/src/hash_index.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - hashes
    argTypes:
    - gconstpointer
    - gconstpointer
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: lookup_compare_sort
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - memcmp
    - intcmp
    linkageType: ''
    returnType: gint
    signature: gint lookup_compare_sort(gconstpointer a, gconstpointer b, gpointer
      hashes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:147,1
    - Dst: g_bytes_get_size
      Src: /src/rauc/src/hash_index.c:149,1
    - Dst: g_assert
      Src: /src/rauc/src/hash_index.c:150,1
    - Dst: g_new
      Src: /src/rauc/src/hash_index.c:151,1
    - Dst: qsort_r
      Src: /src/rauc/src/hash_index.c:157,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/hash_index.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hashes
    argTypes:
    - GBytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: build_lookup
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - g_assert
    - g_new
    - qsort_r
    - g_bytes_get_size
    - g_bytes_get_data
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint32
    signature: guint32 *build_lookup(GBytes *hashes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:176,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:177,1
    - Dst: lseek
      Src: /src/rauc/src/hash_index.c:182,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:185,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/hash_index.c:187,1
    - Dst: g_strerror
      Src: /src/rauc/src/hash_index.c:188,1
    - Dst: lseek
      Src: /src/rauc/src/hash_index.c:191,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:193,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/hash_index.c:195,1
    - Dst: g_strerror
      Src: /src/rauc/src/hash_index.c:196,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:202,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:208,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data_fd
    - error
    argTypes:
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 224
    functionName: get_chunk_count
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_file_error_from_errno
    - g_set_error
    - lseek
    - g_return_val_if_fail
    linkageType: ''
    returnType: guint32
    signature: guint32 get_chunk_count(int data_fd, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build_lookup
      Src: /src/rauc/src/hash_index.c:232,1
    - Dst: r_stats_new
      Src: /src/rauc/src/hash_index.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - RaucHashIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: hash_index_prepare
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - r_stats_new
    - build_lookup
    linkageType: ''
    returnType: void
    signature: void hash_index_prepare(RaucHashIndex *idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:244,1
    - Dst: g_new0
      Src: /src/rauc/src/hash_index.c:244,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:246,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:247,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:248,1
    - Dst: g_strdup
      Src: /src/rauc/src/hash_index.c:250,1
    - Dst: dup
      Src: /src/rauc/src/hash_index.c:251,1
    - Dst: get_chunk_count
      Src: /src/rauc/src/hash_index.c:253,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:255,1
    - Dst: g_file_test
      Src: /src/rauc/src/hash_index.c:260,1
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:261,1
    - Dst: g_mapped_file_new
      Src: /src/rauc/src/hash_index.c:261,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:265,1
    - Dst: g_mapped_file_get_length
      Src: /src/rauc/src/hash_index.c:269,1
    - Dst: g_assert
      Src: /src/rauc/src/hash_index.c:270,1
    - Dst: g_info
      Src: /src/rauc/src/hash_index.c:272,1
    - Dst: g_info
      Src: /src/rauc/src/hash_index.c:275,1
    - Dst: g_mapped_file_get_bytes
      Src: /src/rauc/src/hash_index.c:283,1
    - Dst: g_message
      Src: /src/rauc/src/hash_index.c:287,1
    - Dst: hash_file
      Src: /src/rauc/src/hash_index.c:288,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:290,1
    - Dst: hash_index_prepare
      Src: /src/rauc/src/hash_index.c:295,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/hash_index.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - label
    - data_fd
    - hashes_filename
    - error
    argTypes:
    - gchar*
    - int
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 241
    functionDepth: 8
    functionLinenumber: 241
    functionLinenumberEnd: 298
    functionName: r_hash_index_open
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 4
    functionsReached:
    - g_mapped_file_new
    - g_file_test
    - hash_index_prepare
    - g_info
    - g_propagate_error
    - g_strdup
    - g_mapped_file_get_length
    - g_assert
    - hash_file
    - get_chunk_count
    - g_message
    - g_steal_pointer
    - g_new0
    - g_autoptr
    - g_mapped_file_get_bytes
    - dup
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucHashIndex
    signature: RaucHashIndex *r_hash_index_open(const gchar *label, int data_fd, const
      gchar *hashes_filename, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:303,1
    - Dst: g_new0
      Src: /src/rauc/src/hash_index.c:303,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:305,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:306,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:307,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:308,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/hash_index.c:310,1
    - Dst: get_chunk_count
      Src: /src/rauc/src/hash_index.c:313,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:315,1
    - Dst: g_bytes_new_from_bytes
      Src: /src/rauc/src/hash_index.c:323,1
    - Dst: hash_index_prepare
      Src: /src/rauc/src/hash_index.c:325,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/hash_index.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - label
    - idx
    - new_data_fd
    - error
    argTypes:
    - gchar*
    - RaucHashIndex*
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: r_hash_index_reuse
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 1
    functionsReached:
    - g_bytes_new_from_bytes
    - hash_index_prepare
    - g_propagate_error
    - get_chunk_count
    - g_new0
    - g_strdup_printf
    - g_autoptr
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucHashIndex
    signature: RaucHashIndex *r_hash_index_reuse(const gchar *label, const RaucHashIndex
      *idx, int new_data_fd, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:333,1
    - Dst: g_auto
      Src: /src/rauc/src/hash_index.c:336,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:338,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:339,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:340,1
    - Dst: g_open
      Src: /src/rauc/src/hash_index.c:342,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:345,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/hash_index.c:347,1
    - Dst: g_strerror
      Src: /src/rauc/src/hash_index.c:348,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/src/hash_index.c:352,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:354,1
    - Dst: g_build_filename
      Src: /src/rauc/src/hash_index.c:358,1
    - Dst: r_hash_index_open
      Src: /src/rauc/src/hash_index.c:361,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:363,1
    - Dst: g_debug
      Src: /src/rauc/src/hash_index.c:367,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/hash_index.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - label
    - slot
    - flags
    - error
    argTypes:
    - gchar*
    - RaucSlot*
    - int
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 370
    functionName: r_hash_index_open_slot
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - r_hash_index_open
    - g_auto
    - g_propagate_error
    - g_debug
    - g_open
    - g_steal_pointer
    - g_file_error_from_errno
    - r_slot_get_checksum_data_directory
    - g_autoptr
    - g_set_error
    - g_build_filename
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucHashIndex
    signature: RaucHashIndex *r_hash_index_open_slot(const gchar *label, const RaucSlot
      *slot, int flags, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/hash_index.c:375,1
    - Dst: g_auto
      Src: /src/rauc/src/hash_index.c:377,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:379,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:380,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:381,1
    - Dst: g_open
      Src: /src/rauc/src/hash_index.c:383,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:386,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/hash_index.c:388,1
    - Dst: g_strerror
      Src: /src/rauc/src/hash_index.c:389,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/hash_index.c:393,1
    - Dst: r_hash_index_open
      Src: /src/rauc/src/hash_index.c:395,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:397,1
    - Dst: g_debug
      Src: /src/rauc/src/hash_index.c:401,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/hash_index.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - label
    - image
    - error
    argTypes:
    - gchar*
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 372
    functionDepth: 9
    functionLinenumber: 372
    functionLinenumberEnd: 404
    functionName: r_hash_index_open_image
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - r_hash_index_open
    - g_auto
    - g_debug
    - g_open
    - g_file_error_from_errno
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucHashIndex
    signature: RaucHashIndex *r_hash_index_open_image(const gchar *label, const RaucImage
      *image, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:408,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:409,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:410,1
    - Dst: write_file
      Src: /src/rauc/src/hash_index.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - hashes_filename
    - error
    argTypes:
    - RaucHashIndex*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: r_hash_index_export
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 2
    functionsReached:
    - write_file
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_hash_index_export(const RaucHashIndex *idx, const gchar
      *hashes_filename, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:421,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:422,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:423,1
    - Dst: r_slot_get_checksum_data_directory
      Src: /src/rauc/src/hash_index.c:425,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:427,1
    - Dst: g_build_filename
      Src: /src/rauc/src/hash_index.c:431,1
    - Dst: write_file
      Src: /src/rauc/src/hash_index.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - slot
    - checksum
    - error
    argTypes:
    - RaucHashIndex*
    - RaucSlot*
    - RaucChecksum*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: r_hash_index_export_slot
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 1
    functionsReached:
    - r_slot_get_checksum_data_directory
    - g_propagate_error
    - g_build_filename
    - write_file
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_hash_index_export_slot(const RaucHashIndex *idx, const RaucSlot
      *slot, const RaucChecksum *checksum, GError **error)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:445,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:446,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:447,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:448,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:449,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/hash_index.c:450,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/hash_index.c:452,1
    - Dst: memcmp
      Src: /src/rauc/src/hash_index.c:461,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:474,1
    - Dst: memcmp
      Src: /src/rauc/src/hash_index.c:488,1
    - Dst: memcmp
      Src: /src/rauc/src/hash_index.c:500,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:522,1
    - Dst: r_pread_exact
      Src: /src/rauc/src/hash_index.c:532,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/hash_index.c:534,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:536,1
    - Dst: hash_chunk
      Src: /src/rauc/src/hash_index.c:546,1
    - Dst: memcmp
      Src: /src/rauc/src/hash_index.c:547,1
    - Dst: g_set_error
      Src: /src/rauc/src/hash_index.c:548,1
    - Dst: r_stats_add
      Src: /src/rauc/src/hash_index.c:560,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 4
    argNames:
    - idx
    - hash
    - chunk
    - error
    argTypes:
    - RaucHashIndex*
    - guint8*
    - RaucHashIndexChunk*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 563
    functionName: r_hash_index_get_chunk
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 3
    functionsReached:
    - r_stats_add
    - hash_chunk
    - r_pread_exact
    - g_propagate_error
    - g_set_error
    - g_bytes_get_data
    - memcmp
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_hash_index_get_chunk(const RaucHashIndex *idx, const guint8
      *hash, RaucHashIndexChunk *chunk, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/hash_index.c:570,1
    - Dst: g_close
      Src: /src/rauc/src/hash_index.c:572,1
    - Dst: g_bytes_unref
      Src: /src/rauc/src/hash_index.c:574,1
    - Dst: g_free
      Src: /src/rauc/src/hash_index.c:575,1
    - Dst: r_stats_free
      Src: /src/rauc/src/hash_index.c:577,1
    - Dst: g_free
      Src: /src/rauc/src/hash_index.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - RaucHashIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 580
    functionName: r_hash_index_free
    functionSourceFile: /src/rauc/src/hash_index.c
    functionUses: 0
    functionsReached:
    - g_close
    - r_stats_free
    - g_bytes_unref
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_hash_index_free(RaucHashIndex *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/install.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: r_install_error_quark
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_install_error_quark(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __format__
      Src: /src/rauc/src/install.c:41,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/install.c:47,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/install.c:48,1
    - Dst: va_start
      Src: /src/rauc/src/install.c:55,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/src/install.c:56,1
    - Dst: va_end
      Src: /src/rauc/src/install.c:57,1
    - Dst: g_mutex_lock
      Src: /src/rauc/src/install.c:59,1
    - Dst: g_queue_push_tail
      Src: /src/rauc/src/install.c:60,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/install.c:61,1
    - Dst: g_main_context_invoke
      Src: /src/rauc/src/install.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - args
    - msg
    argTypes:
    - RaucInstallArgs*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: install_args_update
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_mutex_lock
    - __format__
    - g_strdup_vprintf
    - g_queue_push_tail
    - va_end
    - g_mutex_unlock
    - g_main_context_invoke
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void install_args_update(RaucInstallArgs *args, const gchar *msg, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:69,1
    - Dst: g_regex_new
      Src: /src/rauc/src/install.c:69,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:70,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:72,1
    - Dst: g_regex_match
      Src: /src/rauc/src/install.c:73,1
    - Dst: g_match_info_matches
      Src: /src/rauc/src/install.c:74,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:75,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/install.c:77,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:78,1
    - Dst: read_file_str
      Src: /src/rauc/src/install.c:80,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:82,1
    - Dst: g_strchomp
      Src: /src/rauc/src/install.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - devicepath
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: resolve_loop_device
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - read_file_str
    - g_strchomp
    - g_propagate_prefixed_error
    - g_strdup
    - g_regex_new
    - g_regex_match
    - g_assert_nonnull
    - g_build_filename
    - g_match_info_fetch
    - g_match_info_matches
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *resolve_loop_device(const gchar *devicepath, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:100,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:100,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:102,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:103,1
    - Dst: g_autolist
      Src: /src/rauc/src/install.c:107,1
    - Dst: g_unix_mounts_get
      Src: /src/rauc/src/install.c:107,1
    - Dst: resolve_loop_device
      Src: /src/rauc/src/install.c:110,1
    - Dst: g_unix_mount_get_device_path
      Src: /src/rauc/src/install.c:110,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:112,1
    - Dst: find_config_slot_by_device
      Src: /src/rauc/src/install.c:116,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:116,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:124,1
    - Dst: g_unix_mount_get_mount_path
      Src: /src/rauc/src/install.c:124,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 7
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: update_external_mount_points
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 2
    functionsReached:
    - resolve_loop_device
    - g_hash_table_iter_init
    - g_unix_mounts_get
    - r_context
    - g_autolist
    - g_unix_mount_get_device_path
    - g_strdup
    - g_debug
    - g_clear_pointer
    - find_config_slot_by_device
    - g_propagate_error
    - g_unix_mount_get_mount_path
    - g_hash_table_iter_next
    linkageType: ''
    returnType: gboolean
    signature: gboolean update_external_mount_points(GError **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:150,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:150,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:152,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/install.c:153,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:161,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/install.c:162,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:170,1
    - Dst: g_hash_table_get_keys
      Src: /src/rauc/src/install.c:170,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:170,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/install.c:174,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:174,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:175,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:177,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:177,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:182,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:182,1
    - Dst: r_realpath
      Src: /src/rauc/src/install.c:187,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:189,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:190,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:193,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:193,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:200,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:200,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:202,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/install.c:204,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:204,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:205,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:210,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:215,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:219,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/install.c:225,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:225,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:226,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:230,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 148
    functionDepth: 7
    functionLinenumber: 148
    functionLinenumberEnd: 241
    functionName: determine_slot_states
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 21
    functionsReached:
    - g_set_error_literal
    - r_context
    - g_strdup
    - g_strcmp0
    - g_debug
    - g_message
    - g_assert_nonnull
    - g_hash_table_get_keys
    - g_hash_table_lookup
    - g_set_error
    - r_realpath
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean determine_slot_states(GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:246,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:246,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:249,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:250,1
    - Dst: r_boot_get_state
      Src: /src/rauc/src/install.c:256,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:257,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/install.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 273
    functionName: determine_boot_states
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 2
    functionsReached:
    - g_set_error_literal
    - g_hash_table_iter_init
    - r_context
    - g_message
    - r_boot_get_state
    - g_hash_table_iter_next
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean determine_boot_states(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:280,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/install.c:282,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:286,1
    - Dst: g_intern_string
      Src: /src/rauc/src/install.c:291,1
    - Dst: g_ptr_array_remove_fast
      Src: /src/rauc/src/install.c:292,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:293,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:295,1
    - Dst: g_ptr_array_free
      Src: /src/rauc/src/install.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: get_all_manifest_slot_classes
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_ptr_array_new
    - g_ptr_array_add
    - g_ptr_array_free
    - g_ptr_array_remove_fast
    - g_intern_string
    - g_assert_nonnull
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar ** get_all_manifest_slot_classes(const RaucManifest *manifest)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:313,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:315,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:315,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:316,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:318,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:322,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:322,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:325,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:329,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:334,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:334,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:335,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:340,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:343,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:344,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:350,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:356,1
    - Dst: g_date_time_compare
      Src: /src/rauc/src/install.c:362,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/install.c:364,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/install.c:365,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:366,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:372,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:374,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - rootclass
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 311
    functionDepth: 7
    functionLinenumber: 311
    functionLinenumberEnd: 377
    functionName: select_inactive_slot_class_member
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_date_time_format
    - r_context
    - g_strcmp0
    - g_debug
    - g_date_time_compare
    - g_assert_nonnull
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *select_inactive_slot_class_member(const gchar *rootclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:398,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/install.c:400,1
    - Dst: r_slot_get_root_classes
      Src: /src/rauc/src/install.c:403,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:403,1
    - Dst: select_inactive_slot_class_member
      Src: /src/rauc/src/install.c:408,1
    - Dst: g_list_append
      Src: /src/rauc/src/install.c:413,1
    - Dst: g_hash_table_new
      Src: /src/rauc/src/install.c:416,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:420,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:420,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:421,1
    - Dst: r_slot_get_parent_root
      Src: /src/rauc/src/install.c:422,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:423,1
    - Dst: r_slot_list_contains
      Src: /src/rauc/src/install.c:425,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:426,1
    - Dst: g_hash_table_insert
      Src: /src/rauc/src/install.c:427,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:429,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 392
    functionDepth: 8
    functionLinenumber: 392
    functionLinenumberEnd: 436
    functionName: determine_target_install_group
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 11
    functionsReached:
    - r_context_begin_step
    - g_hash_table_insert
    - g_hash_table_iter_init
    - g_list_append
    - r_context
    - r_slot_get_parent_root
    - select_inactive_slot_class_member
    - r_slot_get_root_classes
    - g_hash_table_new
    - g_debug
    - r_slot_list_contains
    - g_hash_table_iter_next
    - r_context_end_step
    - g_autoptr
    linkageType: ''
    returnType: GHashTable
    signature: GHashTable * determine_target_install_group(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/install.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: r_image_install_plan_free
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_image_install_plan_free(gpointer value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:454,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:455,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:456,1
    - Dst: get_all_manifest_slot_classes
      Src: /src/rauc/src/install.c:459,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:460,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/install.c:460,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:463,1
    - Dst: g_new0
      Src: /src/rauc/src/install.c:463,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:469,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:479,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:479,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:480,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:489,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:496,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/install.c:500,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:502,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:509,1
    - Dst: get_update_handler
      Src: /src/rauc/src/install.c:517,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:519,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:523,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/install.c:523,1
    - Dst: r_artifacts_init
      Src: /src/rauc/src/install.c:527,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:528,1
    - Dst: r_artifacts_prune
      Src: /src/rauc/src/install.c:532,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:533,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:543,1
    - Dst: g_new0
      Src: /src/rauc/src/install.c:543,1
    - Dst: g_hash_table_lookup
      Src: /src/rauc/src/install.c:545,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:545,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:547,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:554,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/install.c:554,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/install.c:558,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/install.c:565,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - manifest
    - target_group
    - error
    argTypes:
    - RaucManifest*
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 450
    functionDepth: 7
    functionLinenumber: 450
    functionLinenumberEnd: 566
    functionName: r_install_make_plans
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 6
    functionsReached:
    - g_set_error
    - r_artifacts_init
    - get_update_handler
    - g_set_error_literal
    - g_ptr_array_add
    - g_propagate_error
    - r_context
    - r_artifacts_prune
    - g_strcmp0
    - g_debug
    - g_return_val_if_fail
    - g_ptr_array_new_with_free_func
    - g_hash_table_lookup
    - g_new0
    - get_all_manifest_slot_classes
    - g_steal_pointer
    - g_autoptr
    linkageType: ''
    returnType: GPtrArray
    signature: GPtrArray * r_install_make_plans(const RaucManifest *manifest, GHashTable
      *target_group, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:570,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/install.c:572,1
    - Dst: g_print
      Src: /src/rauc/src/install.c:573,1
    - Dst: g_auto
      Src: /src/rauc/src/install.c:577,1
    - Dst: g_strsplit
      Src: /src/rauc/src/install.c:577,1
    - Dst: g_strv_length
      Src: /src/rauc/src/install.c:578,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:584,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:585,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:586,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:587,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:588,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:589,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:590,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/install.c:591,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:592,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:593,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/install.c:594,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:595,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - line
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 601
    functionName: parse_handler_output
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_str_has_prefix
    - g_auto
    - g_strcmp0
    - g_print
    - g_assert_nonnull
    - g_strsplit
    - g_strdup_printf
    - g_strjoinv
    - g_strv_length
    linkageType: ''
    returnType: gchar
    signature: gchar * parse_handler_output(gchar* line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:607,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:607,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:611,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - args
    - manifest
    - error
    argTypes:
    - RaucInstallArgs*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 7
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: verify_compatible
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - r_context
    - g_strcmp0
    linkageType: ''
    returnType: gboolean
    signature: gboolean verify_compatible(RaucInstallArgs *args, RaucManifest *manifest,
      GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:623,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:624,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:625,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:627,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:628,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:633,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:638,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:640,1
    - Dst: r_semver_less_equal
      Src: /src/rauc/src/install.c:644,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:645,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:649,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:652,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - args
    - manifest
    - error
    argTypes:
    - RaucInstallArgs*
    - RaucManifest*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 619
    functionDepth: 7
    functionLinenumber: 619
    functionLinenumberEnd: 660
    functionName: check_version_limits
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - r_context
    - g_debug
    - r_semver_less_equal
    - g_message
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_version_limits(RaucInstallArgs *args, RaucManifest *manifest,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:668,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:670,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:670,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:671,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:671,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:672,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:672,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:673,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:673,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:674,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:674,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:675,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:675,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:677,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:677,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:678,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:678,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:681,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 686
    functionName: add_system_environment
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_environ_setenv
    - g_hash_table_iter_init
    - r_context
    - g_assert_nonnull
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar **add_system_environment(gchar **envp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:706,1
    - Dst: g_string_sized_new
      Src: /src/rauc/src/install.c:706,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:707,1
    - Dst: g_string_sized_new
      Src: /src/rauc/src/install.c:707,1
    - Dst: g_get_environ
      Src: /src/rauc/src/install.c:710,1
    - Dst: add_system_environment
      Src: /src/rauc/src/install.c:712,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:713,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:715,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:716,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:718,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:718,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:719,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/install.c:727,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/install.c:728,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:730,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:731,1
    - Dst: g_str_equal
      Src: /src/rauc/src/install.c:739,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:740,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:741,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:742,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:744,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:745,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:746,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:748,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:749,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:750,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/install.c:757,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/install.c:758,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:761,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:762,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:763,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:765,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:766,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:767,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:769,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:770,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:771,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:773,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:774,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:775,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:777,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:778,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:779,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:781,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:782,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:783,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:786,1
    - Dst: g_environ_setenv
      Src: /src/rauc/src/install.c:787,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:789,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/install.c:789,1
    - Dst: r_shell_from_manifest_meta
      Src: /src/rauc/src/install.c:790,1
    - Dst: r_environ_setenv_ptr_array
      Src: /src/rauc/src/install.c:791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 701
    functionDepth: 8
    functionLinenumber: 701
    functionLinenumberEnd: 794
    functionName: prepare_environment
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - g_environ_setenv
    - g_strdup_printf
    - g_hash_table_iter_init
    - r_context
    - g_str_equal
    - add_system_environment
    - g_clear_pointer
    - g_string_append_printf
    - g_ptr_array_new_with_free_func
    - g_string_sized_new
    - g_hash_table_iter_next
    - r_environ_setenv_ptr_array
    - r_shell_from_manifest_meta
    - g_get_environ
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar **prepare_environment(gchar *update_source, RaucManifest *manifest,
      gchar *transaction, GHashTable *target_group)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:813,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:814,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:817,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:819,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:822,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:823,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:824,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/install.c:826,1
    - Dst: g_subprocess_launcher_set_environ
      Src: /src/rauc/src/install.c:829,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/install.c:831,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:832,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/install.c:834,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:836,1
    - Dst: r_subprocess_launcher_spawnv
      Src: /src/rauc/src/install.c:838,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:841,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/rauc/src/install.c:845,1
    - Dst: g_data_input_stream_new
      Src: /src/rauc/src/install.c:846,1
    - Dst: g_data_input_stream_read_line
      Src: /src/rauc/src/install.c:850,1
    - Dst: parse_handler_output
      Src: /src/rauc/src/install.c:854,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:856,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:858,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/install.c:861,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - args
    - handler_name
    - handler_argv
    - override_env
    - error
    argTypes:
    - RaucInstallArgs*
    - gchar*
    - gchar**
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 871
    functionName: launch_and_wait_handler
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_data_input_stream_new
    - r_ptr_array_addv
    - g_ptr_array_new
    - install_args_update
    - g_subprocess_wait_check
    - g_subprocess_launcher_new
    - g_subprocess_get_stdout_pipe
    - g_ptr_array_add
    - parse_handler_output
    - g_data_input_stream_read_line
    - g_propagate_error
    - g_autoptr
    - g_subprocess_launcher_set_environ
    - g_free
    - r_subprocess_launcher_spawnv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean launch_and_wait_handler(RaucInstallArgs *args, gchar *handler_name,
      gchar **handler_argv, gchar **override_env, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:876,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:877,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:880,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:885,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:887,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:889,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/install.c:891,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:893,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:893,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:894,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:894,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:895,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:895,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:897,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:898,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:899,1
    - Dst: g_subprocess_launcher_setenv
      Src: /src/rauc/src/install.c:900,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:900,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:902,1
    - Dst: g_ptr_array_new_with_free_func
      Src: /src/rauc/src/install.c:902,1
    - Dst: r_shell_from_manifest_meta
      Src: /src/rauc/src/install.c:903,1
    - Dst: r_subprocess_launcher_setenv_ptr_array
      Src: /src/rauc/src/install.c:904,1
    - Dst: g_subprocess_launcher_spawn
      Src: /src/rauc/src/install.c:906,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:912,1
    - Dst: g_subprocess_get_stderr_pipe
      Src: /src/rauc/src/install.c:920,1
    - Dst: g_data_input_stream_new
      Src: /src/rauc/src/install.c:921,1
    - Dst: g_data_input_stream_read_line
      Src: /src/rauc/src/install.c:924,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:926,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/install.c:931,1
    - Dst: g_clear_error
      Src: /src/rauc/src/install.c:936,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:937,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:940,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - manifest
    - bundledir
    - hook_cmd
    - error
    argTypes:
    - RaucManifest*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 873
    functionDepth: 7
    functionLinenumber: 873
    functionLinenumberEnd: 956
    functionName: run_bundle_hook
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_data_input_stream_new
    - r_context
    - g_clear_pointer
    - g_subprocess_launcher_setenv
    - g_build_filename
    - g_subprocess_wait_check
    - r_subprocess_launcher_setenv_ptr_array
    - g_propagate_prefixed_error
    - g_subprocess_launcher_new
    - g_ptr_array_new_with_free_func
    - g_assert_nonnull
    - g_autoptr
    - g_subprocess_get_stderr_pipe
    - g_data_input_stream_read_line
    - g_set_error
    - g_subprocess_launcher_spawn
    - r_shell_from_manifest_meta
    - g_clear_error
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean run_bundle_hook(RaucManifest *manifest, gchar* bundledir,
      const gchar *hook_cmd, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:962,1
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/src/install.c:965,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:967,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/install.c:968,1
    - Dst: g_auto
      Src: /src/rauc/src/install.c:970,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/install.c:971,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:973,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/install.c:976,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:978,1
    - Dst: g_auto
      Src: /src/rauc/src/install.c:979,1
    - Dst: g_shell_parse_argv
      Src: /src/rauc/src/install.c:980,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:980,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:982,1
    - Dst: r_ptr_array_addv
      Src: /src/rauc/src/install.c:985,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/install.c:987,1
    - Dst: launch_and_wait_handler
      Src: /src/rauc/src/install.c:989,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 6
    argNames:
    - args
    - bundledir
    - manifest
    - target_group
    - env
    - error
    argTypes:
    - RaucInstallArgs*
    - gchar*
    - RaucManifest*
    - GHashTable*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 958
    functionDepth: 7
    functionLinenumber: 958
    functionLinenumberEnd: 994
    functionName: launch_and_wait_custom_handler
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_shell_parse_argv
    - r_ptr_array_addv
    - g_auto
    - r_context_begin_step_weighted
    - g_ptr_array_add
    - r_context
    - g_ptr_array_new_full
    - launch_and_wait_handler
    - g_propagate_error
    - g_build_filename
    - r_context_end_step
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean launch_and_wait_custom_handler(RaucInstallArgs *args, gchar*
      bundledir, RaucManifest *manifest, GHashTable *target_group, gchar **env, GError
      **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1008,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - slot
    - mfimage
    - error
    argTypes:
    - RaucSlot*
    - RaucImage*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1015
    functionName: pre_install_check_slot_mount_status
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean pre_install_check_slot_mount_status(RaucSlot *slot, RaucImage
      *mfimage, GError **error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/install.c:1020,1
    - Dst: g_assert_not_reached
      Src: /src/rauc/src/install.c:1029,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/install.c:1033,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:1034,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:1035,1
    - Dst: g_file_test
      Src: /src/rauc/src/install.c:1039,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1041,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:1045,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/src/install.c:1053,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:1054,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:1055,1
    - Dst: g_file_test
      Src: /src/rauc/src/install.c:1059,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1060,1
    - Dst: g_assert
      Src: /src/rauc/src/install.c:1068,1
    - Dst: g_file_test
      Src: /src/rauc/src/install.c:1070,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1071,1
    - Dst: pre_install_check_slot_mount_status
      Src: /src/rauc/src/install.c:1076,1
    - Dst: g_assert
      Src: /src/rauc/src/install.c:1081,1
    - Dst: g_file_test
      Src: /src/rauc/src/install.c:1083,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1084,1
    - Dst: g_error
      Src: /src/rauc/src/install.c:1089,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 4
    argNames:
    - bundledir
    - install_plans
    - target_group
    - error
    argTypes:
    - gchar*
    - GPtrArray*
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1095
    functionName: pre_install_checks
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_file_test
    - g_assert_not_reached
    - g_assert
    - g_debug
    - g_error
    - g_build_filename
    - g_ptr_array_index
    - g_free
    - g_path_is_absolute
    - pre_install_check_slot_mount_status
    linkageType: ''
    returnType: gboolean
    signature: gboolean pre_install_checks(gchar* bundledir, GPtrArray *install_plans,
      GHashTable *target_group, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_slot_clear_status
      Src: /src/rauc/src/install.c:1099,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1101,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1102,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1103,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1104,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1105,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1106,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1108,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1110,1
    - Dst: g_date_time_new_now_utc
      Src: /src/rauc/src/install.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - slot_state
    - status
    - manifest
    - plan
    - args
    argTypes:
    - RaucSlotStatus*
    - gchar*
    - RaucManifest*
    - RImageInstallPlan*
    - RaucInstallArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1113
    functionName: update_slot_status
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_date_time_new_now_utc
    - r_slot_clear_status
    linkageType: ''
    returnType: void
    signature: void update_slot_status(RaucSlotStatus *slot_state, const gchar* status,
      const RaucManifest *manifest, const RImageInstallPlan *plan, const RaucInstallArgs
      *args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1120,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1122,1
    - Dst: r_slot_status_load
      Src: /src/rauc/src/install.c:1128,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1134,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1136,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:1141,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:1141,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1142,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1143,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1144,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1147,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1150,1
    - Dst: update_slot_status
      Src: /src/rauc/src/install.c:1151,1
    - Dst: r_slot_status_save
      Src: /src/rauc/src/install.c:1152,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1153,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1154,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1158,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1160,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:1167,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1167,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/install.c:1168,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1169,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/install.c:1171,1
    - Dst: r_slot_move_checksum_data_directory
      Src: /src/rauc/src/install.c:1174,1
    - Dst: g_warning
      Src: /src/rauc/src/install.c:1175,1
    - Dst: g_clear_error
      Src: /src/rauc/src/install.c:1176,1
    - Dst: r_slot_status_save
      Src: /src/rauc/src/install.c:1179,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1180,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1181,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1186,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1188,1
    - Dst: r_event_log_message
      Src: /src/rauc/src/install.c:1189,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1193,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1196,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1198,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1201,1
    - Dst: RImageInstallPlan*::slot_handler
      Src: /src/rauc/src/install.c:1203,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:1204,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1206,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1208,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1210,1
    - Dst: update_slot_status
      Src: /src/rauc/src/install.c:1211,1
    - Dst: r_slot_status_save
      Src: /src/rauc/src/install.c:1212,1
    - Dst: g_warning
      Src: /src/rauc/src/install.c:1213,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1219,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1221,1
    - Dst: update_slot_status
      Src: /src/rauc/src/install.c:1222,1
    - Dst: r_slot_status_save
      Src: /src/rauc/src/install.c:1223,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1224,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 5
    argNames:
    - manifest
    - plan
    - args
    - hook_name
    - error
    argTypes:
    - RaucManifest*
    - RImageInstallPlan*
    - RaucInstallArgs*
    - char*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1115
    functionDepth: 10
    functionLinenumber: 1115
    functionLinenumberEnd: 1230
    functionName: handle_slot_install_plan
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - install_args_update
    - r_context
    - r_context_begin_step_weighted_formatted
    - g_clear_pointer
    - r_slot_move_checksum_data_directory
    - g_steal_pointer
    - r_slot_status_load
    - g_propagate_prefixed_error
    - g_strdup
    - RImageInstallPlan*::slot_handler
    - r_event_log_message
    - r_context_end_step
    - g_autoptr
    - r_slot_status_save
    - update_slot_status
    - g_set_error
    - g_clear_error
    - g_strcmp0
    - g_message
    - g_warning
    linkageType: ''
    returnType: gboolean
    signature: gboolean handle_slot_install_plan(const RaucManifest *manifest, const
      RImageInstallPlan *plan, RaucInstallArgs *args, const char *hook_name, GError
      **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1241,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/install.c:1244,1
    - Dst: g_error
      Src: /src/rauc/src/install.c:1255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - install_plans
    argTypes:
    - GPtrArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1265
    functionName: get_boot_mark_slot
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_error
    - g_ptr_array_index
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot * get_boot_mark_slot(const GPtrArray *install_plans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_log_structured
      Src: /src/rauc/src/install.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - RaucInstallArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: log_event_installation_started
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_log_structured
    linkageType: ''
    returnType: void
    signature: void log_event_installation_started(RaucInstallArgs *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_event_log_level_to_priority
      Src: /src/rauc/src/install.c:1293,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/install.c:1302,1
    - Dst: g_error_matches
      Src: /src/rauc/src/install.c:1305,1
    - Dst: g_error_matches
      Src: /src/rauc/src/install.c:1306,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:1307,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:1310,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/install.c:1314,1
    - Dst: g_log_structured_array
      Src: /src/rauc/src/install.c:1325,1
    - Dst: G_N_ELEMENTS
      Src: /src/rauc/src/install.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - args
    - manifest
    - error
    argTypes:
    - RaucInstallArgs*
    - RaucManifest*
    - GError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1326
    functionName: log_event_installation_done
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - r_event_log_level_to_priority
    - G_N_ELEMENTS
    - g_error_matches
    - g_log_structured_array
    - g_strdup_printf
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void log_event_installation_done(RaucInstallArgs *args, RaucManifest
      *manifest, const GError *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1332,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1333,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1334,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:1339,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:1342,1
    - Dst: r_manifest_has_artifact_image
      Src: /src/rauc/src/install.c:1343,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/install.c:1349,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/install.c:1351,1
    - Dst: g_assert
      Src: /src/rauc/src/install.c:1352,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1354,1
    - Dst: g_ptr_array_set_size
      Src: /src/rauc/src/install.c:1357,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/src/install.c:1361,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - manifest
    - repo
    - error
    argTypes:
    - RaucManifest*
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1367
    functionName: remove_old_artifacts
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_hash_table_iter_init
    - g_ptr_array_set_size
    - g_assert
    - r_manifest_has_artifact_image
    - g_message
    - g_propagate_error
    - g_hash_table_iter_next
    - r_artifact_repo_commit
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean remove_old_artifacts(const RaucManifest *manifest, RArtifactRepo
      *repo, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1373,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1374,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1375,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/install.c:1376,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1378,1
    - Dst: remove_old_artifacts
      Src: /src/rauc/src/install.c:1379,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1380,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1381,1
    - Dst: r_artifact_find
      Src: /src/rauc/src/install.c:1386,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:1390,1
    - Dst: g_new0
      Src: /src/rauc/src/install.c:1390,1
    - Dst: g_intern_string
      Src: /src/rauc/src/install.c:1393,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1394,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1395,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1396,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1397,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1398,1
    - Dst: g_strdup
      Src: /src/rauc/src/install.c:1399,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/install.c:1402,1
    - Dst: r_artifact_repo_insert
      Src: /src/rauc/src/install.c:1405,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1406,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1407,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1413,1
    - Dst: r_event_log_message
      Src: /src/rauc/src/install.c:1415,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1418,1
    - Dst: r_artifact_install
      Src: /src/rauc/src/install.c:1420,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1421,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1422,1
    - Dst: r_context_begin_step_weighted_formatted
      Src: /src/rauc/src/install.c:1426,1
    - Dst: g_assert
      Src: /src/rauc/src/install.c:1430,1
    - Dst: r_artifact_activate
      Src: /src/rauc/src/install.c:1431,1
    - Dst: g_intern_static_string
      Src: /src/rauc/src/install.c:1431,1
    - Dst: r_artifact_repo_commit
      Src: /src/rauc/src/install.c:1432,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1433,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1434,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1438,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 5
    argNames:
    - manifest
    - plan
    - args
    - hook_name
    - error
    argTypes:
    - RaucManifest*
    - RImageInstallPlan*
    - RaucInstallArgs*
    - char*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1369
    functionDepth: 3
    functionLinenumber: 1369
    functionLinenumberEnd: 1442
    functionName: handle_artifact_install_plan
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - r_artifact_repo_insert
    - install_args_update
    - r_artifact_install
    - r_context_begin_step_weighted_formatted
    - g_intern_string
    - r_artifact_activate
    - g_strdup
    - remove_old_artifacts
    - r_event_log_message
    - r_artifact_repo_commit
    - r_context_end_step
    - g_autoptr
    - g_ptr_array_new
    - g_assert
    - r_artifact_find
    - g_new0
    - g_propagate_error
    - g_intern_static_string
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean handle_artifact_install_plan(const RaucManifest *manifest,
      const RImageInstallPlan *plan, RaucInstallArgs *args, const char *hook_name,
      GError **error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:1448,1
    - Dst: r_install_make_plans
      Src: /src/rauc/src/install.c:1451,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1453,1
    - Dst: get_boot_mark_slot
      Src: /src/rauc/src/install.c:1457,1
    - Dst: pre_install_checks
      Src: /src/rauc/src/install.c:1459,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1460,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1466,1
    - Dst: r_mark_bad
      Src: /src/rauc/src/install.c:1467,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1468,1
    - Dst: g_clear_error
      Src: /src/rauc/src/install.c:1470,1
    - Dst: g_build_filename
      Src: /src/rauc/src/install.c:1476,1
    - Dst: r_context_begin_step_weighted
      Src: /src/rauc/src/install.c:1478,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1479,1
    - Dst: g_ptr_array_index
      Src: /src/rauc/src/install.c:1482,1
    - Dst: handle_slot_install_plan
      Src: /src/rauc/src/install.c:1485,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1486,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1487,1
    - Dst: handle_artifact_install_plan
      Src: /src/rauc/src/install.c:1492,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1493,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1494,1
    - Dst: r_artifacts_prune
      Src: /src/rauc/src/install.c:1502,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1503,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1507,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1508,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1511,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1513,1
    - Dst: r_mark_active
      Src: /src/rauc/src/install.c:1514,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1515,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1520,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - args
    - bundledir
    - manifest
    - target_group
    - error
    argTypes:
    - RaucInstallArgs*
    - gchar*
    - RaucManifest*
    - GHashTable*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1444
    functionDepth: 11
    functionLinenumber: 1444
    functionLinenumberEnd: 1525
    functionName: launch_and_wait_default_handler
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - install_args_update
    - r_install_make_plans
    - r_context_begin_step_weighted
    - r_context
    - r_artifacts_prune
    - pre_install_checks
    - r_mark_bad
    - g_build_filename
    - get_boot_mark_slot
    - handle_slot_install_plan
    - g_propagate_prefixed_error
    - g_ptr_array_index
    - r_context_end_step
    - g_autoptr
    - handle_artifact_install_plan
    - g_propagate_error
    - g_set_error
    - g_clear_error
    - g_message
    - r_mark_active
    linkageType: ''
    returnType: gboolean
    signature: gboolean launch_and_wait_default_handler(RaucInstallArgs *args, gchar*
      bundledir, RaucManifest *manifest, GHashTable *target_group, GError **error)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:1532,1
    - Dst: g_autoptr
      Src: /src/rauc/src/install.c:1533,1
    - Dst: g_auto
      Src: /src/rauc/src/install.c:1534,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/install.c:1536,1
    - Dst: g_assert_null
      Src: /src/rauc/src/install.c:1537,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1537,1
    - Dst: g_assert_true
      Src: /src/rauc/src/install.c:1538,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1538,1
    - Dst: g_uuid_string_random
      Src: /src/rauc/src/install.c:1541,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/install.c:1543,1
    - Dst: log_event_installation_started
      Src: /src/rauc/src/install.c:1545,1
    - Dst: r_context_begin_step
      Src: /src/rauc/src/install.c:1547,1
    - Dst: update_external_mount_points
      Src: /src/rauc/src/install.c:1548,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1549,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1551,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1556,1
    - Dst: assemble_info_headers
      Src: /src/rauc/src/install.c:1558,1
    - Dst: check_bundle
      Src: /src/rauc/src/install.c:1560,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1562,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1569,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/install.c:1573,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1574,1
    - Dst: g_set_error
      Src: /src/rauc/src/install.c:1582,1
    - Dst: mount_bundle
      Src: /src/rauc/src/install.c:1587,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1589,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1596,1
    - Dst: determine_target_install_group
      Src: /src/rauc/src/install.c:1598,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/install.c:1600,1
    - Dst: prepare_environment
      Src: /src/rauc/src/install.c:1605,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1607,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1608,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1608,1
    - Dst: launch_and_wait_handler
      Src: /src/rauc/src/install.c:1609,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1609,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1611,1
    - Dst: run_bundle_hook
      Src: /src/rauc/src/install.c:1618,1
    - Dst: g_error_matches
      Src: /src/rauc/src/install.c:1621,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1622,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1627,1
    - Dst: verify_compatible
      Src: /src/rauc/src/install.c:1634,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1636,1
    - Dst: check_version_limits
      Src: /src/rauc/src/install.c:1640,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/install.c:1642,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1647,1
    - Dst: launch_and_wait_custom_handler
      Src: /src/rauc/src/install.c:1648,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:1650,1
    - Dst: launch_and_wait_default_handler
      Src: /src/rauc/src/install.c:1651,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1655,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1659,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1660,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1660,1
    - Dst: launch_and_wait_handler
      Src: /src/rauc/src/install.c:1661,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1661,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/install.c:1663,1
    - Dst: umount_bundle
      Src: /src/rauc/src/install.c:1672,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1674,1
    - Dst: log_event_installation_done
      Src: /src/rauc/src/install.c:1677,1
    - Dst: r_context_end_step
      Src: /src/rauc/src/install.c:1679,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 131
    argCount: 2
    argNames:
    - args
    - error
    argTypes:
    - RaucInstallArgs*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1527
    functionDepth: 12
    functionLinenumber: 1527
    functionLinenumberEnd: 1682
    functionName: do_install_bundle
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 5
    functionsReached:
    - install_args_update
    - g_set_error_literal
    - run_bundle_hook
    - r_context
    - assemble_info_headers
    - prepare_environment
    - g_assert_null
    - g_propagate_prefixed_error
    - mount_bundle
    - g_debug
    - g_assert_true
    - g_assert_nonnull
    - log_event_installation_done
    - r_context_end_step
    - g_autoptr
    - g_auto
    - determine_target_install_group
    - g_uuid_string_random
    - check_version_limits
    - launch_and_wait_handler
    - g_propagate_error
    - g_set_error
    - r_context_begin_step
    - launch_and_wait_default_handler
    - check_bundle
    - log_event_installation_started
    - verify_compatible
    - launch_and_wait_custom_handler
    - g_error_matches
    - g_strcmp0
    - g_message
    - update_external_mount_points
    - umount_bundle
    linkageType: ''
    returnType: gboolean
    signature: gboolean do_install_bundle(RaucInstallArgs *args, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RaucInstallArgs*::cleanup
      Src: /src/rauc/src/install.c:1688,1
    - Dst: r_context_set_busy
      Src: /src/rauc/src/install.c:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1684
    functionDepth: 7
    functionLinenumber: 1684
    functionLinenumberEnd: 1693
    functionName: install_done
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - r_context_set_busy
    - RaucInstallArgs*::cleanup
    linkageType: ''
    returnType: gboolean
    signature: gboolean install_done(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_last_error
      Src: /src/rauc/src/install.c:1702,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:1704,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1705,1
    - Dst: do_install_bundle
      Src: /src/rauc/src/install.c:1707,1
    - Dst: g_warning
      Src: /src/rauc/src/install.c:1710,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1711,1
    - Dst: set_last_error
      Src: /src/rauc/src/install.c:1712,1
    - Dst: g_clear_error
      Src: /src/rauc/src/install.c:1713,1
    - Dst: g_mutex_lock
      Src: /src/rauc/src/install.c:1716,1
    - Dst: g_mutex_unlock
      Src: /src/rauc/src/install.c:1718,1
    - Dst: install_args_update
      Src: /src/rauc/src/install.c:1719,1
    - Dst: g_debug
      Src: /src/rauc/src/install.c:1720,1
    - Dst: g_main_context_invoke
      Src: /src/rauc/src/install.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1695
    functionDepth: 13
    functionLinenumber: 1695
    functionLinenumberEnd: 1724
    functionName: install_thread
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 0
    functionsReached:
    - g_clear_error
    - g_mutex_lock
    - install_args_update
    - g_main_context_invoke
    - set_last_error
    - g_mutex_unlock
    - do_install_bundle
    - g_debug
    - g_warning
    linkageType: ''
    returnType: gpointer
    signature: gpointer install_thread(gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_new0
      Src: /src/rauc/src/install.c:1728,1
    - Dst: g_mutex_init
      Src: /src/rauc/src/install.c:1730,1
    - Dst: g_queue_init
      Src: /src/rauc/src/install.c:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1735
    functionName: install_args_new
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 10
    functionsReached:
    - g_queue_init
    - g_mutex_init
    - g_new0
    linkageType: ''
    returnType: RaucInstallArgs
    signature: RaucInstallArgs *install_args_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/install.c:1739,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:1740,1
    - Dst: g_mutex_clear
      Src: /src/rauc/src/install.c:1741,1
    - Dst: g_assert_cmpint
      Src: /src/rauc/src/install.c:1742,1
    - Dst: g_assert_true
      Src: /src/rauc/src/install.c:1743,1
    - Dst: g_queue_is_empty
      Src: /src/rauc/src/install.c:1743,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:1744,1
    - Dst: clear_bundle_access_args
      Src: /src/rauc/src/install.c:1745,1
    - Dst: g_free
      Src: /src/rauc/src/install.c:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - args
    argTypes:
    - RaucInstallArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1747
    functionName: install_args_free
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 4
    functionsReached:
    - g_queue_is_empty
    - clear_bundle_access_args
    - g_mutex_clear
    - g_assert_true
    - g_assert_cmpint
    - g_free
    linkageType: ''
    returnType: void
    signature: void install_args_free(RaucInstallArgs *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_context_set_busy
      Src: /src/rauc/src/install.c:1751,1
    - Dst: g_message
      Src: /src/rauc/src/install.c:1753,1
    - Dst: r_context
      Src: /src/rauc/src/install.c:1753,1
    - Dst: g_thread_new
      Src: /src/rauc/src/install.c:1756,1
    - Dst: g_thread_unref
      Src: /src/rauc/src/install.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - RaucInstallArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1749
    functionDepth: 7
    functionLinenumber: 1749
    functionLinenumberEnd: 1759
    functionName: install_run
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 5
    functionsReached:
    - r_context
    - g_thread_new
    - g_message
    - r_context_set_busy
    - g_thread_unref
    linkageType: ''
    returnType: void
    signature: void install_run(RaucInstallArgs *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_contains
      Src: /src/rauc/src/install.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: r_install_is_supported_http_header
    functionSourceFile: /src/rauc/src/install.c
    functionUses: 1
    functionsReached:
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_install_is_supported_http_header(const gchar *header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_open
      Src: /src/rauc/src/update_utils.c:19,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_utils.c:22,1
    - Dst: strerror
      Src: /src/rauc/src/update_utils.c:23,1
    - Dst: G_UNIX_OUTPUT_STREAM
      Src: /src/rauc/src/update_utils.c:27,1
    - Dst: g_unix_output_stream_new
      Src: /src/rauc/src/update_utils.c:27,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_utils.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - filename
    - flags
    - mode
    - fd
    - error
    argTypes:
    - gchar*
    - int
    - int
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: open_unix_output_stream
    functionSourceFile: /src/rauc/src/update_utils.c
    functionUses: 0
    functionsReached:
    - g_unix_output_stream_new
    - strerror
    - g_open
    - g_set_error
    - G_UNIX_OUTPUT_STREAM
    linkageType: ''
    returnType: GUnixOutputStream
    signature: GUnixOutputStream *open_unix_output_stream(const gchar *filename, int
      flags, int mode, int *fd, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:43,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:44,1
    - Dst: open_unix_output_stream
      Src: /src/rauc/src/update_utils.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - fd
    - error
    argTypes:
    - gchar*
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: r_unix_output_stream_open_device
    functionSourceFile: /src/rauc/src/update_utils.c
    functionUses: 4
    functionsReached:
    - open_unix_output_stream
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUnixOutputStream
    signature: GUnixOutputStream *r_unix_output_stream_open_device(const gchar *filename,
      int *fd, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:52,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:53,1
    - Dst: open_unix_output_stream
      Src: /src/rauc/src/update_utils.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - fd
    - error
    argTypes:
    - gchar*
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: r_unix_output_stream_create_file
    functionSourceFile: /src/rauc/src/update_utils.c
    functionUses: 1
    functionsReached:
    - open_unix_output_stream
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUnixOutputStream
    signature: GUnixOutputStream *r_unix_output_stream_create_file(const gchar *filename,
      int *fd, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:64,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:65,1
    - Dst: g_open
      Src: /src/rauc/src/update_utils.c:67,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_utils.c:70,1
    - Dst: g_io_error_from_errno
      Src: /src/rauc/src/update_utils.c:70,1
    - Dst: g_strerror
      Src: /src/rauc/src/update_utils.c:71,1
    - Dst: G_UNIX_INPUT_STREAM
      Src: /src/rauc/src/update_utils.c:75,1
    - Dst: g_unix_input_stream_new
      Src: /src/rauc/src/update_utils.c:75,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_utils.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - filename
    - fd
    - error
    argTypes:
    - gchar*
    - int*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: r_open_unix_input_stream
    functionSourceFile: /src/rauc/src/update_utils.c
    functionUses: 2
    functionsReached:
    - g_strerror
    - g_open
    - g_io_error_from_errno
    - g_set_error
    - G_UNIX_INPUT_STREAM
    - g_unix_input_stream_new
    - g_return_val_if_fail
    linkageType: ''
    returnType: GUnixInputStream
    signature: GUnixInputStream *r_open_unix_input_stream(const gchar *filename, int
      *fd, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:97,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:98,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:99,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/update_utils.c:100,1
    - Dst: g_input_stream_read
      Src: /src/rauc/src/update_utils.c:109,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_utils.c:112,1
    - Dst: g_set_error
      Src: /src/rauc/src/update_utils.c:119,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/src/update_utils.c:124,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/update_utils.c:127,1
    - Dst: r_context
      Src: /src/rauc/src/update_utils.c:134,1
    - Dst: r_context_set_step_percentage
      Src: /src/rauc/src/update_utils.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - in_stream
    - out_stream
    - size
    - error
    argTypes:
    - GInputStream*
    - GOutputStream*
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 139
    functionName: r_copy_stream_with_progress
    functionSourceFile: /src/rauc/src/update_utils.c
    functionUses: 3
    functionsReached:
    - g_input_stream_read
    - r_context
    - g_output_stream_write_all
    - r_context_set_step_percentage
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: "gboolean r_copy_stream_with_progress(GInputStream *in_stream, GOutputStream
      *out_stream,\n\t\tgoffset size, GError **error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rauc/src/dm.c:15,1
    - Dst: g_strlcpy
      Src: /src/rauc/src/dm.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - header
    - size
    - flags
    - uuid
    argTypes:
    - struct dm_ioctl*
    - size_t
    - guint32
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: dm_set_header
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 0
    functionsReached:
    - memset
    - g_strlcpy
    linkageType: ''
    returnType: void
    signature: void dm_set_header(struct dm_ioctl *header, size_t size, guint32 flags,
      const gchar *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/src/dm.c:27,1
    - Dst: g_uuid_string_random
      Src: /src/rauc/src/dm.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: r_dm_new_verity
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 4
    functionsReached:
    - g_uuid_string_random
    - g_malloc0
    linkageType: ''
    returnType: RaucDM
    signature: RaucDM *r_dm_new_verity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/rauc/src/dm.c:37,1
    - Dst: g_uuid_string_random
      Src: /src/rauc/src/dm.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: r_dm_new_crypt
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 2
    functionsReached:
    - g_uuid_string_random
    - g_malloc0
    linkageType: ''
    returnType: RaucDM
    signature: RaucDM *r_dm_new_crypt(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/dm.c:50,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:51,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:52,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:53,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:54,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:55,1
    - Dst: g_free
      Src: /src/rauc/src/dm.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dm
    argTypes:
    - RaucDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: r_dm_free
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 0
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_dm_free(RaucDM *dm)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dmtype
    argTypes:
    - RaucDMType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: dmtype_to_str
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: gchar *dmtype_to_str(RaucDMType dmtype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:73,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:74,1
    - Dst: g_auto
      Src: /src/rauc/src/dm.c:76,1
    - Dst: g_strsplit
      Src: /src/rauc/src/dm.c:76,1
    - Dst: g_strv_length
      Src: /src/rauc/src/dm.c:80,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:81,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/dm.c:87,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:88,1
    - Dst: g_strv_length
      Src: /src/rauc/src/dm.c:96,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:97,1
    - Dst: g_error
      Src: /src/rauc/src/dm.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - dmtype
    - params
    - error
    argTypes:
    - RaucDMType
    - char*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: check_status
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_strcmp0
    - g_error
    - g_strsplit
    - g_set_error
    - g_strv_length
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean check_status(RaucDMType dmtype, const char *params, GError
      **error)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: G_STATIC_ASSERT
      Src: /src/rauc/src/dm.c:124,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:126,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:127,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:128,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:129,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:130,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:131,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:134,1
    - Dst: open
      Src: /src/rauc/src/dm.c:144,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:147,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:149,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:150,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:157,1
    - Dst: g_strlcpy
      Src: /src/rauc/src/dm.c:159,1
    - Dst: g_strlcpy
      Src: /src/rauc/src/dm.c:161,1
    - Dst: g_error
      Src: /src/rauc/src/dm.c:163,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:165,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:167,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:169,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:170,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:177,1
    - Dst: g_strlcpy
      Src: /src/rauc/src/dm.c:183,1
    - Dst: dmtype_to_str
      Src: /src/rauc/src/dm.c:183,1
    - Dst: g_snprintf
      Src: /src/rauc/src/dm.c:187,1
    - Dst: g_snprintf
      Src: /src/rauc/src/dm.c:198,1
    - Dst: g_error
      Src: /src/rauc/src/dm.c:204,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:208,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:216,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:218,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:220,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:222,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:229,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:231,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:233,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:235,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:236,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/dm.c:241,1
    - Dst: minor
      Src: /src/rauc/src/dm.c:241,1
    - Dst: g_open
      Src: /src/rauc/src/dm.c:245,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:248,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:250,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:251,1
    - Dst: read
      Src: /src/rauc/src/dm.c:256,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:258,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:260,1
    - Dst: dmtype_to_str
      Src: /src/rauc/src/dm.c:261,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:261,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:266,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:268,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:270,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:272,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:273,1
    - Dst: check_status
      Src: /src/rauc/src/dm.c:277,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/dm.c:278,1
    - Dst: g_message
      Src: /src/rauc/src/dm.c:283,1
    - Dst: dmtype_to_str
      Src: /src/rauc/src/dm.c:283,1
    - Dst: g_close
      Src: /src/rauc/src/dm.c:291,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:295,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:297,1
    - Dst: g_message
      Src: /src/rauc/src/dm.c:299,1
    - Dst: dmtype_to_str
      Src: /src/rauc/src/dm.c:299,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:299,1
    - Dst: g_close
      Src: /src/rauc/src/dm.c:303,1
    - Dst: g_close
      Src: /src/rauc/src/dm.c:305,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 119
    argCount: 2
    argNames:
    - dm
    - error
    argTypes:
    - RaucDM*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 308
    functionName: r_dm_setup
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 5
    functionsReached:
    - g_close
    - ioctl
    - dm_set_header
    - check_status
    - G_STATIC_ASSERT
    - g_open
    - g_strlcpy
    - g_strdup_printf
    - g_snprintf
    - minor
    - dmtype_to_str
    - open
    - g_error
    - g_file_error_from_errno
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    - g_strerror
    - read
    - g_message
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_dm_setup(RaucDM *dm, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:318,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:319,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:320,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:321,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:322,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:323,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:325,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:326,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/dm.c:328,1
    - Dst: open
      Src: /src/rauc/src/dm.c:331,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:334,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:336,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:337,1
    - Dst: dm_set_header
      Src: /src/rauc/src/dm.c:342,1
    - Dst: ioctl
      Src: /src/rauc/src/dm.c:346,1
    - Dst: g_set_error
      Src: /src/rauc/src/dm.c:348,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/dm.c:350,1
    - Dst: g_strerror
      Src: /src/rauc/src/dm.c:351,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/dm.c:356,1
    - Dst: g_close
      Src: /src/rauc/src/dm.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - dm
    - deferred
    - error
    argTypes:
    - RaucDM*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 364
    functionName: r_dm_remove
    functionSourceFile: /src/rauc/src/dm.c
    functionUses: 5
    functionsReached:
    - g_close
    - g_strerror
    - ioctl
    - dm_set_header
    - open
    - g_clear_pointer
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_dm_remove(RaucDM *dm, gboolean deferred, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/crypt.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: r_crypt_error_quark
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_crypt_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/crypt.c:21,1
    - Dst: memset
      Src: /src/rauc/src/crypt.c:23,1
    - Dst: GUINT64_TO_LE
      Src: /src/rauc/src/crypt.c:24,1
    - Dst: memcpy
      Src: /src/rauc/src/crypt.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iv
    - iv_size
    - sector
    argTypes:
    - guint8*
    - guint
    - guint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: iv_plain64
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - g_return_if_fail
    - GUINT64_TO_LE
    linkageType: ''
    returnType: void
    signature: void iv_plain64(guint8 *iv, guint iv_size, guint64 sector)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/crypt.c:49,1
    - Dst: EVP_aes_256_cbc
      Src: /src/rauc/src/crypt.c:51,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:56,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:57,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/rauc/src/crypt.c:60,1
    - Dst: EVP_CipherInit_ex
      Src: /src/rauc/src/crypt.c:61,1
    - Dst: g_error
      Src: /src/rauc/src/crypt.c:63,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/rauc/src/crypt.c:66,1
    - Dst: g_assert
      Src: /src/rauc/src/crypt.c:69,1
    - Dst: EVP_CIPHER_CTX_key_length
      Src: /src/rauc/src/crypt.c:69,1
    - Dst: g_assert
      Src: /src/rauc/src/crypt.c:70,1
    - Dst: EVP_CIPHER_CTX_iv_length
      Src: /src/rauc/src/crypt.c:70,1
    - Dst: iv_plain64
      Src: /src/rauc/src/crypt.c:77,1
    - Dst: EVP_CipherInit_ex
      Src: /src/rauc/src/crypt.c:80,1
    - Dst: g_error
      Src: /src/rauc/src/crypt.c:82,1
    - Dst: fread
      Src: /src/rauc/src/crypt.c:84,1
    - Dst: g_set_error
      Src: /src/rauc/src/crypt.c:90,1
    - Dst: EVP_CipherUpdate
      Src: /src/rauc/src/crypt.c:99,1
    - Dst: g_set_error
      Src: /src/rauc/src/crypt.c:100,1
    - Dst: fwrite
      Src: /src/rauc/src/crypt.c:104,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/rauc/src/crypt.c:106,1
    - Dst: g_set_error
      Src: /src/rauc/src/crypt.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - fd
    - out
    - key
    - encrypt
    - maxsize
    - error
    argTypes:
    - FILE*
    - FILE*
    - uint8_t*
    - gboolean
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 113
    functionName: encrypt_or_decrypt
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 0
    functionsReached:
    - g_assert
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_iv_length
    - g_error
    - fwrite
    - EVP_aes_256_cbc
    - iv_plain64
    - EVP_CipherInit_ex
    - fread
    - EVP_CipherUpdate
    - EVP_CipherFinal_ex
    - g_autoptr
    - g_set_error
    - EVP_CIPHER_CTX_key_length
    - EVP_CIPHER_CTX_set_padding
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean encrypt_or_decrypt(FILE *fd, FILE *out, const uint8_t *key,
      gboolean encrypt, goffset maxsize, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:121,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:122,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:123,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/crypt.c:124,1
    - Dst: g_fopen
      Src: /src/rauc/src/crypt.c:126,1
    - Dst: g_set_error
      Src: /src/rauc/src/crypt.c:129,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/crypt.c:129,1
    - Dst: g_strerror
      Src: /src/rauc/src/crypt.c:130,1
    - Dst: g_fopen
      Src: /src/rauc/src/crypt.c:135,1
    - Dst: g_set_error
      Src: /src/rauc/src/crypt.c:138,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/crypt.c:138,1
    - Dst: g_strerror
      Src: /src/rauc/src/crypt.c:139,1
    - Dst: encrypt_or_decrypt
      Src: /src/rauc/src/crypt.c:144,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/crypt.c:146,1
    - Dst: fclose
      Src: /src/rauc/src/crypt.c:154,1
    - Dst: fclose
      Src: /src/rauc/src/crypt.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - inpath
    - outpath
    - key
    - encrypt
    - maxsize
    - error
    argTypes:
    - gchar*
    - gchar*
    - uint8_t*
    - gboolean
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: r_crypt_encrypt_or_decrypt
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fclose
    - g_propagate_prefixed_error
    - g_fopen
    - encrypt_or_decrypt
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_crypt_encrypt_or_decrypt(const gchar *inpath, const gchar
      *outpath, const uint8_t *key, gboolean encrypt, goffset maxsize, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_crypt_encrypt_or_decrypt
      Src: /src/rauc/src/crypt.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - out
    - key
    - error
    argTypes:
    - gchar*
    - gchar*
    - guint8*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: r_crypt_encrypt
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 3
    functionsReached:
    - r_crypt_encrypt_or_decrypt
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_crypt_encrypt(const gchar *in, const gchar *out, const guint8
      *key, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_crypt_encrypt_or_decrypt
      Src: /src/rauc/src/crypt.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - out
    - key
    - maxsize
    - error
    argTypes:
    - gchar*
    - gchar*
    - guint8*
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: r_crypt_decrypt
    functionSourceFile: /src/rauc/src/crypt.c
    functionUses: 2
    functionsReached:
    - r_crypt_encrypt_or_decrypt
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_crypt_decrypt(const gchar *in, const gchar *out, const guint8
      *key, goffset maxsize, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:29,1
    - Dst: curl_global_init
      Src: /src/rauc/src/network.c:31,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:33,1
    - Dst: curl_easy_strerror
      Src: /src/rauc/src/network.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: network_init
    functionSourceFile: /src/rauc/src/network.c
    functionUses: 1
    functionsReached:
    - curl_easy_strerror
    - g_set_error
    - curl_global_init
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean network_init(GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/src/network.c:48,1
    - Dst: fwrite
      Src: /src/rauc/src/network.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: write_cb
    functionSourceFile: /src/rauc/src/network.c
    functionUses: 0
    functionsReached:
    - fwrite
    - g_strdup
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/src/network.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: xfer_cb
    functionSourceFile: /src/rauc/src/network.c
    functionUses: 0
    functionsReached:
    - g_strdup
    linkageType: ''
    returnType: int
    signature: "int xfer_cb(void *clientp, curl_off_t dltotal, curl_off_t dlnow,\n\t\tcurl_off_t
      ultotal, curl_off_t ulnow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:83,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:84,1
    - Dst: curl_easy_init
      Src: /src/rauc/src/network.c:86,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:109,1
    - Dst: curl_easy_setopt
      Src: /src/rauc/src/network.c:110,1
    - Dst: curl_easy_perform
      Src: /src/rauc/src/network.c:115,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:117,1
    - Dst: strlen
      Src: /src/rauc/src/network.c:120,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:122,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/network.c:123,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:125,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:127,1
    - Dst: curl_easy_strerror
      Src: /src/rauc/src/network.c:127,1
    - Dst: fflush
      Src: /src/rauc/src/network.c:134,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/network.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - xfer
    - error
    argTypes:
    - RaucTransfer*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 139
    functionName: transfer
    functionSourceFile: /src/rauc/src/network.c
    functionUses: 2
    functionsReached:
    - curl_easy_setopt
    - curl_easy_strerror
    - fflush
    - curl_easy_perform
    - curl_easy_init
    - g_clear_pointer
    - g_set_error
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean transfer(RaucTransfer *xfer, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:147,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:148,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/network.c:149,1
    - Dst: fopen
      Src: /src/rauc/src/network.c:156,1
    - Dst: g_set_error
      Src: /src/rauc/src/network.c:158,1
    - Dst: transfer
      Src: /src/rauc/src/network.c:162,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/network.c:164,1
    - Dst: fclose
      Src: /src/rauc/src/network.c:170,1
    - Dst: g_debug
      Src: /src/rauc/src/network.c:172,1
    - Dst: g_strerror
      Src: /src/rauc/src/network.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - target
    - url
    - limit
    - error
    argTypes:
    - gchar*
    - gchar*
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: download_file
    functionSourceFile: /src/rauc/src/network.c
    functionUses: 2
    functionsReached:
    - transfer
    - g_strerror
    - fopen
    - fclose
    - g_debug
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean download_file(const gchar *target, const gchar *url, goffset
      limit, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/checksum.c:22,1
    - Dst: open
      Src: /src/rauc/src/checksum.c:27,1
    - Dst: g_set_error
      Src: /src/rauc/src/checksum.c:29,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/checksum.c:29,1
    - Dst: strerror
      Src: /src/rauc/src/checksum.c:30,1
    - Dst: read
      Src: /src/rauc/src/checksum.c:34,1
    - Dst: g_set_error
      Src: /src/rauc/src/checksum.c:36,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/checksum.c:36,1
    - Dst: strerror
      Src: /src/rauc/src/checksum.c:37,1
    - Dst: g_checksum_update
      Src: /src/rauc/src/checksum.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - filename
    - total
    - error
    argTypes:
    - GChecksum*
    - gchar*
    - goffset*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 48
    functionName: update_from_file
    functionSourceFile: /src/rauc/src/checksum.c
    functionUses: 0
    functionsReached:
    - g_auto
    - g_checksum_update
    - read
    - strerror
    - open
    - g_file_error_from_errno
    - g_set_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean update_from_file(GChecksum *ctx, const gchar *filename, goffset
      *total, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/checksum.c:52,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/checksum.c:56,1
    - Dst: g_checksum_new
      Src: /src/rauc/src/checksum.c:60,1
    - Dst: update_from_file
      Src: /src/rauc/src/checksum.c:62,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/checksum.c:65,1
    - Dst: g_strdup
      Src: /src/rauc/src/checksum.c:66,1
    - Dst: g_checksum_get_string
      Src: /src/rauc/src/checksum.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - checksum
    - filename
    - error
    argTypes:
    - RaucChecksum*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: compute_checksum
    functionSourceFile: /src/rauc/src/checksum.c
    functionUses: 2
    functionsReached:
    - g_checksum_new
    - g_strdup
    - g_clear_pointer
    - g_checksum_get_string
    - g_autoptr
    - update_from_file
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean compute_checksum(RaucChecksum *checksum, const gchar *filename,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/bootchooser.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: r_bootchooser_error_quark
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_bootchooser_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_contains
      Src: /src/rauc/src/bootchooser.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bootloader
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: r_boot_is_supported_bootloader
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 1
    functionsReached:
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_boot_is_supported_bootloader(const gchar *bootloader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootchooser.c:25,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:27,1
    - Dst: g_string_new
      Src: /src/rauc/src/bootchooser.c:29,1
    - Dst: g_hash_table_get_values
      Src: /src/rauc/src/bootchooser.c:32,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:32,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/bootchooser.c:40,1
    - Dst: g_string_append
      Src: /src/rauc/src/bootchooser.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - slot
    argTypes:
    - RaucSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: r_bootchooser_order_primary
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 0
    functionsReached:
    - g_string_append_c
    - r_context
    - g_autoptr
    - g_hash_table_get_values
    - g_string_new
    - g_string_append
    - g_return_val_if_fail
    linkageType: ''
    returnType: GString
    signature: GString *r_bootchooser_order_primary(RaucSlot *slot)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:53,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:54,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:56,1
    - Dst: r_custom_get_current_bootname
      Src: /src/rauc/src/bootchooser.c:57,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:58,1
    - Dst: r_efi_get_current_bootname
      Src: /src/rauc/src/bootchooser.c:59,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:60,1
    - Dst: r_barebox_get_current_bootname
      Src: /src/rauc/src/bootchooser.c:61,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootchooser.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - config
    - cmdline
    - error
    argTypes:
    - RaucConfig*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: r_boot_get_current_bootname
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 2
    functionsReached:
    - r_custom_get_current_bootname
    - g_propagate_prefixed_error
    - r_efi_get_current_bootname
    - g_strcmp0
    - r_barebox_get_current_bootname
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *r_boot_get_current_bootname(RaucConfig *config, const gchar
      *cmdline, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:81,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:82,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:83,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bootchooser.c:86,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:88,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:88,1
    - Dst: r_barebox_get_state
      Src: /src/rauc/src/bootchooser.c:89,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:90,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:90,1
    - Dst: r_grub_get_state
      Src: /src/rauc/src/bootchooser.c:91,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:92,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:92,1
    - Dst: r_uboot_get_state
      Src: /src/rauc/src/bootchooser.c:93,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:94,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:94,1
    - Dst: r_efi_get_state
      Src: /src/rauc/src/bootchooser.c:95,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:96,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:96,1
    - Dst: r_custom_get_state
      Src: /src/rauc/src/bootchooser.c:97,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootchooser.c:99,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:103,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootchooser.c:108,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 115
    functionName: r_boot_get_state
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 6
    functionsReached:
    - r_efi_get_state
    - g_propagate_prefixed_error
    - r_custom_get_state
    - r_barebox_get_state
    - r_context
    - g_strcmp0
    - g_assert_nonnull
    - r_uboot_get_state
    - g_set_error
    - r_grub_get_state
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_boot_get_state(RaucSlot *slot, gboolean *good, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:123,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:124,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:126,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:126,1
    - Dst: r_barebox_set_state
      Src: /src/rauc/src/bootchooser.c:127,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:128,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:128,1
    - Dst: r_grub_set_state
      Src: /src/rauc/src/bootchooser.c:129,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:130,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:130,1
    - Dst: r_uboot_set_state
      Src: /src/rauc/src/bootchooser.c:131,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:132,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:132,1
    - Dst: r_efi_set_state
      Src: /src/rauc/src/bootchooser.c:133,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:134,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:134,1
    - Dst: r_custom_set_state
      Src: /src/rauc/src/bootchooser.c:135,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:136,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:136,1
    - Dst: g_message
      Src: /src/rauc/src/bootchooser.c:137,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootchooser.c:140,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:144,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootchooser.c:149,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 118
    functionDepth: 7
    functionLinenumber: 118
    functionLinenumberEnd: 156
    functionName: r_boot_set_state
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 12
    functionsReached:
    - r_custom_set_state
    - r_grub_set_state
    - g_propagate_prefixed_error
    - r_uboot_set_state
    - r_context
    - r_efi_set_state
    - g_strcmp0
    - r_barebox_set_state
    - g_message
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_boot_set_state(RaucSlot *slot, gboolean good, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:164,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:166,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:166,1
    - Dst: r_barebox_get_primary
      Src: /src/rauc/src/bootchooser.c:167,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:168,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:168,1
    - Dst: r_grub_get_primary
      Src: /src/rauc/src/bootchooser.c:169,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:170,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:170,1
    - Dst: r_uboot_get_primary
      Src: /src/rauc/src/bootchooser.c:171,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:172,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:172,1
    - Dst: r_efi_get_primary
      Src: /src/rauc/src/bootchooser.c:173,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:174,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:174,1
    - Dst: r_custom_get_primary
      Src: /src/rauc/src/bootchooser.c:175,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootchooser.c:177,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:181,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootchooser.c:186,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: r_boot_get_primary
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 9
    functionsReached:
    - r_custom_get_primary
    - g_propagate_prefixed_error
    - r_context
    - r_barebox_get_primary
    - g_strcmp0
    - r_grub_get_primary
    - r_uboot_get_primary
    - r_efi_get_primary
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_boot_get_primary(GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:201,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootchooser.c:202,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:204,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:204,1
    - Dst: r_barebox_set_primary
      Src: /src/rauc/src/bootchooser.c:205,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:206,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:206,1
    - Dst: r_grub_set_primary
      Src: /src/rauc/src/bootchooser.c:207,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:208,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:208,1
    - Dst: r_uboot_set_primary
      Src: /src/rauc/src/bootchooser.c:209,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:210,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:210,1
    - Dst: r_efi_set_primary
      Src: /src/rauc/src/bootchooser.c:211,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:212,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:212,1
    - Dst: r_custom_set_primary
      Src: /src/rauc/src/bootchooser.c:213,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootchooser.c:214,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:214,1
    - Dst: g_message
      Src: /src/rauc/src/bootchooser.c:215,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootchooser.c:218,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:222,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootchooser.c:227,1
    - Dst: r_context
      Src: /src/rauc/src/bootchooser.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 196
    functionDepth: 7
    functionLinenumber: 196
    functionLinenumberEnd: 234
    functionName: r_boot_set_primary
    functionSourceFile: /src/rauc/src/bootchooser.c
    functionUses: 11
    functionsReached:
    - r_efi_set_primary
    - g_propagate_prefixed_error
    - r_grub_set_primary
    - r_context
    - g_strcmp0
    - r_uboot_set_primary
    - g_message
    - r_barebox_set_primary
    - r_custom_set_primary
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_boot_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: get_bits_up
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_bits_up(size_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: get_bits_down
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_bits_down(size_t u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/rauc/src/verity_hash.c:64,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:65,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:70,1
    - Dst: ftello
      Src: /src/rauc/src/verity_hash.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wr
    - bytes
    argTypes:
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: verify_zero
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached:
    - g_debug
    - g_message
    - fread
    - ftello
    linkageType: ''
    returnType: int
    signature: int verify_zero(FILE *wr, size_t bytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/rauc/src/verity_hash.c:88,1
    - Dst: EVP_DigestInit
      Src: /src/rauc/src/verity_hash.c:89,1
    - Dst: EVP_sha256
      Src: /src/rauc/src/verity_hash.c:89,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:90,1
    - Dst: EVP_DigestUpdate
      Src: /src/rauc/src/verity_hash.c:95,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:96,1
    - Dst: EVP_DigestUpdate
      Src: /src/rauc/src/verity_hash.c:101,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:102,1
    - Dst: EVP_DigestFinal
      Src: /src/rauc/src/verity_hash.c:107,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:108,1
    - Dst: g_assert
      Src: /src/rauc/src/verity_hash.c:113,1
    - Dst: memcpy
      Src: /src/rauc/src/verity_hash.c:115,1
    - Dst: ERR_print_errors_fp
      Src: /src/rauc/src/verity_hash.c:119,1
    - Dst: EVP_MD_CTX_free
      Src: /src/rauc/src/verity_hash.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - hash
    - data
    - salt
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 122
    functionName: verify_hash_block
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_DigestUpdate
    - memcpy
    - EVP_MD_CTX_free
    - EVP_DigestInit
    - g_assert
    - ERR_print_errors_fp
    - g_message
    - EVP_MD_CTX_new
    - EVP_DigestFinal
    linkageType: ''
    returnType: int
    signature: "int verify_hash_block(\n\t\tuint8_t *hash,\n\t\tconst uint8_t *data,\n\t\tconst
      uint8_t *salt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - u
    - b
    - size
    argTypes:
    - uint64_t*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: uint64_mult_overflow
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: gboolean uint64_mult_overflow(uint64_t *u, uint64_t b, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_bits_down
      Src: /src/rauc/src/verity_hash.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - data_file_blocks
    - hash_position
    - levels
    - hash_level_block
    - hash_level_size
    argTypes:
    - uint64_t
    - uint64_t*
    - int*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 171
    functionName: hash_levels
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached:
    - get_bits_down
    linkageType: ''
    returnType: int
    signature: "int hash_levels(\n\t\tuint64_t data_file_blocks, uint64_t *hash_position,
      int *levels,\n\t\tuint64_t *hash_level_block, uint64_t *hash_level_size)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: get_bits_down
      Src: /src/rauc/src/verity_hash.c:184,1
    - Dst: get_bits_up
      Src: /src/rauc/src/verity_hash.c:185,1
    - Dst: uint64_mult_overflow
      Src: /src/rauc/src/verity_hash.c:192,1
    - Dst: uint64_mult_overflow
      Src: /src/rauc/src/verity_hash.c:193,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:194,1
    - Dst: fseeko
      Src: /src/rauc/src/verity_hash.c:198,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:199,1
    - Dst: fseeko
      Src: /src/rauc/src/verity_hash.c:203,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:204,1
    - Dst: memset
      Src: /src/rauc/src/verity_hash.c:208,1
    - Dst: fread
      Src: /src/rauc/src/verity_hash.c:215,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:216,1
    - Dst: verify_hash_block
      Src: /src/rauc/src/verity_hash.c:220,1
    - Dst: fread
      Src: /src/rauc/src/verity_hash.c:229,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:230,1
    - Dst: memcmp
      Src: /src/rauc/src/verity_hash.c:233,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:234,1
    - Dst: ftello
      Src: /src/rauc/src/verity_hash.c:235,1
    - Dst: fwrite
      Src: /src/rauc/src/verity_hash.c:239,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:240,1
    - Dst: verify_zero
      Src: /src/rauc/src/verity_hash.c:247,1
    - Dst: fwrite
      Src: /src/rauc/src/verity_hash.c:250,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:251,1
    - Dst: verify_zero
      Src: /src/rauc/src/verity_hash.c:260,1
    - Dst: fwrite
      Src: /src/rauc/src/verity_hash.c:263,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:264,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 8
    argNames:
    - rd
    - wr
    - data_block
    - hash_block
    - blocks
    - verify
    - calculated_digest
    - salt
    argTypes:
    - FILE*
    - FILE*
    - uint64_t
    - uint64_t
    - uint64_t
    - int
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 271
    functionName: create_or_verify
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached:
    - memset
    - ftello
    - verify_hash_block
    - memcmp
    - uint64_mult_overflow
    - verify_zero
    - g_debug
    - fwrite
    - g_message
    - fread
    - get_bits_up
    - fseeko
    - get_bits_down
    linkageType: ''
    returnType: int
    signature: "int create_or_verify(FILE *rd, FILE *wr,\n\t\tuint64_t data_block,\n\t\tuint64_t
      hash_block,\n\t\tuint64_t blocks,\n\t\tint verify,\n\t\tuint8_t *calculated_digest,\n\t\tconst
      uint8_t *salt)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:303,1
    - Dst: uint64_mult_overflow
      Src: /src/rauc/src/verity_hash.c:307,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:308,1
    - Dst: hash_levels
      Src: /src/rauc/src/verity_hash.c:312,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:314,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:318,1
    - Dst: uint64_mult_overflow
      Src: /src/rauc/src/verity_hash.c:320,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:321,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/verity_hash.c:327,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:329,1
    - Dst: fopen
      Src: /src/rauc/src/verity_hash.c:331,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:333,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:340,1
    - Dst: fopen
      Src: /src/rauc/src/verity_hash.c:342,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:344,1
    - Dst: memset
      Src: /src/rauc/src/verity_hash.c:350,1
    - Dst: create_or_verify
      Src: /src/rauc/src/verity_hash.c:354,1
    - Dst: fopen
      Src: /src/rauc/src/verity_hash.c:362,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:364,1
    - Dst: create_or_verify
      Src: /src/rauc/src/verity_hash.c:369,1
    - Dst: fclose
      Src: /src/rauc/src/verity_hash.c:374,1
    - Dst: create_or_verify
      Src: /src/rauc/src/verity_hash.c:381,1
    - Dst: create_or_verify
      Src: /src/rauc/src/verity_hash.c:387,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:395,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:397,1
    - Dst: memcmp
      Src: /src/rauc/src/verity_hash.c:398,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:400,1
    - Dst: g_debug
      Src: /src/rauc/src/verity_hash.c:402,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:406,1
    - Dst: g_message
      Src: /src/rauc/src/verity_hash.c:408,1
    - Dst: memcpy
      Src: /src/rauc/src/verity_hash.c:410,1
    - Dst: fclose
      Src: /src/rauc/src/verity_hash.c:415,1
    - Dst: fclose
      Src: /src/rauc/src/verity_hash.c:417,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 6
    argNames:
    - verify
    - fd
    - data_blocks
    - combined_blocks
    - root_hash
    - salt
    argTypes:
    - int
    - int
    - uint64_t
    - uint64_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 419
    functionName: verity_create_or_verify_hash
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 0
    functionsReached:
    - create_or_verify
    - memset
    - fopen
    - fclose
    - memcpy
    - hash_levels
    - uint64_mult_overflow
    - g_debug
    - g_message
    - g_strdup_printf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int verity_create_or_verify_hash(\n\t\tint verify,\n\t\tint fd,\n\t\tuint64_t
      data_blocks,\n\t\tuint64_t *combined_blocks,\n\t\tuint8_t *root_hash,\n\t\tconst
      uint8_t *salt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verity_create_or_verify_hash
      Src: /src/rauc/src/verity_hash.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fd
    - data_blocks
    - combined_blocks
    - root_hash
    - salt
    argTypes:
    - int
    - uint64_t
    - uint64_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: r_verity_hash_create
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 2
    functionsReached:
    - verity_create_or_verify_hash
    linkageType: ''
    returnType: int
    signature: "int r_verity_hash_create(\n\t\tint fd,\n\t\tuint64_t data_blocks,\n\t\tuint64_t
      *combined_blocks,\n\t\tuint8_t *root_hash,\n\t\tconst uint8_t *salt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verity_create_or_verify_hash
      Src: /src/rauc/src/verity_hash.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - data_blocks
    - root_hash
    - salt
    argTypes:
    - int
    - uint64_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: r_verity_hash_verify
    functionSourceFile: /src/rauc/src/verity_hash.c
    functionUses: 3
    functionsReached:
    - verity_create_or_verify_hash
    linkageType: ''
    returnType: int
    signature: "int r_verity_hash_verify(\n\t\tint fd,\n\t\tuint64_t data_blocks,\n\t\tuint8_t
      *root_hash,\n\t\tconst uint8_t *salt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/src/emmc.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: r_emmc_error_quark
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark r_emmc_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmc_ioc_cmd_set_data
      Src: /src/rauc/src/emmc.c:32,1
    - Dst: ioctl
      Src: /src/rauc/src/emmc.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - extcsd
    argTypes:
    - int
    - guint8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: r_emmc_read_extcsd
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 0
    functionsReached:
    - ioctl
    - mmc_ioc_cmd_set_data
    linkageType: ''
    returnType: int
    signature: int r_emmc_read_extcsd(int fd, guint8 extcsd[512])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/emmc.c:40,1
    - Dst: g_open
      Src: /src/rauc/src/emmc.c:44,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:47,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/emmc.c:47,1
    - Dst: g_strerror
      Src: /src/rauc/src/emmc.c:48,1
    - Dst: r_emmc_read_extcsd
      Src: /src/rauc/src/emmc.c:52,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:53,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:73,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:79,1
    - Dst: g_return_val_if_reached
      Src: /src/rauc/src/emmc.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - device
    - bootpart_active
    - error
    argTypes:
    - gchar*
    - gint*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: r_emmc_read_bootpart
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_auto
    - g_open
    - r_emmc_read_extcsd
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_reached
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_emmc_read_bootpart(const gchar *device, gint *bootpart_active,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/rauc/src/emmc.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - index
    - value
    argTypes:
    - int
    - guint8
    - guint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: r_emmc_write_extcsd
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: gint
    signature: gint r_emmc_write_extcsd(int fd, guint8 index, guint8 value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_auto
      Src: /src/rauc/src/emmc.c:104,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/emmc.c:108,1
    - Dst: g_open
      Src: /src/rauc/src/emmc.c:110,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:113,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/emmc.c:113,1
    - Dst: g_strerror
      Src: /src/rauc/src/emmc.c:114,1
    - Dst: r_emmc_read_extcsd
      Src: /src/rauc/src/emmc.c:118,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:119,1
    - Dst: r_emmc_write_extcsd
      Src: /src/rauc/src/emmc.c:138,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - device
    - bootpart_active
    - error
    argTypes:
    - gchar*
    - gint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 146
    functionName: r_emmc_write_bootpart
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 1
    functionsReached:
    - g_strerror
    - g_auto
    - g_open
    - r_emmc_write_extcsd
    - r_emmc_read_extcsd
    - g_file_error_from_errno
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_emmc_write_bootpart(const gchar *device, gint bootpart_active,
      GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_path_get_basename
      Src: /src/rauc/src/emmc.c:151,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/emmc.c:155,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/emmc.c:157,1
    - Dst: g_fopen
      Src: /src/rauc/src/emmc.c:158,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:161,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/emmc.c:161,1
    - Dst: g_strerror
      Src: /src/rauc/src/emmc.c:163,1
    - Dst: fwrite
      Src: /src/rauc/src/emmc.c:167,1
    - Dst: g_set_error
      Src: /src/rauc/src/emmc.c:168,1
    - Dst: fclose
      Src: /src/rauc/src/emmc.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - device
    - value
    - error
    argTypes:
    - gchar*
    - gchar
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 180
    functionName: r_emmc_force_part_write
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - fclose
    - g_path_get_basename
    - g_fopen
    - fwrite
    - g_file_error_from_errno
    - g_strdup_printf
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_emmc_force_part_write(const gchar *device, gchar value,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_emmc_force_part_write
      Src: /src/rauc/src/emmc.c:187,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/emmc.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - device
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: r_emmc_force_part_ro
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 1
    functionsReached:
    - g_propagate_prefixed_error
    - r_emmc_force_part_write
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_emmc_force_part_ro(const gchar *device, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_emmc_force_part_write
      Src: /src/rauc/src/emmc.c:200,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/emmc.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - device
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: r_emmc_force_part_rw
    functionSourceFile: /src/rauc/src/emmc.c
    functionUses: 1
    functionsReached:
    - g_propagate_prefixed_error
    - r_emmc_force_part_write
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_emmc_force_part_rw(const gchar *device, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_strv_contains
      Src: /src/rauc/src/event_log.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: r_event_log_is_supported_type
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 1
    functionsReached:
    - g_strv_contains
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_event_log_is_supported_type(const gchar *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - log_level
    argTypes:
    - GLogLevelFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: r_event_log_level_to_priority
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: gchar * r_event_log_level_to_priority(GLogLevelFlags log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_if_fail
      Src: /src/rauc/src/event_log.c:51,1
    - Dst: va_start
      Src: /src/rauc/src/event_log.c:53,1
    - Dst: g_strdup_vprintf
      Src: /src/rauc/src/event_log.c:54,1
    - Dst: va_end
      Src: /src/rauc/src/event_log.c:55,1
    - Dst: g_log_structured
      Src: /src/rauc/src/event_log.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type
    - message
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: r_event_log_message
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 5
    functionsReached:
    - g_log_structured
    - g_strdup_vprintf
    - va_end
    - va_start
    - g_return_if_fail
    linkageType: ''
    returnType: void
    signature: void r_event_log_message(const gchar *type, const gchar *message, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_clear_pointer
      Src: /src/rauc/src/event_log.c:67,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/event_log.c:68,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/event_log.c:69,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/event_log.c:70,1
    - Dst: g_free
      Src: /src/rauc/src/event_log.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - logger
    argTypes:
    - REventLogger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: r_event_log_free_logger
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - g_clear_pointer
    - g_free
    linkageType: ''
    returnType: void
    signature: void r_event_log_free_logger(REventLogger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:114,1
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:116,1
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:117,1
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:118,1
    - Dst: json_builder_new
      Src: /src/rauc/src/event_log.c:118,1
    - Dst: g_date_time_new_now_utc
      Src: /src/rauc/src/event_log.c:120,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/event_log.c:121,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/src/event_log.c:123,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/event_log.c:124,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/event_log.c:125,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/src/event_log.c:129,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/src/event_log.c:130,1
    - Dst: json_builder_end_object
      Src: /src/rauc/src/event_log.c:132,1
    - Dst: json_generator_new
      Src: /src/rauc/src/event_log.c:134,1
    - Dst: json_builder_get_root
      Src: /src/rauc/src/event_log.c:135,1
    - Dst: json_generator_set_root
      Src: /src/rauc/src/event_log.c:136,1
    - Dst: json_generator_set_pretty
      Src: /src/rauc/src/event_log.c:137,1
    - Dst: json_generator_to_data
      Src: /src/rauc/src/event_log.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - pretty
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: event_log_format_fields_json
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - json_builder_begin_object
    - json_generator_to_data
    - json_generator_new
    - g_date_time_new_now_utc
    - json_builder_set_member_name
    - json_builder_add_string_value
    - g_date_time_format
    - json_builder_new
    - json_builder_get_root
    - json_generator_set_root
    - json_builder_end_object
    - json_generator_set_pretty
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: "gchar *event_log_format_fields_json(GLogLevelFlags log_level,\n\t\tconst
      GLogField *fields, gsize n_fields, gboolean pretty)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:165,1
    - Dst: g_string_new
      Src: /src/rauc/src/event_log.c:169,1
    - Dst: g_date_time_new_now_utc
      Src: /src/rauc/src/event_log.c:170,1
    - Dst: g_date_time_format
      Src: /src/rauc/src/event_log.c:171,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/event_log.c:172,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:179,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/event_log.c:181,1
    - Dst: g_string_free
      Src: /src/rauc/src/event_log.c:188,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:196,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:199,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:202,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:205,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:208,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:211,1
    - Dst: g_string_append_printf
      Src: /src/rauc/src/event_log.c:217,1
    - Dst: g_string_free
      Src: /src/rauc/src/event_log.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - verbose
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 222
    functionName: event_log_format_fields_readable
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - g_date_time_new_now_utc
    - g_date_time_format
    - g_strcmp0
    - g_string_free
    - g_string_append_printf
    - g_string_new
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: "gchar *event_log_format_fields_readable(GLogLevelFlags log_level,\n\t\tconst
      GLogField *fields, gsize n_fields, gboolean verbose)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:244,1
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:246,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/event_log.c:248,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/event_log.c:249,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/event_log.c:260,1
    - Dst: g_assert
      Src: /src/rauc/src/event_log.c:265,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/event_log.c:267,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/event_log.c:268,1
    - Dst: g_rename
      Src: /src/rauc/src/event_log.c:271,1
    - Dst: g_set_error
      Src: /src/rauc/src/event_log.c:277,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/event_log.c:277,1
    - Dst: g_strerror
      Src: /src/rauc/src/event_log.c:277,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/event_log.c:284,1
    - Dst: g_rename
      Src: /src/rauc/src/event_log.c:285,1
    - Dst: g_set_error
      Src: /src/rauc/src/event_log.c:287,1
    - Dst: g_file_error_from_errno
      Src: /src/rauc/src/event_log.c:287,1
    - Dst: g_strerror
      Src: /src/rauc/src/event_log.c:287,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/event_log.c:292,1
    - Dst: g_file_append_to
      Src: /src/rauc/src/event_log.c:293,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/event_log.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - logger
    - next_len
    - error
    argTypes:
    - REventLogger*
    - goffset
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 301
    functionName: rotate_logfiles
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - g_strerror
    - g_propagate_prefixed_error
    - g_assert
    - g_rename
    - g_file_append_to
    - g_clear_pointer
    - g_file_error_from_errno
    - g_file_new_for_path
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean rotate_logfiles(REventLogger* logger, goffset next_len, GError
      **error)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:305,1
    - Dst: g_error
      Src: /src/rauc/src/event_log.c:314,1
    - Dst: event_log_format_fields_readable
      Src: /src/rauc/src/event_log.c:318,1
    - Dst: event_log_format_fields_readable
      Src: /src/rauc/src/event_log.c:321,1
    - Dst: event_log_format_fields_json
      Src: /src/rauc/src/event_log.c:325,1
    - Dst: g_error
      Src: /src/rauc/src/event_log.c:327,1
    - Dst: event_log_format_fields_json
      Src: /src/rauc/src/event_log.c:332,1
    - Dst: g_error
      Src: /src/rauc/src/event_log.c:334,1
    - Dst: g_error
      Src: /src/rauc/src/event_log.c:338,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/event_log.c:340,1
    - Dst: rotate_logfiles
      Src: /src/rauc/src/event_log.c:343,1
    - Dst: strlen
      Src: /src/rauc/src/event_log.c:343,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:344,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:345,1
    - Dst: g_output_stream_write_all
      Src: /src/rauc/src/event_log.c:350,1
    - Dst: G_OUTPUT_STREAM
      Src: /src/rauc/src/event_log.c:350,1
    - Dst: strlen
      Src: /src/rauc/src/event_log.c:350,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:351,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - logger
    - fields
    - n_fields
    argTypes:
    - REventLogger*
    - GLogField*
    - gsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 358
    functionName: event_log_writer_file
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - event_log_format_fields_readable
    - event_log_format_fields_json
    - g_output_stream_write_all
    - g_error
    - rotate_logfiles
    - g_strdup_printf
    - G_OUTPUT_STREAM
    - strlen
    - g_warning
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void event_log_writer_file(REventLogger* logger, const GLogField *fields,
      gsize n_fields)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_log_writer_default
      Src: /src/rauc/src/event_log.c:366,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:370,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:377,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:383,1
    - Dst: r_context
      Src: /src/rauc/src/event_log.c:390,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/event_log.c:397,1
    - Dst: g_strv_contains
      Src: /src/rauc/src/event_log.c:398,1
    - Dst: REventLogger*::writer
      Src: /src/rauc/src/event_log.c:402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 406
    functionName: r_event_log_writer
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 0
    functionsReached:
    - g_log_writer_default
    - r_context
    - g_strv_contains
    - g_strcmp0
    - REventLogger*::writer
    linkageType: ''
    returnType: GLogWriterOutput
    signature: GLogWriterOutput r_event_log_writer(GLogLevelFlags log_level, const
      GLogField *fields, gsize n_fields, gpointer user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:410,1
    - Dst: g_autoptr
      Src: /src/rauc/src/event_log.c:411,1
    - Dst: g_return_if_fail
      Src: /src/rauc/src/event_log.c:413,1
    - Dst: g_message
      Src: /src/rauc/src/event_log.c:416,1
    - Dst: g_info
      Src: /src/rauc/src/event_log.c:420,1
    - Dst: g_file_new_for_path
      Src: /src/rauc/src/event_log.c:424,1
    - Dst: g_file_append_to
      Src: /src/rauc/src/event_log.c:425,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:427,1
    - Dst: g_warning
      Src: /src/rauc/src/event_log.c:428,1
    - Dst: g_seekable_tell
      Src: /src/rauc/src/event_log.c:433,1
    - Dst: G_SEEKABLE
      Src: /src/rauc/src/event_log.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - logger
    argTypes:
    - REventLogger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 438
    functionName: r_event_log_setup_logger
    functionSourceFile: /src/rauc/src/event_log.c
    functionUses: 11
    functionsReached:
    - g_warning
    - g_seekable_tell
    - g_file_append_to
    - g_message
    - g_file_new_for_path
    - g_info
    - g_return_if_fail
    - G_SEEKABLE
    - g_autoptr
    linkageType: ''
    returnType: void
    signature: void r_event_log_setup_logger(REventLogger *logger)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:10,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:11,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:13,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:19,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:20,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:21,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/grub.c:23,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:24,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:24,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/grub.c:25,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:26,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:26,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/grub.c:26,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:28,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:28,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:29,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/bootloaders/grub.c:31,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/grub.c:33,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/src/bootloaders/grub.c:40,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/grub.c:41,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/rauc/src/bootloaders/grub.c:48,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/grub.c:49,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/rauc/src/bootloaders/grub.c:57,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/grub.c:59,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/src/bootloaders/grub.c:68,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:70,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/grub.c:71,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/grub.c:71,1
    - Dst: g_str_has_prefix
      Src: /src/rauc/src/bootloaders/grub.c:73,1
    - Dst: strlen
      Src: /src/rauc/src/bootloaders/grub.c:77,1
    - Dst: strlen
      Src: /src/rauc/src/bootloaders/grub.c:78,1
    - Dst: g_string_new_len
      Src: /src/rauc/src/bootloaders/grub.c:79,1
    - Dst: g_strchomp
      Src: /src/rauc/src/bootloaders/grub.c:80,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/grub.c:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - key
    - value
    - error
    argTypes:
    - gchar*
    - GString**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 8
    functionDepth: 7
    functionLinenumber: 8
    functionLinenumberEnd: 92
    functionName: grub_env_get
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 0
    functionsReached:
    - g_set_error_literal
    - g_ptr_array_add
    - r_context
    - g_subprocess_get_if_exited
    - g_propagate_prefixed_error
    - g_strdup
    - g_strdup_printf
    - g_subprocess_communicate
    - g_autoptr
    - g_str_has_prefix
    - g_auto
    - g_strchomp
    - g_ptr_array_new_full
    - r_bytes_unref_to_string
    - g_subprocess_get_exit_status
    - g_string_new_len
    - g_strsplit
    - g_set_error
    - r_subprocess_newv
    - strlen
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean grub_env_get(const gchar *key, GString **value, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:96,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:100,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:101,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/src/bootloaders/grub.c:103,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bootloaders/grub.c:104,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/grub.c:104,1
    - Dst: g_ptr_array_insert
      Src: /src/rauc/src/bootloaders/grub.c:106,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:106,1
    - Dst: g_ptr_array_insert
      Src: /src/rauc/src/bootloaders/grub.c:107,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:107,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/grub.c:107,1
    - Dst: g_ptr_array_insert
      Src: /src/rauc/src/bootloaders/grub.c:108,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/grub.c:108,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:109,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/bootloaders/grub.c:111,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/grub.c:113,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/grub.c:120,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/grub.c:122,1
    - Dst: g_ptr_array_remove_index
      Src: /src/rauc/src/bootloaders/grub.c:130,1
    - Dst: g_ptr_array_remove_index
      Src: /src/rauc/src/bootloaders/grub.c:131,1
    - Dst: g_ptr_array_remove_index
      Src: /src/rauc/src/bootloaders/grub.c:132,1
    - Dst: g_ptr_array_remove_index
      Src: /src/rauc/src/bootloaders/grub.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pairs
    - error
    argTypes:
    - GPtrArray*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 7
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: grub_env_set
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_assert_cmpuint
    - g_ptr_array_add
    - r_context
    - g_strdup
    - g_ptr_array_insert
    - g_ptr_array_remove_index
    - g_assert_nonnull
    - g_autoptr
    - r_subprocess_newv
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean grub_env_set(GPtrArray *pairs, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:141,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:142,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:143,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/grub.c:144,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:149,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:150,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:151,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:152,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:154,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:155,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/grub.c:160,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/grub.c:162,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:173,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:174,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:175,1
    - Dst: g_free
      Src: /src/rauc/src/bootloaders/grub.c:178,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:179,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:180,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:181,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/grub.c:184,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/grub.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 139
    functionDepth: 8
    functionLinenumber: 139
    functionLinenumberEnd: 187
    functionName: r_grub_get_state
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 1
    functionsReached:
    - g_ascii_strtoull
    - grub_env_get
    - g_auto
    - g_strsplit
    - g_strcmp0
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_grub_get_state(RaucSlot *slot, gboolean *good, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:192,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/grub.c:192,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:195,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:196,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:197,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:200,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:200,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:201,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:201,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:203,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:203,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:204,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:204,1
    - Dst: grub_env_set
      Src: /src/rauc/src/bootloaders/grub.c:207,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: r_grub_set_state
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 1
    functionsReached:
    - grub_env_set
    - g_ptr_array_add
    - g_ptr_array_new_full
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_grub_set_state(RaucSlot *slot, gboolean good, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:218,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/grub.c:219,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:225,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:227,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:228,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/grub.c:233,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/grub.c:242,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/grub.c:245,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/grub.c:245,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/grub.c:246,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:248,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:249,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/grub.c:251,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:256,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:257,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:258,1
    - Dst: g_free
      Src: /src/rauc/src/bootloaders/grub.c:261,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:262,1
    - Dst: grub_env_get
      Src: /src/rauc/src/bootloaders/grub.c:263,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:264,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/grub.c:268,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/grub.c:268,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/grub.c:282,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 216
    functionDepth: 8
    functionLinenumber: 216
    functionLinenumberEnd: 290
    functionName: r_grub_get_primary
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 1
    functionsReached:
    - g_ascii_strtoull
    - grub_env_get
    - g_auto
    - g_set_error_literal
    - g_hash_table_iter_init
    - g_strsplit
    - r_context
    - g_strcmp0
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_set_error
    - g_hash_table_iter_next
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_grub_get_primary(GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:295,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/grub.c:295,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/grub.c:296,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:299,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/grub.c:300,1
    - Dst: r_bootchooser_order_primary
      Src: /src/rauc/src/bootloaders/grub.c:302,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:304,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:304,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:305,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:305,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/grub.c:306,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/grub.c:306,1
    - Dst: grub_env_set
      Src: /src/rauc/src/bootloaders/grub.c:308,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/grub.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 8
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: r_grub_set_primary
    functionSourceFile: /src/rauc/src/bootloaders/grub.c
    functionUses: 1
    functionsReached:
    - grub_env_set
    - g_ptr_array_add
    - g_ptr_array_new_full
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - r_bootchooser_order_primary
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_grub_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:23,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:24,1
    - Dst: r_regex_match_simple
      Src: /src/rauc/src/bootloaders/barebox.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cmdline
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: r_barebox_get_current_bootname
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 1
    functionsReached:
    - r_regex_match_simple
    - g_return_val_if_fail
    linkageType: ''
    returnType: gchar
    signature: gchar *r_barebox_get_current_bootname(const gchar *cmdline, GError
      **error)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:33,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:36,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/barebox.c:36,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:38,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:39,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:40,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:42,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:42,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:43,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:44,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:44,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:45,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:45,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:45,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:47,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:47,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:48,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:48,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:49,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:49,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:50,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:50,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:51,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:52,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:52,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:53,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:53,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:53,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:55,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/bootloaders/barebox.c:57,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/barebox.c:59,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:66,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/src/bootloaders/barebox.c:67,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/barebox.c:68,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/rauc/src/bootloaders/barebox.c:75,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/barebox.c:76,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/rauc/src/bootloaders/barebox.c:84,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/barebox.c:86,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/src/bootloaders/barebox.c:94,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/barebox.c:95,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/barebox.c:95,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/barebox.c:102,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/barebox.c:108,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/barebox.c:116,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/barebox.c:118,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/barebox.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 3
    argNames:
    - bootname
    - bb_state
    - error
    argTypes:
    - gchar*
    - BareboxSlotState*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 31
    functionDepth: 7
    functionLinenumber: 31
    functionLinenumberEnd: 138
    functionName: barebox_state_get
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_ascii_strtoull
    - g_auto
    - g_propagate_prefixed_error
    - g_set_error_literal
    - g_ptr_array_add
    - g_strdup
    - r_context
    - g_ptr_array_new_full
    - r_bytes_unref_to_string
    - g_subprocess_get_if_exited
    - g_subprocess_communicate
    - g_subprocess_get_exit_status
    - g_strsplit
    - g_strdup_printf
    - g_autoptr
    - r_subprocess_newv
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean barebox_state_get(const gchar *bootname, BareboxSlotState
      *bb_state, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:143,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:145,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/barebox.c:145,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:147,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:148,1
    - Dst: g_assert_cmpuint
      Src: /src/rauc/src/bootloaders/barebox.c:150,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:152,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:152,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:153,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:154,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:154,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:155,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:155,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:155,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:158,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:158,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:159,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:159,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:161,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:162,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:162,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:163,1
    - Dst: g_strdup
      Src: /src/rauc/src/bootloaders/barebox.c:163,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:163,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:165,1
    - Dst: r_subprocess_newv
      Src: /src/rauc/src/bootloaders/barebox.c:167,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/barebox.c:169,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/barebox.c:176,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/barebox.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pairs
    - error
    argTypes:
    - GPtrArray*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 185
    functionName: barebox_state_set
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - g_assert_cmpuint
    - g_ptr_array_add
    - g_strdup
    - r_context
    - g_ptr_array_new_full
    - g_autoptr
    - r_subprocess_newv
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean barebox_state_set(GPtrArray *pairs, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:191,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/barebox.c:191,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:194,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:195,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:198,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:204,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:204,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:208,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:208,1
    - Dst: barebox_state_set
      Src: /src/rauc/src/bootloaders/barebox.c:211,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/barebox.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 8
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: r_barebox_set_state
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_add
    - r_context
    - barebox_state_set
    - g_ptr_array_new_full
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_barebox_set_state(RaucSlot *slot, gboolean good, GError
      **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/barebox.c:228,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:228,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/barebox.c:229,1
    - Dst: barebox_state_get
      Src: /src/rauc/src/bootloaders/barebox.c:235,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/barebox.c:236,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/barebox.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 8
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: r_barebox_get_primary
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 1
    functionsReached:
    - g_set_error_literal
    - g_hash_table_iter_init
    - r_context
    - barebox_state_get
    - g_propagate_error
    - g_hash_table_iter_next
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_barebox_get_primary(GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: barebox_state_get
      Src: /src/rauc/src/bootloaders/barebox.c:268,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/barebox.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 8
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: r_barebox_get_state
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 1
    functionsReached:
    - barebox_state_get
    - g_propagate_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_barebox_get_state(RaucSlot *slot, gboolean *good, GError
      **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:284,1
    - Dst: g_ptr_array_new_full
      Src: /src/rauc/src/bootloaders/barebox.c:284,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/barebox.c:286,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:289,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/barebox.c:290,1
    - Dst: g_hash_table_get_values
      Src: /src/rauc/src/bootloaders/barebox.c:293,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:293,1
    - Dst: barebox_state_get
      Src: /src/rauc/src/bootloaders/barebox.c:302,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/barebox.c:303,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:315,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:315,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/barebox.c:319,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/barebox.c:323,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/barebox.c:323,1
    - Dst: barebox_state_set
      Src: /src/rauc/src/bootloaders/barebox.c:326,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/barebox.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 282
    functionDepth: 8
    functionLinenumber: 282
    functionLinenumberEnd: 332
    functionName: r_barebox_set_primary
    functionSourceFile: /src/rauc/src/bootloaders/barebox.c
    functionUses: 1
    functionsReached:
    - g_ptr_array_add
    - r_context
    - barebox_state_set
    - g_ptr_array_new_full
    - barebox_state_get
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_hash_table_get_values
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_barebox_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:18,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:20,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/custom.c:22,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:24,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:25,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:26,1
    - Dst: g_subprocess_new
      Src: /src/rauc/src/bootloaders/custom.c:29,1
    - Dst: g_subprocess_new
      Src: /src/rauc/src/bootloaders/custom.c:31,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:34,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/src/bootloaders/custom.c:41,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:42,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/rauc/src/bootloaders/custom.c:49,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/custom.c:50,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/rauc/src/bootloaders/custom.c:58,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/custom.c:60,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/src/bootloaders/custom.c:68,1
    - Dst: g_strstrip
      Src: /src/rauc/src/bootloaders/custom.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - cmd
    - bootname
    - ret_str
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 16
    functionDepth: 7
    functionLinenumber: 16
    functionLinenumberEnd: 74
    functionName: custom_backend_get
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_context
    - g_subprocess_new
    - r_bytes_unref_to_string
    - g_subprocess_get_if_exited
    - g_subprocess_communicate
    - g_subprocess_get_exit_status
    - g_strstrip
    - g_autoptr
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean custom_backend_get(const gchar *cmd, const gchar *bootname,
      gchar **ret_str, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:88,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/custom.c:90,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:92,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:93,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:94,1
    - Dst: g_subprocess_new
      Src: /src/rauc/src/bootloaders/custom.c:97,1
    - Dst: g_subprocess_new
      Src: /src/rauc/src/bootloaders/custom.c:99,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:102,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/custom.c:109,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - cmd
    - bootname
    - arg
    - error
    argTypes:
    - gchar*
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 7
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: custom_backend_set
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_context
    - g_subprocess_new
    - g_autoptr
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean custom_backend_set(const gchar *cmd, const gchar *bootname,
      const gchar *arg, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:123,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:124,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:125,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/custom.c:126,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/bootloaders/custom.c:132,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/custom.c:133,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/custom.c:134,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/custom.c:135,1
    - Dst: g_subprocess_launcher_new
      Src: /src/rauc/src/bootloaders/custom.c:137,1
    - Dst: r_subprocess_launcher_spawnv
      Src: /src/rauc/src/bootloaders/custom.c:138,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:140,1
    - Dst: g_subprocess_get_stdout_pipe
      Src: /src/rauc/src/bootloaders/custom.c:148,1
    - Dst: g_data_input_stream_new
      Src: /src/rauc/src/bootloaders/custom.c:149,1
    - Dst: g_data_input_stream_read_line
      Src: /src/rauc/src/bootloaders/custom.c:150,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:152,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/custom.c:160,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/custom.c:162,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/custom.c:170,1
    - Dst: g_debug
      Src: /src/rauc/src/bootloaders/custom.c:179,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bootloaders/custom.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - config
    - error
    argTypes:
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 182
    functionName: r_custom_get_current_bootname
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 1
    functionsReached:
    - g_data_input_stream_new
    - g_ptr_array_new
    - g_propagate_prefixed_error
    - g_subprocess_launcher_new
    - g_subprocess_get_stdout_pipe
    - g_ptr_array_add
    - g_debug
    - g_data_input_stream_read_line
    - g_steal_pointer
    - g_set_error
    - g_subprocess_wait_check
    - r_subprocess_launcher_spawnv
    - g_autoptr
    linkageType: ''
    returnType: gchar
    signature: gchar *r_custom_get_current_bootname(RaucConfig *config, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:187,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:188,1
    - Dst: custom_backend_set
      Src: /src/rauc/src/bootloaders/custom.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: r_custom_set_state
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 1
    functionsReached:
    - custom_backend_set
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_custom_set_state(RaucSlot *slot, gboolean good, GError **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:202,1
    - Dst: custom_backend_get
      Src: /src/rauc/src/bootloaders/custom.c:204,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/custom.c:205,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/custom.c:210,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/custom.c:210,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/custom.c:211,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/custom.c:215,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/custom.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 8
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: r_custom_get_primary
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 1
    functionsReached:
    - custom_backend_get
    - g_hash_table_iter_init
    - r_context
    - g_strcmp0
    - g_propagate_error
    - g_hash_table_iter_next
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_custom_get_primary(GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:238,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:239,1
    - Dst: custom_backend_get
      Src: /src/rauc/src/bootloaders/custom.c:241,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/custom.c:242,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/custom.c:246,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/custom.c:248,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/custom.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 233
    functionDepth: 8
    functionLinenumber: 233
    functionLinenumberEnd: 260
    functionName: r_custom_get_state
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 1
    functionsReached:
    - custom_backend_get
    - g_strcmp0
    - g_propagate_error
    - g_set_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_custom_get_state(RaucSlot *slot, gboolean *good, GError
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:265,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/custom.c:266,1
    - Dst: custom_backend_set
      Src: /src/rauc/src/bootloaders/custom.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 8
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: r_custom_set_primary
    functionSourceFile: /src/rauc/src/bootloaders/custom.c
    functionUses: 1
    functionsReached:
    - custom_backend_set
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_custom_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/rauc/src/bootloaders/efi.c:19,1
    - Dst: g_free
      Src: /src/rauc/src/bootloaders/efi.c:20,1
    - Dst: g_free
      Src: /src/rauc/src/bootloaders/efi.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - efi_bootentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: efi_bootentry_free
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_free
    linkageType: ''
    returnType: void
    signature: void efi_bootentry_free(efi_bootentry *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:30,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:31,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:32,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:33,1
    - Dst: r_realpath
      Src: /src/rauc/src/bootloaders/efi.c:35,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:37,1
    - Dst: g_path_get_basename
      Src: /src/rauc/src/bootloaders/efi.c:46,1
    - Dst: g_build_filename
      Src: /src/rauc/src/bootloaders/efi.c:48,1
    - Dst: g_file_get_contents
      Src: /src/rauc/src/bootloaders/efi.c:50,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:51,1
    - Dst: g_strchomp
      Src: /src/rauc/src/bootloaders/efi.c:56,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:58,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/efi.c:58,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:71,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/efi.c:78,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:79,1
    - Dst: g_debug
      Src: /src/rauc/src/bootloaders/efi.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 89
    functionName: efi_bootentry_create
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_path_get_basename
    - g_strchomp
    - g_propagate_prefixed_error
    - g_subprocess_wait_check
    - g_propagate_error
    - r_subprocess_new
    - g_debug
    - g_build_filename
    - g_autoptr
    - g_set_error
    - r_realpath
    - g_file_get_contents
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_bootentry_create(RaucSlot *slot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:95,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:96,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:98,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/efi.c:98,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:107,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/efi.c:114,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - order
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: efi_bootorder_set
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_subprocess_new
    - g_return_val_if_fail
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_bootorder_set(gchar *order, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:129,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:130,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:132,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/efi.c:132,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:141,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/efi.c:148,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bootnumber
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: efi_set_bootnext
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_subprocess_new
    - g_return_val_if_fail
    - g_subprocess_wait_check
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_set_bootnext(gchar *bootnumber, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:161,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:162,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - entries
    - bootnum
    argTypes:
    - GList*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: get_efi_entry_by_bootnum
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    linkageType: ''
    returnType: efi_bootentry
    signature: efi_bootentry *get_efi_entry_by_bootnum(GList *entries, const gchar
      *bootnum)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:195,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:196,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:197,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:198,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:199,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:201,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/efi.c:201,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:207,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:214,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/src/bootloaders/efi.c:215,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:216,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/rauc/src/bootloaders/efi.c:223,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/efi.c:224,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/rauc/src/bootloaders/efi.c:232,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:234,1
    - Dst: r_bytes_unref_to_string
      Src: /src/rauc/src/bootloaders/efi.c:242,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:245,1
    - Dst: g_regex_new
      Src: /src/rauc/src/bootloaders/efi.c:245,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:246,1
    - Dst: g_regex_match
      Src: /src/rauc/src/bootloaders/efi.c:247,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:248,1
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:256,1
    - Dst: g_match_info_matches
      Src: /src/rauc/src/bootloaders/efi.c:257,1
    - Dst: g_new0
      Src: /src/rauc/src/bootloaders/efi.c:259,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/bootloaders/efi.c:260,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/bootloaders/efi.c:261,1
    - Dst: strchr
      Src: /src/rauc/src/bootloaders/efi.c:265,1
    - Dst: g_list_append
      Src: /src/rauc/src/bootloaders/efi.c:269,1
    - Dst: g_match_info_next
      Src: /src/rauc/src/bootloaders/efi.c:270,1
    - Dst: g_debug
      Src: /src/rauc/src/bootloaders/efi.c:271,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:274,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:275,1
    - Dst: g_regex_new
      Src: /src/rauc/src/bootloaders/efi.c:278,1
    - Dst: g_regex_match
      Src: /src/rauc/src/bootloaders/efi.c:280,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:282,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/bootloaders/efi.c:283,1
    - Dst: get_efi_entry_by_bootnum
      Src: /src/rauc/src/bootloaders/efi.c:284,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:288,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:289,1
    - Dst: g_regex_new
      Src: /src/rauc/src/bootloaders/efi.c:292,1
    - Dst: g_regex_match
      Src: /src/rauc/src/bootloaders/efi.c:293,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:294,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:302,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/bootloaders/efi.c:303,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/efi.c:304,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/efi.c:304,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:307,1
    - Dst: get_efi_entry_by_bootnum
      Src: /src/rauc/src/bootloaders/efi.c:309,1
    - Dst: g_list_append
      Src: /src/rauc/src/bootloaders/efi.c:311,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:314,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:315,1
    - Dst: g_regex_new
      Src: /src/rauc/src/bootloaders/efi.c:318,1
    - Dst: g_regex_match
      Src: /src/rauc/src/bootloaders/efi.c:319,1
    - Dst: g_clear_pointer
      Src: /src/rauc/src/bootloaders/efi.c:321,1
    - Dst: g_match_info_fetch
      Src: /src/rauc/src/bootloaders/efi.c:322,1
    - Dst: get_efi_entry_by_bootnum
      Src: /src/rauc/src/bootloaders/efi.c:323,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bootloaders/efi.c:328,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bootloaders/efi.c:329,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 5
    argNames:
    - bootorder_entries
    - all_entries
    - bootnext
    - bootcurrent
    - error
    argTypes:
    - GList**
    - GList**
    - efi_bootentry**
    - efi_bootentry**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 332
    functionName: efi_bootorder_get
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - g_set_error_literal
    - g_autolist
    - r_subprocess_new
    - g_subprocess_get_if_exited
    - g_clear_pointer
    - g_match_info_matches
    - g_steal_pointer
    - get_efi_entry_by_bootnum
    - g_propagate_prefixed_error
    - g_list_append
    - g_debug
    - g_subprocess_communicate
    - g_match_info_next
    - g_autoptr
    - g_auto
    - r_bytes_unref_to_string
    - g_subprocess_get_exit_status
    - g_new0
    - g_strsplit
    - g_set_error
    - g_match_info_fetch
    - g_return_val_if_fail
    - g_regex_new
    - g_regex_match
    - strchr
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_bootorder_get(GList **bootorder_entries, GList **all_entries,
      efi_bootentry **bootnext, efi_bootentry **bootcurrent, GError **error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:349,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:350,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:351,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:352,1
    - Dst: efi_bootorder_get
      Src: /src/rauc/src/bootloaders/efi.c:354,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:355,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:362,1
    - Dst: g_debug
      Src: /src/rauc/src/bootloaders/efi.c:364,1
    - Dst: g_list_free_full
      Src: /src/rauc/src/bootloaders/efi.c:371,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bootloaders/efi.c:371,1
    - Dst: g_list_free
      Src: /src/rauc/src/bootloaders/efi.c:373,1
    - Dst: g_steal_pointer
      Src: /src/rauc/src/bootloaders/efi.c:373,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:377,1
    - Dst: efi_bootentry_create
      Src: /src/rauc/src/bootloaders/efi.c:387,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:388,1
    - Dst: efi_bootorder_get
      Src: /src/rauc/src/bootloaders/efi.c:393,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:394,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - slot
    - bootorder_entries
    - all_entries
    - error
    argTypes:
    - RaucSlot*
    - GList**
    - GList**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 399
    functionName: efi_bootorder_prepare
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - efi_bootentry_create
    - g_list_free
    - g_strcmp0
    - efi_bootorder_get
    - g_debug
    - g_list_free_full
    - g_propagate_error
    - g_set_error
    - g_steal_pointer
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_bootorder_prepare(RaucSlot *slot, GList **bootorder_entries,
      GList **all_entries, GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:405,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:406,1
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:408,1
    - Dst: efi_bootorder_prepare
      Src: /src/rauc/src/bootloaders/efi.c:409,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:410,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:418,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bootloaders/efi.c:425,1
    - Dst: efi_set_bootnext
      Src: /src/rauc/src/bootloaders/efi.c:427,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 433
    functionName: efi_set_temp_primary
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - efi_set_bootnext
    - g_propagate_prefixed_error
    - g_autolist
    - g_strcmp0
    - efi_bootorder_prepare
    - g_assert_nonnull
    - g_propagate_error
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_set_temp_primary(RaucSlot *slot, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:441,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:442,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:444,1
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:445,1
    - Dst: efi_bootorder_prepare
      Src: /src/rauc/src/bootloaders/efi.c:446,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:447,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:454,1
    - Dst: g_list_remove
      Src: /src/rauc/src/bootloaders/efi.c:455,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:465,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/src/bootloaders/efi.c:472,1
    - Dst: g_list_prepend
      Src: /src/rauc/src/bootloaders/efi.c:474,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:478,1
    - Dst: g_ptr_array_sized_new
      Src: /src/rauc/src/bootloaders/efi.c:478,1
    - Dst: g_list_length
      Src: /src/rauc/src/bootloaders/efi.c:478,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/efi.c:481,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/efi.c:483,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/bootloaders/efi.c:485,1
    - Dst: efi_bootorder_set
      Src: /src/rauc/src/bootloaders/efi.c:487,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/efi.c:488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - slot
    - prepend
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 437
    functionDepth: 4
    functionLinenumber: 437
    functionLinenumberEnd: 493
    functionName: efi_modify_persistent_bootorder
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 0
    functionsReached:
    - efi_bootorder_set
    - g_propagate_prefixed_error
    - g_ptr_array_add
    - g_autolist
    - g_list_remove
    - g_strcmp0
    - efi_bootorder_prepare
    - g_list_prepend
    - g_assert_nonnull
    - g_propagate_error
    - g_list_length
    - g_ptr_array_sized_new
    - g_return_val_if_fail
    - g_strjoinv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean efi_modify_persistent_bootorder(RaucSlot *slot, gboolean prepend,
      GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:499,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:500,1
    - Dst: efi_modify_persistent_bootorder
      Src: /src/rauc/src/bootloaders/efi.c:502,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 508
    functionName: r_efi_set_state
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 1
    functionsReached:
    - g_propagate_error
    - efi_modify_persistent_bootorder
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_efi_set_state(RaucSlot *slot, gboolean good, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:514,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:516,1
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:517,1
    - Dst: efi_bootorder_get
      Src: /src/rauc/src/bootloaders/efi.c:519,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:520,1
    - Dst: g_debug
      Src: /src/rauc/src/bootloaders/efi.c:526,1
    - Dst: g_list_prepend
      Src: /src/rauc/src/bootloaders/efi.c:527,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/efi.c:536,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/efi.c:536,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/efi.c:538,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:539,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 510
    functionDepth: 7
    functionLinenumber: 510
    functionLinenumberEnd: 559
    functionName: r_efi_get_primary
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 1
    functionsReached:
    - g_set_error
    - g_hash_table_iter_init
    - r_context
    - g_autolist
    - g_strcmp0
    - efi_bootorder_get
    - g_debug
    - g_list_prepend
    - g_propagate_error
    - g_hash_table_iter_next
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_efi_get_primary(GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:565,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:566,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/efi.c:568,1
    - Dst: efi_set_temp_primary
      Src: /src/rauc/src/bootloaders/efi.c:569,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:570,1
    - Dst: efi_modify_persistent_bootorder
      Src: /src/rauc/src/bootloaders/efi.c:577,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 561
    functionDepth: 7
    functionLinenumber: 561
    functionLinenumberEnd: 583
    functionName: r_efi_set_primary
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 1
    functionsReached:
    - r_context
    - efi_modify_persistent_bootorder
    - g_propagate_error
    - efi_set_temp_primary
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_efi_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:591,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:592,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/efi.c:593,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/efi.c:595,1
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:596,1
    - Dst: efi_bootorder_get
      Src: /src/rauc/src/bootloaders/efi.c:597,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:598,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 615
    functionName: r_efi_get_state
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 1
    functionsReached:
    - g_autolist
    - g_strcmp0
    - efi_bootorder_get
    - g_propagate_error
    - g_return_val_if_fail
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_efi_get_state(RaucSlot *slot, gboolean *good, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autolist
      Src: /src/rauc/src/bootloaders/efi.c:621,1
    - Dst: efi_bootorder_get
      Src: /src/rauc/src/bootloaders/efi.c:623,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/efi.c:624,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/efi.c:629,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/efi.c:631,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/efi.c:632,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/efi.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - config
    - error
    argTypes:
    - RaucConfig*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 643
    functionName: r_efi_get_current_bootname
    functionSourceFile: /src/rauc/src/bootloaders/efi.c
    functionUses: 1
    functionsReached:
    - g_hash_table_iter_init
    - g_autolist
    - g_strcmp0
    - efi_bootorder_get
    - g_propagate_error
    - g_hash_table_iter_next
    - g_set_error
    linkageType: ''
    returnType: gchar
    signature: gchar *r_efi_get_current_bootname(RaucConfig *config, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:13,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:15,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:21,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:22,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:23,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/uboot.c:25,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/uboot.c:28,1
    - Dst: g_subprocess_communicate
      Src: /src/rauc/src/bootloaders/uboot.c:35,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/uboot.c:36,1
    - Dst: g_subprocess_get_if_exited
      Src: /src/rauc/src/bootloaders/uboot.c:43,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/uboot.c:44,1
    - Dst: g_subprocess_get_exit_status
      Src: /src/rauc/src/bootloaders/uboot.c:52,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/uboot.c:54,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:66,1
    - Dst: strlen
      Src: /src/rauc/src/bootloaders/uboot.c:67,1
    - Dst: g_bytes_get_data
      Src: /src/rauc/src/bootloaders/uboot.c:68,1
    - Dst: memcmp
      Src: /src/rauc/src/bootloaders/uboot.c:69,1
    - Dst: g_set_error
      Src: /src/rauc/src/bootloaders/uboot.c:70,1
    - Dst: g_string_new_len
      Src: /src/rauc/src/bootloaders/uboot.c:77,1
    - Dst: g_strchomp
      Src: /src/rauc/src/bootloaders/uboot.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - key
    - value
    - error
    argTypes:
    - gchar*
    - GString**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 81
    functionName: uboot_env_get
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 0
    functionsReached:
    - g_set_error
    - g_strchomp
    - g_propagate_prefixed_error
    - g_set_error_literal
    - r_subprocess_new
    - g_subprocess_get_if_exited
    - g_subprocess_get_exit_status
    - g_string_new_len
    - g_bytes_get_data
    - g_strdup_printf
    - g_autoptr
    - g_return_val_if_fail
    - strlen
    - memcmp
    - g_subprocess_communicate
    linkageType: ''
    returnType: gboolean
    signature: gboolean uboot_env_get(const gchar *key, GString **value, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:85,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:88,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:89,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:90,1
    - Dst: r_subprocess_new
      Src: /src/rauc/src/bootloaders/uboot.c:92,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/uboot.c:95,1
    - Dst: g_subprocess_wait_check
      Src: /src/rauc/src/bootloaders/uboot.c:102,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/src/bootloaders/uboot.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - key
    - value
    - error
    argTypes:
    - gchar*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: uboot_env_set
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 0
    functionsReached:
    - g_propagate_prefixed_error
    - r_subprocess_new
    - g_autoptr
    - g_subprocess_wait_check
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean uboot_env_set(const gchar *key, const gchar *value, GError
      **error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:117,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:118,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/uboot.c:119,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:124,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:125,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:126,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:128,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:129,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/uboot.c:134,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:136,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:147,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:148,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:149,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/uboot.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 155
    functionName: r_uboot_get_state
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 1
    functionsReached:
    - g_ascii_strtoull
    - g_auto
    - g_strsplit
    - uboot_env_get
    - g_strcmp0
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_uboot_get_state(RaucSlot *slot, gboolean *good, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:165,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:166,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:169,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:170,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/uboot.c:171,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:174,1
    - Dst: g_message
      Src: /src/rauc/src/bootloaders/uboot.c:175,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bootloaders/uboot.c:176,1
    - Dst: g_ptr_array_new
      Src: /src/rauc/src/bootloaders/uboot.c:180,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/uboot.c:182,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:185,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:189,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/uboot.c:192,1
    - Dst: g_ptr_array_add
      Src: /src/rauc/src/bootloaders/uboot.c:194,1
    - Dst: g_strjoinv
      Src: /src/rauc/src/bootloaders/uboot.c:196,1
    - Dst: uboot_env_set
      Src: /src/rauc/src/bootloaders/uboot.c:197,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:198,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:205,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/uboot.c:208,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:213,1
    - Dst: uboot_env_set
      Src: /src/rauc/src/bootloaders/uboot.c:215,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - slot
    - good
    - error
    argTypes:
    - RaucSlot*
    - gboolean
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 158
    functionDepth: 7
    functionLinenumber: 158
    functionLinenumberEnd: 221
    functionName: r_uboot_set_state
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - uboot_env_set
    - g_ptr_array_new
    - g_auto
    - g_ptr_array_add
    - g_propagate_error
    - r_context
    - uboot_env_get
    - g_strcmp0
    - g_message
    - g_strsplit
    - g_strdup_printf
    - g_return_val_if_fail
    - g_strjoinv
    - g_autoptr
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_uboot_set_state(RaucSlot *slot, gboolean good, GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:226,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/uboot.c:227,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:233,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:235,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:236,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/uboot.c:241,1
    - Dst: g_hash_table_iter_init
      Src: /src/rauc/src/bootloaders/uboot.c:244,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/uboot.c:244,1
    - Dst: g_hash_table_iter_next
      Src: /src/rauc/src/bootloaders/uboot.c:245,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:247,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:249,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:253,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:254,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:255,1
    - Dst: g_ascii_strtoull
      Src: /src/rauc/src/bootloaders/uboot.c:259,1
    - Dst: g_set_error_literal
      Src: /src/rauc/src/bootloaders/uboot.c:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 224
    functionDepth: 7
    functionLinenumber: 224
    functionLinenumberEnd: 279
    functionName: r_uboot_get_primary
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 1
    functionsReached:
    - g_ascii_strtoull
    - g_auto
    - g_set_error_literal
    - g_hash_table_iter_init
    - g_strsplit
    - r_context
    - uboot_env_get
    - g_strcmp0
    - g_propagate_error
    - g_strdup_printf
    - g_autoptr
    - g_hash_table_iter_next
    - g_return_val_if_fail
    linkageType: ''
    returnType: RaucSlot
    signature: RaucSlot *r_uboot_get_primary(GError **error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:284,1
    - Dst: g_autoptr
      Src: /src/rauc/src/bootloaders/uboot.c:285,1
    - Dst: g_auto
      Src: /src/rauc/src/bootloaders/uboot.c:286,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:292,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/src/bootloaders/uboot.c:293,1
    - Dst: g_string_new
      Src: /src/rauc/src/bootloaders/uboot.c:296,1
    - Dst: uboot_env_get
      Src: /src/rauc/src/bootloaders/uboot.c:298,1
    - Dst: g_message
      Src: /src/rauc/src/bootloaders/uboot.c:299,1
    - Dst: g_clear_error
      Src: /src/rauc/src/bootloaders/uboot.c:300,1
    - Dst: r_bootchooser_order_primary
      Src: /src/rauc/src/bootloaders/uboot.c:302,1
    - Dst: g_strsplit
      Src: /src/rauc/src/bootloaders/uboot.c:306,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:309,1
    - Dst: g_strcmp0
      Src: /src/rauc/src/bootloaders/uboot.c:313,1
    - Dst: g_string_append_c
      Src: /src/rauc/src/bootloaders/uboot.c:316,1
    - Dst: g_string_append
      Src: /src/rauc/src/bootloaders/uboot.c:317,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:320,1
    - Dst: r_context
      Src: /src/rauc/src/bootloaders/uboot.c:322,1
    - Dst: g_strdup_printf
      Src: /src/rauc/src/bootloaders/uboot.c:326,1
    - Dst: uboot_env_set
      Src: /src/rauc/src/bootloaders/uboot.c:328,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:329,1
    - Dst: uboot_env_set
      Src: /src/rauc/src/bootloaders/uboot.c:332,1
    - Dst: g_propagate_error
      Src: /src/rauc/src/bootloaders/uboot.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - slot
    - error
    argTypes:
    - RaucSlot*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 282
    functionDepth: 8
    functionLinenumber: 282
    functionLinenumberEnd: 338
    functionName: r_uboot_set_primary
    functionSourceFile: /src/rauc/src/bootloaders/uboot.c
    functionUses: 1
    functionsReached:
    - g_clear_error
    - uboot_env_set
    - g_string_append_c
    - g_auto
    - g_propagate_error
    - r_context
    - uboot_env_get
    - g_strcmp0
    - g_string_append
    - g_message
    - g_strsplit
    - g_strdup_printf
    - g_autoptr
    - g_string_new
    - r_bootchooser_order_primary
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_uboot_set_primary(RaucSlot *slot, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: network_init
    functionSourceFile: /src/rauc/include/network.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: gboolean network_init(GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: BIT
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(nr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: TEMP_FAILURE_RETRY
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEMP_FAILURE_RETRY(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:48,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:49,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:50,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:51,1
    - Dst: g_strjoinv
      Src: /src/rauc/include/utils.h:52,1
    - Dst: g_log
      Src: /src/rauc/include/utils.h:53,1
    - Dst: g_subprocess_newv
      Src: /src/rauc/include/utils.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - args
    - flags
    - error
    argTypes:
    - GPtrArray*
    - GSubprocessFlags
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: r_subprocess_newv
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 10
    functionsReached:
    - g_subprocess_newv
    - g_strjoinv
    - g_log
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSubprocess
    signature: GSubprocess * r_subprocess_newv(GPtrArray *args, GSubprocessFlags flags,
      GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:60,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:61,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:62,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:63,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/include/utils.h:64,1
    - Dst: g_strjoinv
      Src: /src/rauc/include/utils.h:65,1
    - Dst: g_log
      Src: /src/rauc/include/utils.h:66,1
    - Dst: g_subprocess_launcher_spawnv
      Src: /src/rauc/include/utils.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - launcher
    - args
    - error
    argTypes:
    - GSubprocessLauncher*
    - GPtrArray*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: r_subprocess_launcher_spawnv
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 4
    functionsReached:
    - g_subprocess_launcher_spawnv
    - g_strjoinv
    - g_log
    - g_return_val_if_fail
    linkageType: ''
    returnType: GSubprocess
    signature: GSubprocess * r_subprocess_launcher_spawnv(GSubprocessLauncher *launcher,
      GPtrArray *args, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: r_trace
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_trace(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_ptr_array_add
      Src: /src/rauc/include/utils.h:105,1
    - Dst: g_strdup
      Src: /src/rauc/include/utils.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptrarray
    - argvp
    - copy
    argTypes:
    - GPtrArray*
    - gchar**
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: r_ptr_array_addv
    functionSourceFile: /src/rauc/include/utils.h
    functionUses: 11
    functionsReached:
    - g_ptr_array_add
    - g_strdup
    linkageType: ''
    returnType: void
    signature: void r_ptr_array_addv(GPtrArray *ptrarray, gchar **argvp, gboolean
      copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - part_active
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: INACTIVE_BOOT_PARTITION
    functionSourceFile: /src/rauc/include/emmc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INACTIVE_BOOT_PARTITION(part_active)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - RManifestBundleFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: r_manifest_bundle_format_to_str
    functionSourceFile: /src/rauc/include/manifest.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: gchar
    signature: gchar *r_manifest_bundle_format_to_str(RManifestBundleFormat format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/include/artifacts_composefs.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: r_composefs_artifact_repo_prepare
    functionSourceFile: /src/rauc/include/artifacts_composefs.h
    functionUses: 1
    functionsReached:
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_repo_prepare(RArtifactRepo *repo, GError
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/include/artifacts_composefs.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - repo
    - error
    argTypes:
    - RArtifactRepo*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: r_composefs_artifact_repo_prune
    functionSourceFile: /src/rauc/include/artifacts_composefs.h
    functionUses: 1
    functionsReached:
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_repo_prune(RArtifactRepo *repo, GError
      **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_error
      Src: /src/rauc/include/artifacts_composefs.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - artifact
    - image
    - name
    - error
    argTypes:
    - RArtifact*
    - RaucImage*
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: r_composefs_artifact_install
    functionSourceFile: /src/rauc/include/artifacts_composefs.h
    functionUses: 1
    functionsReached:
    - g_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean r_composefs_artifact_install(const RArtifact *artifact, const
      RaucImage *image, const gchar *name, GError **error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/fuzz/bundle.c:16,1
    - Dst: g_autoptr
      Src: /src/rauc/fuzz/bundle.c:17,1
    - Dst: fuzz_set_logging_func
      Src: /src/rauc/fuzz/bundle.c:19,1
    - Dst: g_dir_make_tmp
      Src: /src/rauc/fuzz/bundle.c:21,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/fuzz/bundle.c:22,1
    - Dst: r_context_conf
      Src: /src/rauc/fuzz/bundle.c:24,1
    - Dst: g_strdup
      Src: /src/rauc/fuzz/bundle.c:24,1
    - Dst: r_context_conf
      Src: /src/rauc/fuzz/bundle.c:25,1
    - Dst: g_strdup
      Src: /src/rauc/fuzz/bundle.c:25,1
    - Dst: r_context
      Src: /src/rauc/fuzz/bundle.c:26,1
    - Dst: g_build_filename
      Src: /src/rauc/fuzz/bundle.c:28,1
    - Dst: g_assert_nonnull
      Src: /src/rauc/fuzz/bundle.c:29,1
    - Dst: g_file_set_contents
      Src: /src/rauc/fuzz/bundle.c:30,1
    - Dst: check_bundle
      Src: /src/rauc/fuzz/bundle.c:32,1
    - Dst: g_free
      Src: /src/rauc/fuzz/bundle.c:34,1
    - Dst: r_context
      Src: /src/rauc/fuzz/bundle.c:34,1
    - Dst: g_free
      Src: /src/rauc/fuzz/bundle.c:35,1
    - Dst: r_context
      Src: /src/rauc/fuzz/bundle.c:35,1
    - Dst: g_remove
      Src: /src/rauc/fuzz/bundle.c:36,1
    - Dst: g_remove
      Src: /src/rauc/fuzz/bundle.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 12
    functionDepth: 7
    functionLinenumber: 12
    functionLinenumberEnd: 40
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rauc/fuzz/bundle.c
    functionUses: 0
    functionsReached:
    - fuzz_set_logging_func
    - check_bundle
    - g_strdup
    - r_context_conf
    - r_context
    - g_remove
    - g_dir_make_tmp
    - g_file_set_contents
    - g_assert_nonnull
    - g_build_filename
    - g_free
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log_level
    - fields
    - n_fields
    - user_data
    argTypes:
    - GLogLevelFlags
    - GLogField*
    - gsize
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: empty_logging_func
    functionSourceFile: /src/rauc/fuzz/fuzz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GLogWriterOutput
    signature: "GLogWriterOutput empty_logging_func(GLogLevelFlags log_level, const
      GLogField *fields,\n\t\tgsize n_fields, gpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_log_set_writer_func
      Src: /src/rauc/fuzz/fuzz.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: fuzz_set_logging_func
    functionSourceFile: /src/rauc/fuzz/fuzz.h
    functionUses: 1
    functionsReached:
    - g_log_set_writer_func
    linkageType: ''
    returnType: void
    signature: void fuzz_set_logging_func(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_dir_open
      Src: /src/rauc/fuzz/localfuzzer.c:34,1
    - Dst: g_dir_read_name
      Src: /src/rauc/fuzz/localfuzzer.c:37,1
    - Dst: g_strconcat
      Src: /src/rauc/fuzz/localfuzzer.c:40,1
    - Dst: test_file
      Src: /src/rauc/fuzz/localfuzzer.c:41,1
    - Dst: g_free
      Src: /src/rauc/fuzz/localfuzzer.c:42,1
    - Dst: g_dir_close
      Src: /src/rauc/fuzz/localfuzzer.c:45,1
    - Dst: g_path_is_absolute
      Src: /src/rauc/fuzz/localfuzzer.c:50,1
    - Dst: g_get_current_dir
      Src: /src/rauc/fuzz/localfuzzer.c:53,1
    - Dst: g_build_filename
      Src: /src/rauc/fuzz/localfuzzer.c:54,1
    - Dst: g_free
      Src: /src/rauc/fuzz/localfuzzer.c:55,1
    - Dst: g_strdup
      Src: /src/rauc/fuzz/localfuzzer.c:57,1
    - Dst: g_file_get_contents
      Src: /src/rauc/fuzz/localfuzzer.c:60,1
    - Dst: g_print
      Src: /src/rauc/fuzz/localfuzzer.c:61,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/rauc/fuzz/localfuzzer.c:62,1
    - Dst: g_free
      Src: /src/rauc/fuzz/localfuzzer.c:63,1
    - Dst: g_free
      Src: /src/rauc/fuzz/localfuzzer.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: test_file
    functionSourceFile: /src/rauc/fuzz/localfuzzer.c
    functionUses: 1
    functionsReached:
    - g_get_current_dir
    - g_dir_open
    - LLVMFuzzerTestOneInput
    - g_path_is_absolute
    - g_strdup
    - g_dir_read_name
    - g_dir_close
    - test_file
    - g_file_get_contents
    - g_print
    - g_build_filename
    - g_free
    - g_strconcat
    linkageType: ''
    returnType: void
    signature: void test_file(gchar *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_file
      Src: /src/rauc/fuzz/localfuzzer.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - gchar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/rauc/fuzz/localfuzzer.c
    functionUses: 0
    functionsReached:
    - test_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, gchar **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_autoptr
      Src: /src/rauc/fuzz/manifest.c:14,1
    - Dst: g_bytes_new
      Src: /src/rauc/fuzz/manifest.c:14,1
    - Dst: g_autoptr
      Src: /src/rauc/fuzz/manifest.c:15,1
    - Dst: g_autoptr
      Src: /src/rauc/fuzz/manifest.c:16,1
    - Dst: fuzz_set_logging_func
      Src: /src/rauc/fuzz/manifest.c:18,1
    - Dst: load_manifest_mem
      Src: /src/rauc/fuzz/manifest.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rauc/fuzz/manifest.c
    functionUses: 1
    functionsReached:
    - load_manifest_mem
    - fuzz_set_logging_func
    - g_bytes_new
    - g_autoptr
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_quark_from_static_string
      Src: /src/rauc/contrib/cgi/src/cgi.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: cgi_error_quark
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_quark_from_static_string
    linkageType: ''
    returnType: GQuark
    signature: GQuark cgi_error_quark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:43,1
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:44,1
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - status
    - content_type
    argTypes:
    - gchar*
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: print_headers
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_print
    linkageType: ''
    returnType: void
    signature: void print_headers(const gchar* status, const gchar* content_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_installer_dup_last_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:53,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - installer
    - error
    argTypes:
    - RInstaller*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: get_last_error
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 3
    functionsReached:
    - g_set_error
    - r_installer_dup_last_error
    linkageType: ''
    returnType: gchar
    signature: gchar * get_last_error(RInstaller *installer, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_installer_dup_operation
      Src: /src/rauc/contrib/cgi/src/cgi.c:65,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - installer
    - error
    argTypes:
    - RInstaller*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: get_operation
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 2
    functionsReached:
    - g_set_error
    - r_installer_dup_operation
    linkageType: ''
    returnType: gchar
    signature: gchar * get_operation(RInstaller *installer, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/contrib/cgi/src/cgi.c:82,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/contrib/cgi/src/cgi.c:83,1
    - Dst: r_installer_get_progress
      Src: /src/rauc/contrib/cgi/src/cgi.c:87,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:89,1
    - Dst: g_variant_get_child_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:93,1
    - Dst: g_variant_get_int32
      Src: /src/rauc/contrib/cgi/src/cgi.c:94,1
    - Dst: g_variant_get_child_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:96,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:97,1
    - Dst: g_variant_get_string
      Src: /src/rauc/contrib/cgi/src/cgi.c:97,1
    - Dst: g_variant_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:101,1
    - Dst: g_variant_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - installer
    - percentage
    - description
    - error
    argTypes:
    - RInstaller*
    - gint*
    - gchar**
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: get_progress_updated
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_strdup
    - g_variant_get_int32
    - g_return_val_if_fail
    - g_set_error
    - g_variant_unref
    - g_variant_get_string
    - g_variant_get_child_value
    - r_installer_get_progress
    linkageType: ''
    returnType: gboolean
    signature: gboolean get_progress_updated(RInstaller *installer, gint *percentage,
      gchar **description, GError **error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/contrib/cgi/src/cgi.c:117,1
    - Dst: r_installer_dup_last_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:119,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:121,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:125,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - installer
    - last_install_success
    - error
    argTypes:
    - RInstaller*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: get_last_installation_success
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_strcmp0
    - g_return_val_if_fail
    - g_set_error
    - g_free
    - r_installer_dup_last_error
    linkageType: ''
    returnType: gboolean
    signature: gboolean get_last_installation_success(RInstaller *installer, gboolean
      *last_install_success, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_parser_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:139,1
    - Dst: json_parser_load_from_file
      Src: /src/rauc/contrib/cgi/src/cgi.c:144,1
    - Dst: g_error_matches
      Src: /src/rauc/contrib/cgi/src/cgi.c:146,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:147,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:152,1
    - Dst: json_reader_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:156,1
    - Dst: json_parser_get_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:156,1
    - Dst: json_reader_read_member
      Src: /src/rauc/contrib/cgi/src/cgi.c:158,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:159,1
    - Dst: json_reader_get_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:159,1
    - Dst: json_reader_end_member
      Src: /src/rauc/contrib/cgi/src/cgi.c:160,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:162,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: get_str_from_status_or_empty
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - json_parser_load_from_file
    - json_reader_new
    - g_propagate_prefixed_error
    - g_strdup
    - g_error_matches
    - json_parser_new
    - g_object_unref
    - json_reader_get_string_value
    - json_reader_read_member
    - json_parser_get_root
    - json_reader_end_member
    linkageType: ''
    returnType: gchar
    signature: gchar * get_str_from_status_or_empty(const gchar* name, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_parser_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:174,1
    - Dst: json_parser_load_from_file
      Src: /src/rauc/contrib/cgi/src/cgi.c:179,1
    - Dst: g_error_matches
      Src: /src/rauc/contrib/cgi/src/cgi.c:181,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:182,1
    - Dst: json_reader_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:186,1
    - Dst: json_parser_get_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:186,1
    - Dst: json_reader_read_member
      Src: /src/rauc/contrib/cgi/src/cgi.c:188,1
    - Dst: json_reader_get_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:189,1
    - Dst: json_reader_end_member
      Src: /src/rauc/contrib/cgi/src/cgi.c:190,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:192,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - name
    - error
    argTypes:
    - gchar*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: get_int_from_status_or_negative
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - json_parser_load_from_file
    - json_reader_get_int_value
    - json_reader_new
    - g_propagate_prefixed_error
    - g_object_unref
    - g_error_matches
    - json_parser_new
    - json_reader_read_member
    - json_parser_get_root
    - json_reader_end_member
    linkageType: ''
    returnType: gint
    signature: gint get_int_from_status_or_negative(const gchar* name, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/rauc/contrib/cgi/src/cgi.c:212,1
    - Dst: get_last_installation_success
      Src: /src/rauc/contrib/cgi/src/cgi.c:214,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:215,1
    - Dst: get_progress_updated
      Src: /src/rauc/contrib/cgi/src/cgi.c:219,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:220,1
    - Dst: g_file_test
      Src: /src/rauc/contrib/cgi/src/cgi.c:224,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - installer
    - will_reboot
    - error
    argTypes:
    - RInstaller*
    - gboolean*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: get_will_reboot
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - get_progress_updated
    - g_file_test
    - g_propagate_error
    - get_last_installation_success
    - g_free
    - g_return_val_if_fail
    linkageType: ''
    returnType: gboolean
    signature: gboolean get_will_reboot(RInstaller *installer, gboolean *will_reboot,
      GError **error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_last_installation_success
      Src: /src/rauc/contrib/cgi/src/cgi.c:240,1
    - Dst: get_progress_updated
      Src: /src/rauc/contrib/cgi/src/cgi.c:243,1
    - Dst: g_file_test
      Src: /src/rauc/contrib/cgi/src/cgi.c:251,1
    - Dst: g_remove
      Src: /src/rauc/contrib/cgi/src/cgi.c:252,1
    - Dst: g_remove
      Src: /src/rauc/contrib/cgi/src/cgi.c:253,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - installer
    argTypes:
    - RInstaller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: try_cleanup_status_on_install_failure
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - get_progress_updated
    - g_file_test
    - g_remove
    - get_last_installation_success
    - g_free
    linkageType: ''
    returnType: void
    signature: void try_cleanup_status_on_install_failure(RInstaller *installer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_builder_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:267,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:273,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:280,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:281,1
    - Dst: g_ascii_strup
      Src: /src/rauc/contrib/cgi/src/cgi.c:290,1
    - Dst: g_strdup_printf
      Src: /src/rauc/contrib/cgi/src/cgi.c:291,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:292,1
    - Dst: g_getenv
      Src: /src/rauc/contrib/cgi/src/cgi.c:292,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:295,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:297,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:298,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:301,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:302,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:303,1
    - Dst: json_builder_end_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:306,1
    - Dst: json_generator_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:308,1
    - Dst: json_builder_get_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:309,1
    - Dst: json_generator_set_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:310,1
    - Dst: json_generator_to_file
      Src: /src/rauc/contrib/cgi/src/cgi.c:312,1
    - Dst: g_propagate_prefixed_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:313,1
    - Dst: json_node_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:320,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:321,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - upload_progress
    - error
    argTypes:
    - gint
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 325
    functionName: write_upload_status
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - json_builder_begin_object
    - json_generator_new
    - g_propagate_prefixed_error
    - json_builder_set_member_name
    - json_builder_add_string_value
    - g_strdup
    - json_builder_get_root
    - json_generator_to_file
    - json_node_free
    - g_ascii_strup
    - g_object_unref
    - json_builder_new
    - g_strdup_printf
    - json_builder_add_int_value
    - json_generator_set_root
    - json_builder_end_object
    - g_free
    - g_getenv
    linkageType: ''
    returnType: gboolean
    signature: gboolean write_upload_status(gint upload_progress, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_builder_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:333,1
    - Dst: g_return_val_if_fail
      Src: /src/rauc/contrib/cgi/src/cgi.c:349,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:351,1
    - Dst: get_int_from_status_or_negative
      Src: /src/rauc/contrib/cgi/src/cgi.c:358,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:360,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:364,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:365,1
    - Dst: get_str_from_status_or_empty
      Src: /src/rauc/contrib/cgi/src/cgi.c:372,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:374,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:378,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:379,1
    - Dst: get_progress_updated
      Src: /src/rauc/contrib/cgi/src/cgi.c:383,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:384,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:391,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:392,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:394,1
    - Dst: get_operation
      Src: /src/rauc/contrib/cgi/src/cgi.c:395,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:397,1
    - Dst: g_strdup_printf
      Src: /src/rauc/contrib/cgi/src/cgi.c:400,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:406,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:407,1
    - Dst: get_will_reboot
      Src: /src/rauc/contrib/cgi/src/cgi.c:409,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:410,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:414,1
    - Dst: json_builder_add_boolean_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:415,1
    - Dst: get_last_installation_success
      Src: /src/rauc/contrib/cgi/src/cgi.c:420,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:421,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:425,1
    - Dst: json_builder_add_boolean_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:426,1
    - Dst: get_last_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:429,1
    - Dst: g_propagate_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:431,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:435,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:436,1
    - Dst: json_builder_end_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:438,1
    - Dst: json_generator_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:440,1
    - Dst: json_builder_get_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:441,1
    - Dst: json_generator_set_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:442,1
    - Dst: json_generator_to_data
      Src: /src/rauc/contrib/cgi/src/cgi.c:443,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:445,1
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:446,1
    - Dst: json_node_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:448,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:449,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:454,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:455,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:456,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:457,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:458,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:459,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 82
    argCount: 2
    argNames:
    - installer
    - error
    argTypes:
    - RInstaller*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 462
    functionName: progress_status
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - json_builder_set_member_name
    - print_headers
    - get_last_installation_success
    - json_builder_begin_object
    - json_generator_to_data
    - get_int_from_status_or_negative
    - g_strdup_printf
    - json_builder_add_int_value
    - json_builder_end_object
    - json_builder_add_boolean_value
    - get_will_reboot
    - get_str_from_status_or_empty
    - g_print
    - g_propagate_error
    - g_free
    - g_return_val_if_fail
    - get_progress_updated
    - json_generator_new
    - json_builder_add_string_value
    - get_last_error
    - json_node_free
    - g_object_unref
    - g_strcmp0
    - json_builder_new
    - get_operation
    - json_generator_set_root
    - json_builder_get_root
    linkageType: ''
    returnType: gboolean
    signature: gboolean progress_status(RInstaller *installer, GError **error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_builder_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:470,1
    - Dst: r_installer_call_get_slot_status_sync
      Src: /src/rauc/contrib/cgi/src/cgi.c:485,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:489,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/contrib/cgi/src/cgi.c:491,1
    - Dst: g_variant_iter_next
      Src: /src/rauc/contrib/cgi/src/cgi.c:494,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:495,1
    - Dst: json_builder_begin_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:496,1
    - Dst: g_variant_iter_init
      Src: /src/rauc/contrib/cgi/src/cgi.c:498,1
    - Dst: g_variant_iter_next
      Src: /src/rauc/contrib/cgi/src/cgi.c:501,1
    - Dst: json_builder_set_member_name
      Src: /src/rauc/contrib/cgi/src/cgi.c:502,1
    - Dst: g_variant_is_of_type
      Src: /src/rauc/contrib/cgi/src/cgi.c:504,1
    - Dst: g_variant_get_string
      Src: /src/rauc/contrib/cgi/src/cgi.c:505,1
    - Dst: json_builder_add_string_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:506,1
    - Dst: g_variant_is_of_type
      Src: /src/rauc/contrib/cgi/src/cgi.c:508,1
    - Dst: g_variant_get_uint32
      Src: /src/rauc/contrib/cgi/src/cgi.c:509,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:510,1
    - Dst: g_variant_is_of_type
      Src: /src/rauc/contrib/cgi/src/cgi.c:512,1
    - Dst: g_variant_get_uint64
      Src: /src/rauc/contrib/cgi/src/cgi.c:513,1
    - Dst: json_builder_add_int_value
      Src: /src/rauc/contrib/cgi/src/cgi.c:514,1
    - Dst: json_builder_end_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:522,1
    - Dst: json_builder_end_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:525,1
    - Dst: json_generator_new
      Src: /src/rauc/contrib/cgi/src/cgi.c:527,1
    - Dst: json_builder_get_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:528,1
    - Dst: json_generator_set_root
      Src: /src/rauc/contrib/cgi/src/cgi.c:529,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:531,1
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:532,1
    - Dst: json_generator_to_data
      Src: /src/rauc/contrib/cgi/src/cgi.c:532,1
    - Dst: json_node_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:534,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:535,1
    - Dst: g_variant_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:536,1
    - Dst: g_variant_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:537,1
    - Dst: g_variant_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:538,1
    - Dst: g_object_unref
      Src: /src/rauc/contrib/cgi/src/cgi.c:542,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:543,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - installer
    - error
    argTypes:
    - RInstaller*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 547
    functionName: slot_status
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 6
    functionsReached:
    - g_variant_iter_next
    - json_builder_set_member_name
    - print_headers
    - g_variant_iter_init
    - json_builder_begin_object
    - json_generator_to_data
    - r_installer_call_get_slot_status_sync
    - json_builder_add_int_value
    - json_builder_end_object
    - g_variant_get_uint64
    - g_variant_get_uint32
    - g_print
    - g_variant_unref
    - g_variant_get_string
    - g_free
    - json_generator_new
    - json_builder_add_string_value
    - g_object_unref
    - json_node_free
    - g_variant_is_of_type
    - json_builder_new
    - json_generator_set_root
    - json_builder_get_root
    linkageType: ''
    returnType: gboolean
    signature: gboolean slot_status(RInstaller *installer, GError **error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/rauc/contrib/cgi/src/cgi.c:561,1
    - Dst: write_upload_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ptr
    - size
    - stream
    - error
    argTypes:
    - char*
    - size_t
    - FILE*
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 577
    functionName: fread_chunked
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - fread
    - write_upload_status
    linkageType: ''
    returnType: gint64
    signature: gint64 fread_chunked(char *ptr, size_t size, FILE *stream, GError **error)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:588,1
    - Dst: g_getenv
      Src: /src/rauc/contrib/cgi/src/cgi.c:588,1
    - Dst: g_set_error_literal
      Src: /src/rauc/contrib/cgi/src/cgi.c:591,1
    - Dst: g_file_test
      Src: /src/rauc/contrib/cgi/src/cgi.c:595,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:596,1
    - Dst: write_upload_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:602,1
    - Dst: g_ascii_strtoll
      Src: /src/rauc/contrib/cgi/src/cgi.c:605,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:607,1
    - Dst: write_upload_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:608,1
    - Dst: g_malloc
      Src: /src/rauc/contrib/cgi/src/cgi.c:613,1
    - Dst: fread_chunked
      Src: /src/rauc/contrib/cgi/src/cgi.c:614,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:617,1
    - Dst: write_upload_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:618,1
    - Dst: g_file_set_contents
      Src: /src/rauc/contrib/cgi/src/cgi.c:622,1
    - Dst: write_upload_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:623,1
    - Dst: g_remove
      Src: /src/rauc/contrib/cgi/src/cgi.c:632,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:635,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - error
    argTypes:
    - GError**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 639
    functionName: stdin_to_file
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_file_test
    - fread_chunked
    - g_set_error_literal
    - write_upload_status
    - g_strdup
    - g_remove
    - g_file_set_contents
    - g_malloc
    - g_set_error
    - g_free
    - g_getenv
    - g_ascii_strtoll
    linkageType: ''
    returnType: gboolean
    signature: gboolean stdin_to_file(GError **error)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:648,1
    - Dst: g_getenv
      Src: /src/rauc/contrib/cgi/src/cgi.c:648,1
    - Dst: g_strdup
      Src: /src/rauc/contrib/cgi/src/cgi.c:649,1
    - Dst: g_getenv
      Src: /src/rauc/contrib/cgi/src/cgi.c:649,1
    - Dst: r_installer_proxy_new_for_bus_sync
      Src: /src/rauc/contrib/cgi/src/cgi.c:652,1
    - Dst: try_cleanup_status_on_install_failure
      Src: /src/rauc/contrib/cgi/src/cgi.c:660,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:662,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:663,1
    - Dst: progress_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:665,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:667,1
    - Dst: slot_status
      Src: /src/rauc/contrib/cgi/src/cgi.c:669,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:672,1
    - Dst: g_strcmp0
      Src: /src/rauc/contrib/cgi/src/cgi.c:675,1
    - Dst: g_auto
      Src: /src/rauc/contrib/cgi/src/cgi.c:676,1
    - Dst: G_VARIANT_DICT_INIT
      Src: /src/rauc/contrib/cgi/src/cgi.c:676,1
    - Dst: stdin_to_file
      Src: /src/rauc/contrib/cgi/src/cgi.c:678,1
    - Dst: r_installer_call_install_bundle_sync
      Src: /src/rauc/contrib/cgi/src/cgi.c:682,1
    - Dst: g_variant_dict_end
      Src: /src/rauc/contrib/cgi/src/cgi.c:682,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:685,1
    - Dst: g_print
      Src: /src/rauc/contrib/cgi/src/cgi.c:686,1
    - Dst: g_set_error
      Src: /src/rauc/contrib/cgi/src/cgi.c:688,1
    - Dst: g_remove
      Src: /src/rauc/contrib/cgi/src/cgi.c:697,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:703,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:706,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:709,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:712,1
    - Dst: print_headers
      Src: /src/rauc/contrib/cgi/src/cgi.c:715,1
    - Dst: g_printerr
      Src: /src/rauc/contrib/cgi/src/cgi.c:717,1
    - Dst: g_error_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:718,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:721,1
    - Dst: g_free
      Src: /src/rauc/contrib/cgi/src/cgi.c:722,1
    - Dst: g_clear_object
      Src: /src/rauc/contrib/cgi/src/cgi.c:723,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 726
    functionName: cgi_handler
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - g_error_free
    - print_headers
    - stdin_to_file
    - r_installer_call_install_bundle_sync
    - r_installer_proxy_new_for_bus_sync
    - g_strdup
    - progress_status
    - try_cleanup_status_on_install_failure
    - g_getenv
    - g_auto
    - slot_status
    - G_VARIANT_DICT_INIT
    - g_variant_dict_end
    - g_clear_object
    - g_print
    - g_set_error
    - g_free
    - g_remove
    - g_strcmp0
    - g_printerr
    linkageType: ''
    returnType: gint
    signature: gint cgi_handler(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cgi_handler
      Src: /src/rauc/contrib/cgi/src/cgi.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 4
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: main
    functionSourceFile: /src/rauc/contrib/cgi/src/cgi.c
    functionUses: 0
    functionsReached:
    - cgi_handler
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
Fuzzer filename: /src/rauc/fuzz/bundle.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- update_handler.h
- linux/nbd-netlink.h
- glib-object.h
- unistd.h
- asm-generic/errno-base.h
- uboot.h
- linux/loop.h
- ftw.h
- grub.h
- update_utils.h
- config_file.h
- dm.h
- crypt.h
- libfdisk/libfdisk.h
- pwd.h
- artifacts_composefs.h
- event_log.h
- openssl/x509.h
- linux/major.h
- network.h
- openssl/pem.h
- gio/gio.h
- sys/sysmacros.h
- manifest.h
- bootchooser.h
- bootloaders/grub.h
- libcomposefs/lcfs-writer.h
- limits.h
- sys/types.h
- gio/gunixmounts.h
- bootloaders/barebox.h
- openssl/objects.h
- gio/gunixinputstream.h
- signature.h
- openssl/crypto.h
- rauc-installer-generated.h
- locale.h
- efi.h
- openssl/engine.h
- mark.h
- sys/prctl.h
- fuzz.h
- checksum.h
- json-glib/json-glib.h
- openssl/evp.h
- glib/gprintf.h
- mount.h
- openssl/safestack.h
- common.h
- linux/random.h
- stats.h
- artifacts.h
- openssl/err.h
- utils.h
- glib.h
- sys/stat.h
- json-glib/json-gobject.h
- netlink/genl/ctrl.h
- ../rauc-installer-generated.h
- netlink/netlink.h
- curl/curl.h
- gio/gfiledescriptorbased.h
- sys/mount.h
- linux/fs.h
- install_fixtures.h
- sys/ioctl.h
- openssl/bio.h
- shell.h
- verity_hash.h
- openssl/asn1.h
- linux/hdreg.h
- linux/nbd.h
- status_file.h
- openssl/rand.h
- sys/vfs.h
- config.h
- glib-unix.h
- openssl/conf.h
- time.h
- fcntl.h
- bootloaders/uboot.h
- stdint.h
- slot.h
- gpt.h
- polling.h
- mbr.h
- string.h
- grp.h
- barebox.h
- glib/gstdio.h
- linux/types.h
- sys/socket.h
- linux/mmc/ioctl.h
- bootloaders/efi.h
- openssl/cms.h
- custom.h
- stdlib.h
- linux/dm-ioctl.h
- bootloaders/custom.h
- hash_index.h
- netlink/genl/genl.h
- gio/gunixoutputstream.h
- install.h
- mtd/ubi-user.h
- emmc.h
- nbd.h
- inttypes.h
- service.h
- stdio.h
- errno.h
- context.h
- bundle.h
report: name
sources:
- function_names:
  - have_http_server
  - nbd_fixture_set_up
  - nbd_fixture_tear_down
  - test_direct_read
  - test_check_invalid_bundle
  - test_check_not_found
  - test_plain_bundle
  - test_verity_bundle
  - test_extract
  - test_cache_etag
  - test_nbd_mount
  - main
  source_file: /src/rauc/test/nbd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: NBDFixture
      pos:
        line_end: 17
        line_start: 15
        source_file: /src/rauc/test/nbd.c
    - fields:
      - name: '*bundle_url'
        type: gchar
      - name: access_args
        type: RaucBundleAccessArgs
      - name: needs_backend
        type: gboolean
      - name: err_domain
        type: GQuark
      - name: err_code
        type: gint
      item_type: struct
      name: NBDData
      pos:
        line_end: 27
        line_start: 19
        source_file: /src/rauc/test/nbd.c
    typedefs: []
    union: []
- function_names:
  - test_basic
  - test_queue
  - main
  source_file: /src/rauc/test/stats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_slot_get_all_children
  - test_slot_get_all_of_class
  - string_array_contains
  - test_slot_get_root_classes
  - main
  source_file: /src/rauc/test/slot.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - config_file_fixture_set_up
  - config_file_fixture_tear_down
  - config_file_full_config
  - config_file_invalid_items
  - config_file_bootloaders
  - config_file_boot_attempts
  - config_file_slots_invalid_type
  - config_file_invalid_parent
  - config_file_parent_has_parent
  - config_file_parent_loop
  - config_file_bootname_set_on_child
  - config_file_duplicate_bootname
  - config_file_duplicate_slotclass
  - config_file_typo
  - config_file_typo_in_boolean_readonly_key
  - config_file_typo_in_boolean_allow_mounted_key
  - config_file_typo_in_boolean_install_same_key
  - config_file_typo_in_boolean_force_install_same_key
  - config_file_typo_in_boolean_ignore_checksum_key
  - config_file_typo_in_boolean_resize_key
  - config_file_typo_in_boolean_activate_installed_key
  - config_file_bootname_tab
  - config_file_boot_emmc_with_bootpart
  - config_file_no_max_bundle_download_size
  - config_file_zero_max_bundle_download_size
  - config_file_typo_in_uint64_max_bundle_download_size
  - config_file_zero_max_bundle_signature_size
  - config_file_typo_in_uint64_max_bundle_signature_size
  - config_file_activate_installed_set_to_true
  - config_file_activate_installed_set_to_false
  - config_file_system_variant
  - config_file_no_extra_mount_opts
  - config_file_extra_mount_opts
  - config_file_extra_mkfs_opts
  - config_file_statusfile_missing
  - config_file_keyring_checks
  - config_file_bundle_formats
  - config_file_test_parse_bundle_formats
  - config_file_use_desync_set_to_true
  - config_file_send_headers
  - config_file_send_headers_invalid_item
  - config_file_logger_empty
  - config_file_logger_relative_no_datadir
  - config_file_logger_minimal
  - config_file_logger_full
  - config_file_logger_invalid_event
  - config_file_logger_invalid_event_combo
  - config_file_logger_invalid_max_size
  - config_file_min_bundle_version_good
  - config_file_min_bundle_version_bad
  - main
  source_file: /src/rauc/test/config_file.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: ConfigFileFixture
      pos:
        line_end: 12
        line_start: 10
        source_file: /src/rauc/test/config_file.c
    typedefs: []
    union: []
- function_names:
  - fixture_helper_fixture_set_up_system_user
  - fixture_helper_set_up_system
  - fixture_helper_set_up_bundle
  source_file: /src/rauc/test/install_fixtures.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - signature_set_up
  - signature_tear_down
  - signature_sign_detached
  - signature_sign_inline
  - signature_sign_file
  - signature_verify_common_names_valid
  - signature_verify_common_names_invalid
  - signature_verify_common_names_2nd_value
  - signature_verify_valid
  - signature_verify_invalid
  - signature_verify_file
  - signature_too_large
  - signature_loopback_detached
  - signature_loopback_inline
  - signature_get_cert_chain
  - signature_selfsigned
  - signature_intermediate
  - signature_intermediate_file
  - signature_partial
  - signature_cmsverify_path
  - signature_cmsverify_dir_combined
  - signature_cmsverify_dir_single_fail
  - signature_cmsverify_pathdir_dir
  - signature_cmsverify_pathdir_path
  - signature_append_detached
  - signature_append_inline
  - signature_append_partial
  - main
  source_file: /src/rauc/test/signature.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      - name: '*content'
        type: GBytes
      - name: '*sig'
        type: GBytes
      - name: '*error'
        type: GError
      - name: '*cms'
        type: CMS_ContentInfo
      - name: '*store'
        type: X509_STORE
      - name: '*verified_chain'
        type: STACK_OF
      item_type: struct
      name: SignatureFixture
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/rauc/test/signature.c
    typedefs: []
    union: []
- function_names:
  - bundle_fixture_set_up
  - prepare_bundle
  - bundle_fixture_set_up_bundle
  - bundle_fixture_set_up_bundle_corrupt
  - bundle_fixture_set_up_bundle_autobuilder2
  - bundle_fixture_set_up_bundle_email
  - bundle_fixture_set_up_bundle_codesign
  - bundle_fixture_set_up_bundle_codesign_no_key_usage
  - bundle_fixture_tear_down
  - bundle_fixture_tear_down_autobuilder2
  - test_check_empty_bundle
  - test_check_invalid_bundle
  - bundle_test_create_check_error
  - bundle_test_create_extract
  - check_artifacts
  - bundle_test_create_mount
  - bundle_test_create_mount_extract_with_pre_check
  - bundle_test_create_check_mount_with_pre_check_corrupt
  - bundle_test_extract_signature
  - assert_casync_manifest
  - bundle_test_check_casync_old
  - bundle_test_check_casync_new
  - bundle_test_replace_signature
  - bundle_test_resign
  - bundle_test_wrong_capath
  - bundle_test_verify_no_crl_warn
  - bundle_test_verify_revoked
  - bundle_test_purpose_default
  - bundle_test_purpose_email
  - bundle_test_purpose_codesign
  - bundle_test_purpose_codesign_no_key_usage
  - main
  source_file: /src/rauc/test/bundle.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      - name: '*bundlename'
        type: gchar
      - name: '*contentdir'
        type: gchar
      - name: codesign_compat
        type: gboolean
      item_type: struct
      name: BundleFixture
      pos:
        line_end: 22
        line_start: 17
        source_file: /src/rauc/test/bundle.c
    - fields:
      - name: manifest_test_options
        type: ManifestTestOptions
      - name: '*bundle_formats'
        type: gchar
      item_type: struct
      name: BundleData
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/rauc/test/bundle.c
    typedefs: []
    union: []
- function_names:
  - random_bytes
  - write_random_file
  - write_tmp_file
  - test_prepare_dummy_file
  - test_mkdir_relative
  - test_rmdir
  - test_remove
  - test_lstat
  - test_rm_tree
  - test_prepare_system_conf
  - test_prepare_manifest_file
  - test_make_filesystem
  - test_mount
  - test_do_chmod
  - test_umount
  - test_copy_file
  - test_make_slot_user_writable
  - test_create_content
  - test_create_bundle
  - test_running_as_root
  - test_show_tree
  - get_file_size
  - flip_bits_fd
  - flip_bits_filename
  - replace_strdup
  - test_ptr_array_from_strsplit
  - dup_test_mem
  - dup_test_printf
  source_file: /src/rauc/test/common.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: InstallFixture
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/rauc/test/common.c
    typedefs: []
    union: []
- function_names:
  - manifest_check_common
  - test_load_manifest
  - check_manifest_contents
  - test_save_load_manifest
  - test_save_manifest_writefail
  - test_load_manifest_mem
  - test_manifest_load_variants
  - test_manifest_load_types
  - test_manifest_load_types_invalid
  - test_manifest_load_types_fileext_not_mapped
  - test_manifest_load_missing_type_and_filename
  - test_manifest_load_adaptive_missing_filename
  - test_manifest_load_types_emptyfs_with_imagename_invalid
  - test_manifest_load_types_emptyfs_valid
  - test_manifest_load_adaptive
  - test_manifest_load_meta
  - test_manifest_load_details
  - test_manifest_invalid_hook_name
  - test_manifest_invalid_hook_combination
  - test_manifest_missing_hook_name
  - test_manifest_missing_image_size
  - test_manifest_image_filename_with_slash
  - test_manifest_image_digest_not_hex
  - test_invalid_data
  - main
  source_file: /src/rauc/test/manifest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MANIFEST1
      pos:
        line_end: 972
        line_start: 969
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        compatible=SuperBazzer\n\

        "'
    - item_type: preproc_def
      name: MANIFEST2
      pos:
        line_end: 977
        line_start: 974
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        "'
    - item_type: preproc_def
      name: MANIFEST3
      pos:
        line_end: 983
        line_start: 979
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        compatible=\n\

        "'
    - item_type: preproc_def
      name: MANIFEST4
      pos:
        line_end: 990
        line_start: 985
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        compatible=SuperBazzer\n\

        evilkey=foo\n\

        "'
    - item_type: preproc_def
      name: MANIFEST5
      pos:
        line_end: 998
        line_start: 992
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        compatible=SuperBazzer\n\

        \n\

        [evilgroup]\n\

        "'
    - item_type: preproc_def
      name: MANIFEST6
      pos:
        line_end: 1006
        line_start: 1000
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        compatible=SuperBazzer\n\

        \n\

        [meta.foo/]\n\

        "'
    - item_type: preproc_def
      name: MANIFEST7
      pos:
        line_end: 1015
        line_start: 1008
        source_file: /src/rauc/test/manifest.c
      type_or_value: '"\

        [update]\n\

        compatible=SuperBazzer\n\

        \n\

        [meta.foo]\n\

        bar!=baz\n\

        "'
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      - name: '*contentdir'
        type: gchar
      item_type: struct
      name: ManifestFixture
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/rauc/test/manifest.c
    typedefs: []
    union: []
- function_names:
  - show_tree
  - artifacts_fixture_set_up
  - artifacts_fixture_tear_down
  - create_random_artifact
  - test_repo_type
  - test_init
  - test_early_return
  - test_find
  - test_create_load
  - test_create_load_parent
  - main
  source_file: /src/rauc/test/artifacts.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      - name: '*repo'
        type: RArtifactRepo
      item_type: struct
      name: ArtifactsFixture
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/rauc/test/artifacts.c
    typedefs: []
    union: []
- function_names:
  - test_progress_callback
  - progress_test_nesting
  - progress_test_unsuccessful_substep
  - progress_test_explicit_percentage
  - progress_test_explicit_percentage_backwards
  - progress_test_weighted_steps
  - main
  source_file: /src/rauc/test/progress.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_bootslot_rauc_slot
  - test_bootslot_root
  - test_bootslot_external_boot
  - test_bootslot_nfs_boot
  - test_bootslot_partlabel
  - test_bootslot_partuuid
  - test_bootslot_uuid
  - test_bootslot_no_bootslot
  - test_bootslot_custom_bootloader
  - test_bootslot_custom_bootloader_no_bootslot
  - test_context_system_info
  - test_context_system_info_dummy
  - main
  source_file: /src/rauc/test/context.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/test/install_fixtures.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLOT_SIZE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/test/install_fixtures.h
      type_or_value: (10*1024*1024)
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: InstallFixture
      pos:
        line_end: 10
        line_start: 8
        source_file: /src/rauc/test/install_fixtures.h
    typedefs: []
    union: []
- function_names:
  - status_file_fixture_set_up_global
  - status_file_fixture_set_up_datadir
  - status_file_fixture_tear_down
  - status_file_test_read_slot_status
  - status_file_test_write_slot_status
  - status_file_test_global_slot_status
  - status_file_test_load_system_status
  - status_file_test_load_broken
  - status_file_test_save_system_status
  - status_file_test_save_system_status_per_slot
  - status_file_test_save_system_status_existing_slot_status
  - status_file_test_save_system_status_broken_existing_slot_status
  - status_file_test_save_slot_status_existing_system_status
  - status_file_test_datadir
  - main
  source_file: /src/rauc/test/status_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIGEST_INITIAL
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/rauc/test/status_file.c
      type_or_value: '"9a0218f0dbfed28d5b35e441668952100128d7bdec667f3f0e1f7cbbff6d11e7"'
    - item_type: preproc_def
      name: DIGEST_OTHER
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/rauc/test/status_file.c
      type_or_value: '"20ea715f2807da0cccda2a4874898a55b38bdf0473fc2fdcab0d28fdbc96b770"'
    - item_type: preproc_def
      name: DIGEST_UPDATED
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/rauc/test/status_file.c
      type_or_value: '"839127aa5fcd9e5f988934e2d727fb14feb5cec9435dd2548bf1a778ba44549a"'
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: StatusFileFixture
      pos:
        line_end: 12
        line_start: 10
        source_file: /src/rauc/test/status_file.c
    typedefs: []
    union: []
- function_names:
  - whitespace_removed_test
  - get_sectorsize_test
  - get_device_size_test
  - update_symlink_test
  - fakeroot_test
  - test_bytes_unref_to_string
  - environ_test
  - semver_parse_test
  - semver_less_equal_test
  - format_duration_test
  - regex_match_test
  - tempfile_cleanup_test
  - boottime_test
  - main
  source_file: /src/rauc/test/utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_get_update_handler
  - test_get_custom_update_handler
  - update_handler_fixture_set_up
  - update_handler_fixture_tear_down
  - tar_image
  - casync_blob_image
  - test_prepare_dummy_archive
  - test_prepare_dummy_caibx
  - test_prepare_dummy_caidx
  - test_update_handler
  - test_copy_stream_oversized_input
  - main
  source_file: /src/rauc/test/update_handler.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLOT_SIZE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/rauc/test/update_handler.c
      type_or_value: (10*1024*1024)
    - item_type: preproc_def
      name: IMAGE_SIZE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rauc/test/update_handler.c
      type_or_value: (10*1024*1024)
    - item_type: preproc_def
      name: FILE_SIZE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/rauc/test/update_handler.c
      type_or_value: (10*1024)
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: UpdateHandlerFixture
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/rauc/test/update_handler.c
    - fields:
      - name: '*slottype'
        type: gchar
      - name: '*imagetype'
        type: gchar
      - name: params
        type: TestUpdateHandlerParams
      - name: err_domain
        type: GQuark
      - name: err_code
        type: gint
      item_type: struct
      name: UpdateHandlerTestPair
      pos:
        line_end: 43
        line_start: 33
        source_file: /src/rauc/test/update_handler.c
    typedefs: []
    union: []
- function_names:
  - dup_test_data
  source_file: /src/rauc/test/common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: custom_handler
        type: gboolean
      - name: hooks
        type: gboolean
      - name: slots
        type: gboolean
      - name: '*artifact_file'
        type: gchar
      - name: '*artifact_slotclass'
        type: gchar
      - name: '*artifact_convert'
        type: gchar
      - name: format
        type: RManifestBundleFormat
      - name: no_bundle_version
        type: gboolean
      - name: '*bundle_version'
        type: gchar
      item_type: struct
      name: ManifestTestOptions
      pos:
        line_end: 19
        line_start: 7
        source_file: /src/rauc/test/common.h
    - fields:
      - name: '*min_bundle_version'
        type: gchar
      - name: artifact_repos
        type: gboolean
      item_type: struct
      name: SystemTestOptions
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/rauc/test/common.h
    typedefs: []
    union: []
- function_names:
  - BIT
  - sfdisk_get
  - sfdisk_check
  - sfdisk_set
  - swap_marker
  - get_marker
  - clear_device
  - boot_switch_fixture_set_up
  - boot_switch_fixture_tear_down
  - test_boot_switch
  - R_QUOTE
  - main
  source_file: /src/rauc/test/boot_switch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMAGE_SIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (1*1024*1024)
    - item_type: preproc_def
      name: REGION_START
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (1024*1024*1)
    - item_type: preproc_def
      name: REGION_SIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (1024*1024*6)
    - item_type: preproc_def
      name: PART_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (REGION_SIZE/2)
    - item_type: preproc_def
      name: PART_A_START
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (REGION_START)
    - item_type: preproc_def
      name: PART_B_START
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rauc/test/boot_switch.c
      type_or_value: (REGION_START + PART_SIZE)
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: BootSwitchFixture
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/rauc/test/boot_switch.c
    - fields:
      - name: params
        type: BootSwitchTestParams
      - name: err_domain
        type: GQuark
      - name: err_code
        type: gint
      - name: '*slottype'
        type: gchar
      - name: '*sfdisk_setup'
        type: gchar
      - name: '*sfdisk_expect'
        type: gchar
      item_type: struct
      name: BootSwitchData
      pos:
        line_end: 40
        line_start: 26
        source_file: /src/rauc/test/boot_switch.c
    typedefs: []
    union: []
- function_names:
  - service_fixture_set_up
  - service_install_fixture_set_up
  - service_fixture_tear_down
  - on_installer_changed
  - on_installer_completed
  - on_installer_completed_failed
  - assert_progress
  - service_test_install
  - service_test_install_bundle
  - service_test_install_api
  - service_test_install_deprecated
  - service_test_info
  - service_test_info_bundle
  - service_test_info_deprecated
  - service_test_slot_status
  - main
  source_file: /src/rauc/test/service.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*dbus'
        type: GTestDBus
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: ServiceFixture
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/rauc/test/service.c
    typedefs: []
    union: []
- function_names:
  - fixture_set_up
  - fixture_tear_down
  - test_basic
  - test_ranges
  - test_invalid_size
  - main
  source_file: /src/rauc/test/hash_index.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: Fixture
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/rauc/test/hash_index.c
    typedefs: []
    union: []
- function_names:
  - install_fixture_set_up_bundle
  - install_fixture_set_up_bundle_central_status
  - install_fixture_set_up_bundle_already_mounted
  - install_fixture_set_up_bundle_custom_handler
  - install_fixture_set_up_bundle_install_check_hook
  - install_fixture_set_up_bundle_install_hook
  - install_fixture_set_up_bundle_post_hook
  - install_fixture_set_up_bundle_adaptive
  - install_fixture_set_up_slot_skipping
  - install_fixture_set_up_system_conf
  - install_fixture_tear_down
  - install_test_bootname
  - install_test_target
  - test_install_determine_target_group_non_redundant
  - test_install_target_group_async
  - test_install_target_group_sync
  - test_install_target_group_loose
  - test_install_target_group_n_redundant
  - test_install_image_selection
  - test_install_image_selection_no_matching_slot
  - test_install_image_selection_boot_external
  - test_install_image_readonly
  - test_install_image_variants
  - install_notify
  - install_cleanup
  - find_str_custom
  - install_args_find_message
  - install_test_bundle
  - install_test_bundle_twice
  - install_test_bundle_thread
  - install_test_bundle_hook_install_check
  - install_test_bundle_hook_install
  - install_test_bundle_hook_post_install
  - install_test_already_mounted
  - install_test_external_mount_points
  - install_fixture_set_up_system_user
  - main
  source_file: /src/rauc/test/install.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MANIFEST2
      pos:
        line_end: 661
        line_start: 651
        source_file: /src/rauc/test/install.c
      type_or_value: '"\

        [update]\n\

        compatible=foo\n\

        \n\

        [image.rootfs]\n\

        filename=rootfs.img\n\

        \n\

        [image.appfs]\n\

        filename=appfs.img\n\

        "'
    - item_type: preproc_def
      name: MANIFEST2
      pos:
        line_end: 744
        line_start: 734
        source_file: /src/rauc/test/install.c
      type_or_value: '"\

        [update]\n\

        compatible=foo\n\

        \n\

        [image.rootfs]\n\

        filename=rootfs.img\n\

        \n\

        [image.appfs]\n\

        filename=appfs.img\n\

        "'
    - item_type: preproc_def
      name: MANIFEST3
      pos:
        line_end: 808
        line_start: 801
        source_file: /src/rauc/test/install.c
      type_or_value: '"\

        [update]\n\

        compatible=foo\n\

        \n\

        [image.rootfs]\n\

        filename=rootfs.img\n\

        "'
    - item_type: preproc_def
      name: MANIFEST
      pos:
        line_end: 878
        line_start: 871
        source_file: /src/rauc/test/install.c
      type_or_value: '"\

        [update]\n\

        compatible=foo\n\

        \n\

        [image.rescuefs]\n\

        filename=rootfs.img\n\

        "'
    structs:
    - fields:
      - name: '**message_needles'
        type: gchar
      - name: install_err_domain
        type: GQuark
      - name: install_err_code
        type: gint
      - name: system_test_options
        type: SystemTestOptions
      - name: manifest_test_options
        type: ManifestTestOptions
      item_type: struct
      name: InstallData
      pos:
        line_end: 22
        line_start: 16
        source_file: /src/rauc/test/install.c
    typedefs: []
    union: []
- function_names:
  - dm_fixture_set_up
  - dm_fixture_tear_down
  - readable_sectors
  - num_diff_sectors
  - open_loop_verity
  - open_loop_crypt
  - dm_verity_simple_test
  - verity_hash_test
  - crypt_encrypt_test
  - crypt_decrypt_test
  - verity_hash_create
  - crypt_create
  - main
  source_file: /src/rauc/test/dm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: DMFixture
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/rauc/test/dm.c
    - fields:
      - name: data_size
        type: uint64_t
      - name: combined_size
        type: uint64_t
      item_type: struct
      name: DMData
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/rauc/test/dm.c
    typedefs: []
    union: []
- function_names:
  - network_fixture_set_up
  - network_fixture_tear_down
  - test_download_file
  - main
  source_file: /src/rauc/test/network.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: NetworkFixture
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/rauc/test/network.c
    typedefs: []
    union: []
- function_names:
  - checksum_test1
  - main
  source_file: /src/rauc/test/checksum.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_DIGEST_FAIL
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/test/checksum.c
      type_or_value: '"fa1lbad73aed1b4642cd726cad727b63fff2824ad68cedd7ffb73c7cbd890479"'
    - item_type: preproc_def
      name: TEST_DIGEST_GOOD
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/test/checksum.c
      type_or_value: '"c35020473aed1b4642cd726cad727b63fff2824ad68cedd7ffb73c7cbd890479"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bootchooser_fixture_set_up
  - custom_bootchooser_fixture_set_up
  - bootchooser_fixture_tear_down
  - bootchooser_barebox
  - bootchooser_barebox_asymmetric
  - bootchooser_barebox_conf_attempts
  - test_grub_initialize_state
  - test_grub_post_state
  - bootchooser_grub
  - test_uboot_initialize_state
  - test_uboot_post_state
  - bootchooser_uboot
  - bootchooser_uboot_asymmetric
  - bootchooser_uboot_conf_attempts
  - bootchooser_efi
  - bootchooser_efi_bootorder_failure
  - test_custom_initialize_state
  - test_custom_post_state
  - bootchooser_custom
  - main
  source_file: /src/rauc/test/bootchooser.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: BootchooserFixture
      pos:
        line_end: 12
        line_start: 10
        source_file: /src/rauc/test/bootchooser.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rauc/test/fakerand.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BIT
  - process_file
  - fill_file
  - compare_file
  - boot_raw_fallback_fixture_set_up
  - boot_raw_fallback_fixture_tear_down
  - create_source_image
  - test_boot_raw_fallback
  - R_QUOTE
  - main
  source_file: /src/rauc/test/boot_raw_fallback.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: BootRawFallbackFixture
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/rauc/test/boot_raw_fallback.c
    - fields:
      - name: options
        type: BootRawFallbackOptions
      - name: err_domain
        type: GQuark
      - name: err_code
        type: gint
      - name: image_size
        type: gsize
      - name: region_start
        type: guint64
      - name: region_size
        type: guint64
      item_type: struct
      name: BootRawFallbackData
      pos:
        line_end: 34
        line_start: 25
        source_file: /src/rauc/test/boot_raw_fallback.c
    typedefs: []
    union: []
- function_names:
  - event_log_fixture_set_up
  - config_file_fixture_tear_down
  - event_log_test_setup_logger
  - event_log_test_log_write_simple
  - event_log_test_log_write_broken
  - event_log_test_log_no_space_left
  - event_log_test_log_write_json
  - event_log_test_max_size
  - event_log_test_max_files_rotation
  - event_log_test_structured_logging
  - event_log_test_log_utility
  - event_log_test_log_filtering
  - main
  source_file: /src/rauc/test/event_log.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*tmpdir'
        type: gchar
      item_type: struct
      name: EventLogFixture
      pos:
        line_end: 8
        line_start: 6
        source_file: /src/rauc/test/event_log.c
    - fields:
      - name: maxsize
        type: goffset
      - name: rotates_at
        type: gint
      item_type: struct
      name: RotationTestConfig
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/rauc/test/event_log.c
    typedefs: []
    union: []
- function_names:
  - r_nbd_error_quark
  - r_nbd_new_device
  - r_nbd_free_device
  - r_nbd_new_server
  - r_nbd_free_server
  - netlink_connect_cb
  - netlink_connect
  - r_nbd_setup_device
  - r_nbd_remove_device
  - free_transfer
  - write_cb
  - header_cb
  - prepare_curl
  - collect_curl_stats
  - start_read
  - gstrv_add_to_slist
  - start_configure
  - start_request
  - finish_read
  - finish_configure
  - finish_request
  - r_nbd_run_server
  - nbd_server_thread
  - nbd_configure
  - clear_child_setup_args
  - nbd_server_child_setup
  - nbd_server_child_prepare
  - r_nbd_start_server
  - r_nbd_stop_server
  - r_nbd_read
  source_file: /src/rauc/src/nbd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G_LOG_DOMAIN
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/rauc/src/nbd.c
      type_or_value: '"rauc-nbd"'
    - item_type: preproc_def
      name: RAUC_NBD_CMD_CONFIGURE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rauc/src/nbd.c
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: RAUC_NBD_HANDLE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rauc/src/nbd.c
      type_or_value: '"\x89\xce\x48\x24\x0c\xe4\x82\xce"'
    structs:
    - fields:
      - name: sock
        type: gint
      - name: data_size
        type: guint64
      - name: '*url'
        type: gchar
      - name: '*tls_cert'
        type: gchar
      - name: '*tls_key'
        type: gchar
      - name: '*tls_ca'
        type: gchar
      - name: tls_no_verify
        type: gboolean
      - name: '*headers_slist'
        type: struct curl_slist
      - name: '*initial_headers_slist'
        type: struct curl_slist
      - name: '*multi'
        type: CURLM
      - name: done
        type: gboolean
      - name: '*dl_size'
        type: RaucStats
      item_type: struct
      name: RaucNBDContext
      pos:
        line_end: 329
        line_start: 310
        source_file: /src/rauc/src/nbd.c
    - fields:
      - name: '*ctx'
        type: struct RaucNBDContext
      - name: '*easy'
        type: CURL
      - name: errbuf[CURL_ERROR_SIZE]
        type: char
      - name: request
        type: struct nbd_request
      - name: reply
        type: struct nbd_reply
      - name: done
        type: gboolean
      - name: errors
        type: guint
      - name: '*buffer'
        type: guint8
      - name: buffer_size
        type: curl_off_t
      - name: buffer_pos
        type: curl_off_t
      - name: content_size
        type: guint64
      - name: current_time
        type: guint64
      - name: modified_time
        type: guint64
      - name: '*etag'
        type: gchar
      item_type: struct
      name: RaucNBDTransfer
      pos:
        line_end: 352
        line_start: 331
        source_file: /src/rauc/src/nbd.c
    - fields:
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: '*groups'
        type: gid_t
      - name: ngroups
        type: int
      item_type: struct
      name: child_setup_args
      pos:
        line_end: 1198
        line_start: 1193
        source_file: /src/rauc/src/nbd.c
    typedefs: []
    union: []
- function_names:
  - r_stats_new
  - r_stats_add
  - r_stats_get_avg
  - r_stats_get_recent_avg
  - r_stats_show
  - r_stats_free
  - r_test_stats_start
  - r_test_stats_stop
  - r_test_stats_next
  source_file: /src/rauc/src/stats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_slot_free
  - r_slot_clear_status
  - r_slot_free_status
  - r_slot_find_by_device
  - r_slot_get_booted
  - r_slot_bootstate_to_str
  - r_slot_slotstate_to_str
  - r_slot_str_to_slotstate
  - r_slot_is_valid_type
  - r_slot_is_mountable
  - r_slot_get_parent_root
  - r_slot_get_checksum_data_directory
  - r_slot_move_checksum_data_directory
  - r_slot_clean_data_directory
  - r_slot_get_root_classes
  - r_slot_list_contains
  - r_slot_get_all_of_class
  - r_slot_get_all_children
  source_file: /src/rauc/src/slot.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: gchar
      - name: mountable
        type: gboolean
      item_type: struct
      name: RaucSlotType
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/rauc/src/slot.c
    typedefs: []
    union: []
- function_names:
  - fix_grandparent_links
  - parse_bundle_formats
  - r_event_log_parse_config_sections
  - parse_system_section
  - parse_keyring_section
  - parse_casync_section
  - parse_streaming_section
  - parse_polling_section
  - parse_encryption_section
  - parse_autoinstall_section
  - parse_handlers_section
  - parse_slots
  - parse_artifact_repos
  - resolve_slot_parents
  - check_duplicate_bootnames
  - check_unique_slotclasses
  - r_config_file_modified_check
  - parse_config
  - default_config
  - load_config
  - check_config_target
  - find_config_slot_by_device
  - find_config_slot_by_name
  - free_config
  source_file: /src/rauc/src/config_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_SLOT_PREFIX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rauc/src/config_file.c
      type_or_value: '"slot"'
    - item_type: preproc_def
      name: RAUC_LOG_EVENT_CONF_PREFIX
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/rauc/src/config_file.c
      type_or_value: '"log"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_signature_free_x509_stack
  - r_signature_free_x509_stack_pop
  - r_signature_error_quark
  - get_openssl_err_string
  - check_purpose_code_sign
  - signature_init
  - get_pkcs11_engine
  - load_key_file
  - load_key_pkcs11
  - load_key
  - load_cert_file
  - load_certs_from_file
  - load_cert_pkcs11
  - load_cert
  - bytes_from_bio
  - bytes_as_bio
  - file_contains_crl
  - contains_crl
  - setup_x509_store
  - cms_sign
  - cms_append_signature
  - get_pubkey_hash
  - bio_mem_unwrap
  - dump_cms
  - sigdata_to_string
  - bio_print_recipient
  - envelopeddata_to_string
  - get_cert_time
  - cms_get_signer_certs
  - cms_get_signers_string
  - cms_check_signer_cns
  - debug_cms_ci
  - cms_is_detached
  - cms_is_envelopeddata
  - cms_get_unverified_manifest
  - cms_get_signingtime
  - cms_verify_bytes
  - cms_sign_file
  - cms_sign_manifest
  - cms_verify_fd
  - cms_verify_sig
  - cms_encrypt
  - cms_decrypt
  source_file: /src/rauc/src/signature.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*url'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: "parms = {\n\t\t.url = url,\n\t\t.cert = NULL,\n\t}"
      pos:
        line_end: 386
        line_start: 383
        source_file: /src/rauc/src/signature.c
    typedefs: []
    union: []
- function_names:
  - ask_cb
  - get_context
  - check_gpt
  - check_region
  - r_gpt_switch_get_inactive_partition
  - r_gpt_switch_set_boot_partition
  source_file: /src/rauc/src/gpt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOOT_PARTITION_ENTRY
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rauc/src/gpt.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_bundle_error_quark
  - mksquashfs
  - unsquashfs
  - check_pseudo_active
  - casync_make_arch
  - casync_make_blob
  - image_is_archive
  - generate_adaptive_data
  - convert_tar_extract
  - convert_composefs
  - convert_images
  - output_stream_write_uint64_all
  - input_stream_read_uint64_all
  - output_stream_write_bytes_all
  - input_stream_read_bytes_all
  - create_verity
  - append_signature_to_bundle
  - append_signature
  - generate_bundle_signature
  - sign_bundle
  - get_random_file_name
  - encrypt_bundle_payload
  - decrypt_bundle_payload
  - check_workdir_content
  - link_contentdir_to_workdir
  - prepare_workdir
  - needs_fakeroot
  - create_bundle
  - truncate_bundle
  - resign_bundle
  - convert_to_casync_bundle
  - create_casync_bundle
  - encrypt_bundle
  - is_remote_scheme
  - take_bundle_ownership
  - check_bundle_access
  - enforce_bundle_exclusive
  - open_local_bundle
  - open_remote_bundle
  - open_remote_bundle
  - check_allowed_bundle_format
  - check_bundle
  - check_bundle_payload
  - replace_signature
  - extract_signature
  - extract_bundle
  - load_manifest_from_bundle
  - read_complete_dm_device
  - prepare_verity
  - prepare_crypt
  - mount_bundle
  - umount_bundle
  - free_bundle
  - get_uptime
  - system_info_to_header
  - assemble_info_headers
  - clear_bundle_access_args
  source_file: /src/rauc/src/bundle.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AFS_SUPER_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x5346414f'
    - item_type: preproc_def
      name: BTRFS_SUPER_MAGIC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x9123683e'
    - item_type: preproc_def
      name: CRAMFS_MAGIC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x28cd3d45'
    - item_type: preproc_def
      name: EXFAT_SUPER_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x2011bab0'
    - item_type: preproc_def
      name: EXT4_SUPER_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0xef53'
    - item_type: preproc_def
      name: F2FS_SUPER_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0xf2f52010'
    - item_type: preproc_def
      name: FUSE_SUPER_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x65735546'
    - item_type: preproc_def
      name: HOSTFS_SUPER_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x00c0ffee'
    - item_type: preproc_def
      name: ISOFS_SUPER_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x9660'
    - item_type: preproc_def
      name: JFFS2_SUPER_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x72b6'
    - item_type: preproc_def
      name: MSDOS_SUPER_MAGIC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x4d44'
    - item_type: preproc_def
      name: NFS_SUPER_MAGIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x6969'
    - item_type: preproc_def
      name: NTFS_SB_MAGIC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x5346544e'
    - item_type: preproc_def
      name: NTFS3_SUPER_MAGIC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x7366746e'
    - item_type: preproc_def
      name: OVERLAYFS_SUPER_MAGIC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x794c7630'
    - item_type: preproc_def
      name: RAMFS_MAGIC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x858458f6'
    - item_type: preproc_def
      name: ROMFS_MAGIC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x7275'
    - item_type: preproc_def
      name: SQUASHFS_MAGIC
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x73717368'
    - item_type: preproc_def
      name: TMPFS_MAGIC
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x01021994'
    - item_type: preproc_def
      name: UBIFS_SUPER_MAGIC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x24051905'
    - item_type: preproc_def
      name: UDF_SUPER_MAGIC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x15013346'
    - item_type: preproc_def
      name: XFS_SUPER_MAGIC
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x58465342'
    - item_type: preproc_def
      name: ZFS_SUPER_MAGIC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/rauc/src/bundle.c
      type_or_value: '0x2fc12fc1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_progress_line
  - install_notify
  - install_cleanup
  - on_installer_changed
  - on_installer_completed
  - resolve_bundle_path
  - print_progress_callback
  - on_sigint
  - on_sigint_noop
  - install_start
  - bundle_start
  - write_slot_start
  - resign_start
  - replace_signature_start
  - extract_signature_start
  - extract_start
  - convert_start
  - encrypt_start
  - formatter_shell_append_idx_str
  - info_formatter_shell
  - info_formatter_readable
  - strv_to_json_array
  - ptrarray_to_json_array
  - info_formatter_json_base
  - info_formatter_json
  - info_formatter_json_pretty
  - info_formatter_json_2
  - info_start
  - free_status_print
  - r_string_append_slot
  - r_string_append_repo
  - r_status_formatter_readable
  - r_status_formatter_shell
  - r_status_formatter_json
  - r_variant_get_slot_state
  - retrieve_slot_states_via_dbus
  - retrieve_status_via_dbus
  - print_status
  - status_start
  - r_event_log_booted
  - r_event_log_booted_external
  - create_run_links
  - service_start
  - mount_start
  - unknown_start
  - create_option_groups
  - collect_config_values
  - cmdline_handler
  - main
  source_file: /src/rauc/src/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KNRM
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[0m"'
    - item_type: preproc_def
      name: KRED
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[31m"'
    - item_type: preproc_def
      name: KGRN
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[32m"'
    - item_type: preproc_def
      name: KYEL
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[33m"'
    - item_type: preproc_def
      name: KBLU
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[34m"'
    - item_type: preproc_def
      name: KMAG
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[35m"'
    - item_type: preproc_def
      name: KCYN
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[36m"'
    - item_type: preproc_def
      name: KWHT
      pos:
        line_end: 926
        line_start: 925
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[37m"'
    - item_type: preproc_def
      name: KBLD
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/rauc/src/main.c
      type_or_value: '"\x1B[1m"'
    - item_type: preproc_def
      name: MESSAGE_ID_BOOTED
      pos:
        line_end: 2334
        line_start: 2333
        source_file: /src/rauc/src/main.c
      type_or_value: '"e60e0addd3454cb8b796eae0d497af96"'
    - item_type: preproc_def
      name: MESSAGE_ID_BOOTED_EXTERNAL
      pos:
        line_end: 2335
        line_start: 2334
        source_file: /src/rauc/src/main.c
      type_or_value: '"dd237efdad1945d9b1e471bc2b994532"'
    structs:
    - fields:
      - name: '*primary'
        type: RaucSlot
      - name: '*compatible'
        type: gchar
      - name: '*variant'
        type: gchar
      - name: '*system_version'
        type: gchar
      - name: '*bootslot'
        type: gchar
      - name: '*slots'
        type: GHashTable
      - name: '*artifacts'
        type: GVariant
      item_type: struct
      name: RaucStatusPrint
      pos:
        line_end: 1433
        line_start: 1424
        source_file: /src/rauc/src/main.c
    - fields:
      - name: type
        type: RaucCommandType
      - name: '* name'
        type: gchar
      - name: '* usage'
        type: gchar
      - name: '* summary'
        type: gchar
      - name: (*cmd_handler)(int argc, char **argv)
        type: gboolean
      - name: '* options'
        type: GOptionGroup
      - name: configmode
        type: RContextConfigMode
      - name: while_busy
        type: gboolean
      item_type: struct
      name: RaucCommand
      pos:
        line_end: 2595
        line_start: 2586
        source_file: /src/rauc/src/main.c
    typedefs: []
    union: []
- function_names:
  - r_shell_from_manifest_meta
  source_file: /src/rauc/src/shell.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strcmp0_p
  - get_objects_sorted
  - composefs_object_name_valid
  - composefs_collect_objects
  - composefs_objects_from_image
  - r_composefs_artifact_repo_prepare
  - r_composefs_artifact_repo_prune
  - remove_existing
  - r_composefs_artifact_install
  source_file: /src/rauc/src/artifacts_composefs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_manifest_error_quark
  - handle_missing_type
  - validate_filename_requirements
  - parse_image
  - parse_meta
  - parse_manifest
  - load_manifest_mem
  - load_manifest_file
  - check_manifest_common
  - check_manifest_plain
  - is_valid_digest
  - check_manifest_bundled
  - check_manifest_input
  - check_manifest_internal
  - check_manifest_external
  - check_manifest_create
  - prepare_manifest
  - save_manifest_mem
  - save_manifest_file
  - r_manifest_to_dict
  - r_manifest_has_artifact_image
  - r_new_image
  - r_free_image
  - free_manifest
  - update_manifest_checksums
  - sync_manifest_with_contentdir
  source_file: /src/rauc/src/manifest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_IMAGE_PREFIX
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/src/manifest.c
      type_or_value: '"image"'
    - item_type: preproc_def
      name: R_MANIFEST_ERROR
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rauc/src/manifest.c
      type_or_value: r_manifest_error_quark()
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_repo
  - r_artifact_free
  - r_artifact_repo_free
  - r_artifact_repo_is_valid_type
  - r_artifact_repo_insert
  - artifact_repo_read_links
  - r_artifact_repo_prepare
  - artifact_repo_prune_subdir
  - r_artifact_repo_prune
  - r_artifact_repo_commit
  - r_artifacts_init
  - r_artifacts_prune
  - r_artifacts_to_dict
  - files_artifact_install
  - tree_artifact_install_tar
  - r_tree_artifact_install_extracted
  - artifact_get_converted
  - r_artifact_find
  - r_artifact_install
  - r_artifact_activate
  - r_artifact_deactivate
  source_file: /src/rauc/src/artifacts.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: gchar
      item_type: struct
      name: RArtifactRepoType
      pos:
        line_end: 92
        line_start: 90
        source_file: /src/rauc/src/artifacts.c
    typedefs: []
    union: []
- function_names:
  - get_machine_id
  - get_boot_id
  - get_cmdline
  - get_runtime_directory
  - get_cmdline_bootname_explicit
  - get_cmdline_bootname_root
  - get_bootname
  - launch_and_wait_variables_handler
  - get_system_dtb_compatible
  - get_variant_from_file
  - get_system_info_from_handler
  - r_context_configure_target
  - load_config_verbose
  - r_context_configure
  - r_context_get_busy
  - r_context_set_busy
  - r_context_send_progress
  - r_context_begin_step
  - r_context_begin_step_weighted
  - r_context_begin_step_formatted
  - r_context_begin_step_weighted_formatted
  - r_context_end_step
  - r_context_set_step_percentage
  - r_context_inc_step_percentage
  - r_context_free_progress_step
  - r_context_register_progress_callback
  - r_context_conf
  - r_context
  - r_context_install_info_free
  - r_context_clean
  source_file: /src/rauc/src/context.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - status_file_get_slot_status
  - status_file_set_string_or_remove_key
  - status_file_set_slot_status
  - r_slot_status_read
  - r_slot_status_write
  - load_slot_status_locally
  - r_slot_status_load_globally
  - r_slot_status_load
  - save_slot_status_locally
  - key_file_init_from_shared_status_file
  - save_slot_status_globally
  - r_slot_status_save
  - r_system_status_load
  - r_system_status_save
  - r_system_status_free
  source_file: /src/rauc/src/status_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_hd_geometry
  - validate_region
  - read_mbr
  - is_region_free
  - get_chs
  - get_raw_partition_entry
  - r_mbr_switch_get_inactive_partition
  - r_mbr_switch_set_boot_partition
  source_file: /src/rauc/src/mbr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOOT_PARTITION_ENTRY
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rauc/src/mbr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MBR_NUMBER_OF_PARTITIONS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rauc/src/mbr.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MBR_MAGIC_NUMBER_L
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rauc/src/mbr.c
      type_or_value: '0x55'
    - item_type: preproc_def
      name: MBR_MAGIC_NUMBER_H
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rauc/src/mbr.c
      type_or_value: '0xAA'
    structs:
    - fields:
      - name: head
        type: guint8
      - name: sector
        type: guint8
      - name: cylinder
        type: guint8
      item_type: struct
      name: mbr_chs_entry
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/rauc/src/mbr.c
    - fields:
      - name: boot_indicator
        type: guint8
      - name: chs_start
        type: struct mbr_chs_entry
      - name: type
        type: guint8
      - name: chs_end
        type: struct mbr_chs_entry
      - name: partition_start_le
        type: guint32
      - name: partition_size_le
        type: guint32
      item_type: struct
      name: mbr_tbl_entry
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/rauc/src/mbr.c
    - fields:
      - name: bootstrap_code[440]
        type: guint8
      - name: disk_signature_le
        type: guint32
      - name: unused[2]
        type: guint8
      - name: partition_table[MBR_NUMBER_OF_PARTITIONS]
        type: struct mbr_tbl_entry
      - name: magic_number[2]
        type: guint8
      item_type: struct
      name: mbr
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/rauc/src/mbr.c
    typedefs: []
    union: []
- function_names:
  - r_utils_error_quark
  - r_subprocess_new
  - r_subprocess_runv
  - close_preserve_errno
  - r_ptr_array_add_printf
  - r_ptr_array_env_to_shell
  - r_environ_setenv_ptr_array
  - r_subprocess_launcher_setenv_ptr_array
  - read_file
  - read_file_str
  - write_file
  - copy_file
  - rm_tree_cb
  - rm_tree
  - tree_check_open_cb
  - r_tree_check_open
  - resolve_path
  - resolve_path_take
  - check_remaining_groups
  - check_remaining_keys
  - key_file_consume_string
  - value_check_whitespace
  - key_file_consume_integer
  - key_file_consume_binary_suffixed_string
  - key_file_consume_string_list
  - r_realpath
  - r_whitespace_removed
  - r_hex_decode
  - r_hex_encode
  - r_read_exact
  - r_write_exact
  - r_pread_exact
  - r_pwrite_exact
  - r_pwrite_lazy
  - get_sectorsize
  - get_device_size
  - r_replace_strdup
  - r_prepare_env_key
  - r_update_symlink
  - r_syncfs
  - r_fakeroot_init
  - r_fakeroot_add_args
  - r_fakeroot_cleanup
  - r_tempfile_cleanup
  - r_bytes_unref_to_string
  - r_semver_parse
  - r_semver_less_equal
  - r_format_duration
  - r_regex_match_simple
  - r_get_boottime
  source_file: /src/rauc/src/utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - polling_context_clear_manifest
  - polling_reschedule
  - polling_fetch
  - polling_check_candidate_criteria
  - polling_check_install_criteria
  - polling_check_reboot_criteria
  - polling_install_cleanup
  - polling_trigger_install
  - polling_reboot
  - polling_step
  - polling_update_status
  - on_handle_poll
  - polling_context_dispatch
  - polling_context_finalize
  - r_polling_on_bus_acquired
  - r_polling_setup
  source_file: /src/rauc/src/polling.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: next_poll_time
        type: gint64
      - name: installation_running
        type: gboolean
      - name: attempt_count
        type: guint64
      - name: recent_error_count
        type: guint64
      - name: last_attempt_time
        type: gint64
      - name: last_success_time
        type: gint64
      - name: '*last_error_message'
        type: gchar
      - name: update_available
        type: gboolean
      - name: '*summary'
        type: gchar
      - name: '*attempted_hash'
        type: gchar
      - name: '*manifest'
        type: RaucManifest
      - name: bundle_size
        type: guint64
      - name: '*bundle_effective_url'
        type: gchar
      - name: bundle_modified_time
        type: guint64
      - name: '*bundle_etag'
        type: gchar
      - name: must_reboot
        type: gboolean
      item_type: struct
      name: RPollingContext
      pos:
        line_end: 38
        line_start: 16
        source_file: /src/rauc/src/polling.c
    typedefs: []
    union: []
- function_names:
  - r_update_error_quark
  - check_image_size
  - clear_slot
  - clear_boot_switch_partition
  - ubifs_ioctl
  - splice_with_progress
  - splice_file_to_outstream
  - splice_file_to_process_stdin
  - copy_raw_image
  - write_boot_switch_partition
  - casync_extract
  - get_active_slot_class_member
  - casync_extract_image
  - copy_raw_image_to_dev
  - copy_block_hash_index_image_to_dev
  - copy_adaptive_image_to_dev
  - write_image_to_dev
  - ubifs_format_slot
  - ext4_resize_slot
  - ext4_format_slot
  - vfat_label_generator
  - vfat_format_slot
  - nor_write_slot
  - flash_format_slot
  - nand_write_slot
  - suffix_to_tar_flag
  - untar_image
  - unpack_archive
  - run_slot_hook_extra_env
  - run_slot_hook
  - mount_and_run_slot_hook
  - img_to_ubivol_handler
  - img_to_ubifs_handler
  - archive_to_ubifs_handler
  - archive_to_jffs2_handler
  - archive_to_ext4_handler
  - archive_to_vfat_handler
  - img_to_nor_handler
  - img_to_nand_handler
  - img_to_fs_handler
  - img_to_boot_mbr_switch_handler
  - img_to_boot_gpt_switch_handler
  - copy_img_to_emmc_bootpart
  - img_to_boot_emmc_handler
  - check_if_area_is_clear
  - img_to_boot_raw_fallback_handler
  - img_to_raw_handler
  - hook_install_handler
  - derive_image_type_from_filename_pattern
  - get_handler_from_type
  - is_image_type_supported
  - get_update_handler
  source_file: /src/rauc/src/update_handler.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_SLOT_HOOK_PRE_INSTALL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rauc/src/update_handler.c
      type_or_value: '"slot-pre-install"'
    - item_type: preproc_def
      name: R_SLOT_HOOK_POST_INSTALL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rauc/src/update_handler.c
      type_or_value: '"slot-post-install"'
    - item_type: preproc_def
      name: R_SLOT_HOOK_INSTALL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rauc/src/update_handler.c
      type_or_value: '"slot-install"'
    - item_type: preproc_def
      name: CLEAR_BLOCK_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rauc/src/update_handler.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*suffix'
        type: char
      - name: '*tar_flag'
        type: char
      item_type: struct
      name: suffix_tar_flag
      pos:
        line_end: 1282
        line_start: 1279
        source_file: /src/rauc/src/update_handler.c
    - fields:
      - name: '*name'
        type: char
      - name: partition
        type: struct boot_switch_partition
      item_type: struct
      name: part_desc
      pos:
        line_end: 2497
        line_start: 2494
        source_file: /src/rauc/src/update_handler.c
    - fields:
      - name: '*type'
        type: gchar
      - name: '*slottype'
        type: gchar
      - name: handler
        type: img_to_slot_handler
      item_type: struct
      name: RaucImageTypeMap
      pos:
        line_end: 2641
        line_start: 2637
        source_file: /src/rauc/src/update_handler.c
    - fields:
      - name: '*fileext'
        type: gchar
      - name: '*type'
        type: gchar
      item_type: struct
      name: RaucFileExtTypeMap
      pos:
        line_end: 2711
        line_start: 2708
        source_file: /src/rauc/src/update_handler.c
    typedefs: []
    union: []
- function_names:
  - r_mount_bundle
  - r_umount_bundle
  - r_mount_full
  - r_setup_loop
  - r_umount
  - r_create_mount_point
  - r_mount_slot
  - r_umount_slot
  source_file: /src/rauc/src/mount.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOOP_SET_BLOCK_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rauc/src/mount.c
      type_or_value: '0x4C09'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_slots_by_identifier
  - r_event_log_mark_active
  - r_event_log_mark_good
  - r_event_log_mark_bad
  - r_mark_active
  - r_mark_good
  - r_mark_bad
  - mark_run
  source_file: /src/rauc/src/mark.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MESSAGE_ID_MARKED_ACTIVE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rauc/src/mark.c
      type_or_value: '"8b5e7435e1054d86858278e7544fe6da"'
    - item_type: preproc_def
      name: MESSAGE_ID_MARKED_GOOD
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rauc/src/mark.c
      type_or_value: '"3304e15a7a9a447885eb208ba7ae3a05"'
    - item_type: preproc_def
      name: MESSAGE_ID_MARKED_BAD
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rauc/src/mark.c
      type_or_value: '"ccb0e584a47043d7a5316994bce77ae5"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - service_install_notify
  - service_install_cleanup
  - convert_dict_to_bundle_access_args
  - r_on_handle_install_bundle
  - r_on_handle_install
  - r_on_handle_inspect_bundle
  - r_on_handle_info
  - r_on_handle_mark
  - convert_slot_status_to_dict
  - create_slotstatus_array
  - r_on_handle_get_slot_status
  - r_on_handle_get_artifact_status
  - r_on_handle_get_primary
  - auto_install
  - set_last_error
  - send_progress_callback
  - r_on_bus_acquired
  - r_on_name_acquired
  - r_on_name_lost
  - r_on_signal
  - r_service_run
  source_file: /src/rauc/src/service.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_hash_index_error_quark
  - hash_chunk
  - hash_file
  - intcmp
  - lookup_compare_sort
  - build_lookup
  - get_chunk_count
  - hash_index_prepare
  - r_hash_index_open
  - r_hash_index_reuse
  - r_hash_index_open_slot
  - r_hash_index_open_image
  - r_hash_index_export
  - r_hash_index_export_slot
  - r_hash_index_get_chunk
  - r_hash_index_free
  source_file: /src/rauc/src/hash_index.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rauc/src/hash_index.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_CHUNK_COUNT
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rauc/src/hash_index.c
      type_or_value: '0x7ffffff '
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_install_error_quark
  - install_args_update
  - resolve_loop_device
  - update_external_mount_points
  - determine_slot_states
  - determine_boot_states
  - get_all_manifest_slot_classes
  - select_inactive_slot_class_member
  - determine_target_install_group
  - r_image_install_plan_free
  - r_install_make_plans
  - parse_handler_output
  - verify_compatible
  - check_version_limits
  - add_system_environment
  - prepare_environment
  - launch_and_wait_handler
  - run_bundle_hook
  - launch_and_wait_custom_handler
  - pre_install_check_slot_mount_status
  - pre_install_checks
  - update_slot_status
  - handle_slot_install_plan
  - get_boot_mark_slot
  - log_event_installation_started
  - log_event_installation_done
  - remove_old_artifacts
  - handle_artifact_install_plan
  - launch_and_wait_default_handler
  - do_install_bundle
  - install_done
  - install_thread
  - install_args_new
  - install_args_free
  - install_run
  - r_install_is_supported_http_header
  source_file: /src/rauc/src/install.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INSTALL_HOOK_REJECT_CODE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rauc/src/install.c
      type_or_value: '10'
    - item_type: preproc_def
      name: R_INSTALL_ERROR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rauc/src/install.c
      type_or_value: r_install_error_quark()
    - item_type: preproc_def
      name: MESSAGE_ID_INSTALLATION_STARTED
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/rauc/src/install.c
      type_or_value: '"b05410e8a93345389cd061aab1e9516d"'
    - item_type: preproc_def
      name: MESSAGE_ID_INSTALLATION_SUCCEEDED
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/rauc/src/install.c
      type_or_value: '"0163db5468ac4237b090d28490c301ed"'
    - item_type: preproc_def
      name: MESSAGE_ID_INSTALLATION_FAILED
      pos:
        line_end: 1269
        line_start: 1268
        source_file: /src/rauc/src/install.c
      type_or_value: '"c48141f7fd49443aafff862b4809168f"'
    - item_type: preproc_def
      name: MESSAGE_ID_INSTALLATION_REJECTED
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/rauc/src/install.c
      type_or_value: '"60bea7e4fea549ccad68af457308b13a"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - open_unix_output_stream
  - r_unix_output_stream_open_device
  - r_unix_output_stream_create_file
  - r_open_unix_input_stream
  - r_copy_stream_with_progress
  source_file: /src/rauc/src/update_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dm_set_header
  - r_dm_new_verity
  - r_dm_new_crypt
  - r_dm_free
  - dmtype_to_str
  - check_status
  - r_dm_setup
  - r_dm_remove
  source_file: /src/rauc/src/dm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: header
        type: struct dm_ioctl
      - name: target_spec
        type: struct dm_target_spec
      - name: params[1024]
        type: char
      item_type: struct
      name: setup = {0}
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/rauc/src/dm.c
    - fields:
      - name: header
        type: struct dm_ioctl
      item_type: struct
      name: setup = {0}
      pos:
        line_end: 315
        line_start: 313
        source_file: /src/rauc/src/dm.c
    typedefs: []
    union: []
- function_names:
  - r_crypt_error_quark
  - iv_plain64
  - encrypt_or_decrypt
  - r_crypt_encrypt_or_decrypt
  - r_crypt_encrypt
  - r_crypt_decrypt
  source_file: /src/rauc/src/crypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENC_SEC_SIZE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rauc/src/crypt.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - network_init
  - write_cb
  - xfer_cb
  - transfer
  - download_file
  source_file: /src/rauc/src/network.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*url'
        type: gchar
      - name: '*dl'
        type: FILE
      - name: pos
        type: curl_off_t
      - name: limit
        type: curl_off_t
      - name: '*err'
        type: gchar
      item_type: struct
      name: RaucTransfer
      pos:
        line_end: 22
        line_start: 13
        source_file: /src/rauc/src/network.c
    typedefs: []
    union: []
- function_names:
  - update_from_file
  - compute_checksum
  source_file: /src/rauc/src/checksum.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_DEFAULT_CHECKSUM
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rauc/src/checksum.c
      type_or_value: G_CHECKSUM_SHA256
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_bootchooser_error_quark
  - r_boot_is_supported_bootloader
  - r_bootchooser_order_primary
  - r_boot_get_current_bootname
  - r_boot_get_state
  - r_boot_set_state
  - r_boot_get_primary
  - r_boot_set_primary
  source_file: /src/rauc/src/bootchooser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_bits_up
  - get_bits_down
  - verify_zero
  - verify_hash_block
  - uint64_mult_overflow
  - hash_levels
  - create_or_verify
  - verity_create_or_verify_hash
  - r_verity_hash_create
  - r_verity_hash_verify
  source_file: /src/rauc/src/verity_hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERITY_MAX_LEVELS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rauc/src/verity_hash.c
      type_or_value: '63'
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_emmc_error_quark
  - r_emmc_read_extcsd
  - r_emmc_read_bootpart
  - r_emmc_write_extcsd
  - r_emmc_write_bootpart
  - r_emmc_force_part_write
  - r_emmc_force_part_ro
  - r_emmc_force_part_rw
  source_file: /src/rauc/src/emmc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_event_log_is_supported_type
  - r_event_log_level_to_priority
  - r_event_log_message
  - r_event_log_free_logger
  - event_log_format_fields_json
  - event_log_format_fields_readable
  - rotate_logfiles
  - event_log_writer_file
  - r_event_log_writer
  - r_event_log_setup_logger
  source_file: /src/rauc/src/event_log.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/src/bootloaders/grub.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/src/bootloaders/barebox.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/src/bootloaders/efi.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - grub_env_get
  - grub_env_set
  - r_grub_get_state
  - r_grub_set_state
  - r_grub_get_primary
  - r_grub_set_primary
  source_file: /src/rauc/src/bootloaders/grub.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GRUB_EDITENV
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/src/bootloaders/grub.c
      type_or_value: '"grub-editenv"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/src/bootloaders/uboot.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - r_barebox_get_current_bootname
  - barebox_state_get
  - barebox_state_set
  - r_barebox_set_state
  - r_barebox_get_primary
  - r_barebox_get_state
  - r_barebox_set_primary
  source_file: /src/rauc/src/bootloaders/barebox.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BAREBOX_STATE_NAME
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '"barebox-state"'
    - item_type: preproc_def
      name: BAREBOX_STATE_DEFAULT_ATTEMPTS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BAREBOX_STATE_ATTEMPTS_PRIMARY
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BAREBOX_STATE_DEFAULT_PRIORITY
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BAREBOX_STATE_PRIORITY_PRIMARY
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '20'
    - item_type: preproc_def
      name: BOOTSTATE_PREFIX
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rauc/src/bootloaders/barebox.c
      type_or_value: '"bootstate"'
    structs:
    - fields:
      - name: prio
        type: guint32
      - name: attempts
        type: guint32
      item_type: struct
      name: BareboxSlotState
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rauc/src/bootloaders/barebox.c
    typedefs: []
    union: []
- function_names:
  - custom_backend_get
  - custom_backend_set
  - r_custom_get_current_bootname
  - r_custom_set_state
  - r_custom_get_primary
  - r_custom_get_state
  - r_custom_set_primary
  source_file: /src/rauc/src/bootloaders/custom.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - efi_bootentry_free
  - efi_bootentry_create
  - efi_bootorder_set
  - efi_set_bootnext
  - get_efi_entry_by_bootnum
  - efi_bootorder_get
  - efi_bootorder_prepare
  - efi_set_temp_primary
  - efi_modify_persistent_bootorder
  - r_efi_set_state
  - r_efi_get_primary
  - r_efi_set_primary
  - r_efi_get_state
  - r_efi_get_current_bootname
  source_file: /src/rauc/src/bootloaders/efi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EFIBOOTMGR_NAME
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/src/bootloaders/efi.c
      type_or_value: '"efibootmgr"'
    structs:
    - fields:
      - name: '*num'
        type: gchar
      - name: '*name'
        type: gchar
      - name: active
        type: gboolean
      item_type: struct
      name: efi_bootentry
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/rauc/src/bootloaders/efi.c
    typedefs: []
    union: []
- function_names:
  - uboot_env_get
  - uboot_env_set
  - r_uboot_get_state
  - r_uboot_set_state
  - r_uboot_get_primary
  - r_uboot_set_primary
  source_file: /src/rauc/src/bootloaders/uboot.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UBOOT_FWSETENV_NAME
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/src/bootloaders/uboot.c
      type_or_value: '"fw_setenv"'
    - item_type: preproc_def
      name: UBOOT_FWPRINTENV_NAME
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/src/bootloaders/uboot.c
      type_or_value: '"fw_printenv"'
    - item_type: preproc_def
      name: UBOOT_DEFAULT_ATTEMPTS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rauc/src/bootloaders/uboot.c
      type_or_value: '3'
    - item_type: preproc_def
      name: UBOOT_ATTEMPTS_PRIMARY
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rauc/src/bootloaders/uboot.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/src/bootloaders/custom.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/mbr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/install.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_INSTALL_ERROR
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/install.h
      type_or_value: r_install_error_quark()
    structs:
    - fields:
      - name: '*name'
        type: gchar
      - name: notify
        type: GSourceFunc
      - name: cleanup
        type: GSourceFunc
      - name: data
        type: gpointer
      - name: status_mutex
        type: GMutex
      - name: status_messages
        type: GQueue
      - name: status_result
        type: gint
      - name: ignore_compatible
        type: gboolean
      - name: ignore_version_limit
        type: gboolean
      - name: '*require_manifest_hash'
        type: gchar
      - name: '*transaction'
        type: gchar
      - name: access_args
        type: RaucBundleAccessArgs
      - name: updated_slots
        type: gboolean
      - name: updated_artifacts
        type: gboolean
      item_type: struct
      name: RaucInstallArgs
      pos:
        line_end: 43
        line_start: 24
        source_file: /src/rauc/include/install.h
    - fields:
      - name: '*image'
        type: RaucImage
      - name: '*target_slot'
        type: RaucSlot
      - name: slot_handler
        type: img_to_slot_handler
      - name: '*target_repo'
        type: RArtifactRepo
      item_type: struct
      name: RImageInstallPlan
      pos:
        line_end: 131
        line_start: 124
        source_file: /src/rauc/include/install.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/event_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_EVENT_LOG_DOMAIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"rauc-event"'
    - item_type: preproc_def
      name: R_EVENT_LOG_TYPE_BOOT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"boot"'
    - item_type: preproc_def
      name: R_EVENT_LOG_TYPE_MARK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"mark"'
    - item_type: preproc_def
      name: R_EVENT_LOG_TYPE_INSTALL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"install"'
    - item_type: preproc_def
      name: R_EVENT_LOG_TYPE_SERVICE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"service"'
    - item_type: preproc_def
      name: R_EVENT_LOG_TYPE_WRITE_SLOT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rauc/include/event_log.h
      type_or_value: '"writeslot"'
    structs:
    - fields:
      - name: '*name'
        type: gchar
      - name: '*filename'
        type: gchar
      - name: '**events'
        type: gchar
      - name: format
        type: REventLogFormat
      - name: maxsize
        type: goffset
      - name: maxfiles
        type: guint
      - name: configured
        type: gboolean
      - name: broken
        type: gboolean
      - name: filesize
        type: goffset
      - name: '*logstream'
        type: GFileOutputStream
      - name: (*writer)(REventLogger *logger, const GLogField *fields, gsize n_fields)
        type: void
      item_type: struct
      name: _REventLogger
      pos:
        line_end: 72
        line_start: 58
        source_file: /src/rauc/include/event_log.h
    typedefs:
    - item_type: typedef
      name: REventLogger
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/rauc/include/event_log.h
      type: _REventLogger
    union: []
- function_names: []
  source_file: /src/rauc/include/verity_hash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/polling.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_POLLING_ERROR
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/include/polling.h
      type_or_value: r_polling_error_quark()
    structs: []
    typedefs: []
    union: []
- function_names:
  - network_init
  source_file: /src/rauc/include/network.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/checksum.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_CHECKSUM_ERROR
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/checksum.h
      type_or_value: (r_checksum_error_quark())
    structs:
    - fields:
      - name: type
        type: GChecksumType
      - name: '*digest'
        type: gchar
      - name: size
        type: goffset
      item_type: struct
      name: RaucChecksum
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/rauc/include/checksum.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/service.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_SERVICE_ERROR
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/include/service.h
      type_or_value: r_service_error_quark()
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/artifacts.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_ARTIFACTS_ERROR
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rauc/include/artifacts.h
      type_or_value: r_artifacts_error_quark()
    - item_type: preproc_def
      name: R_ARTIFACTS_ERROR_DUPLICATE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/artifacts.h
      type_or_value: '0'
    - item_type: preproc_def
      name: R_ARTIFACTS_ERROR_INSTALL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/include/artifacts.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: gchar
      - name: '*bundle_compatible'
        type: gchar
      - name: '*bundle_version'
        type: gchar
      - name: '*bundle_description'
        type: gchar
      - name: '*bundle_build'
        type: gchar
      - name: '*bundle_hash'
        type: gchar
      - name: checksum
        type: RaucChecksum
      - name: '*references'
        type: GPtrArray
      - name: '*repo'
        type: RArtifactRepo
      - name: '*path'
        type: gchar
      - name: '*path_tmp'
        type: gchar
      item_type: struct
      name: _RArtifact
      pos:
        line_end: 39
        line_start: 15
        source_file: /src/rauc/include/artifacts.h
    - fields:
      - name: '*name'
        type: gchar
      - name: '*description'
        type: gchar
      - name: '*path'
        type: gchar
      - name: '*type'
        type: gchar
      - name: '*parent_class'
        type: gchar
      - name: '*data_directory'
        type: gchar
      - name: '*artifacts'
        type: GHashTable
      - name: '*possible_references'
        type: GPtrArray
      item_type: struct
      name: _RArtifactRepo
      pos:
        line_end: 68
        line_start: 41
        source_file: /src/rauc/include/artifacts.h
    typedefs:
    - item_type: typedef
      name: RArtifactRepo
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/rauc/include/artifacts.h
      type: _RArtifactRepo
    union: []
- function_names: []
  source_file: /src/rauc/include/status_file.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_SLOT_PREFIX
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/include/status_file.h
      type_or_value: '"slot"'
    structs:
    - fields:
      - name: '*boot_id'
        type: gchar
      item_type: struct
      name: RSystemStatus
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/rauc/include/status_file.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/bundle.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_BUNDLE_ERROR
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/bundle.h
      type_or_value: r_bundle_error_quark()
    structs:
    - fields:
      - name: '*tls_cert'
        type: gchar
      - name: '*tls_key'
        type: gchar
      - name: '*tls_ca'
        type: gchar
      - name: tls_no_verify
        type: gboolean
      - name: http_headers
        type: GStrv
      - name: '*http_info_headers'
        type: GPtrArray
      item_type: struct
      name: RaucBundleAccessArgs
      pos:
        line_end: 32
        line_start: 25
        source_file: /src/rauc/include/bundle.h
    - fields:
      - name: '*path'
        type: gchar
      - name: '*origpath'
        type: gchar
      - name: '*storepath'
        type: gchar
      - name: '*nbd_dev'
        type: RaucNBDDevice
      - name: '*nbd_srv'
        type: RaucNBDServer
      - name: '*stream'
        type: GInputStream
      - name: size
        type: goffset
      - name: '*enveloped_data'
        type: GBytes
      - name: '*sigdata'
        type: GBytes
      - name: '*mount_point'
        type: gchar
      - name: '*manifest'
        type: RaucManifest
      - name: verification_disabled
        type: gboolean
      - name: signature_verified
        type: gboolean
      - name: payload_verified
        type: gboolean
      - name: exclusive_verified
        type: gboolean
      - name: was_encrypted
        type: gboolean
      - name: '*exclusive_check_error'
        type: gchar
      - name: '*verified_chain'
        type: STACK_OF
      item_type: struct
      name: RaucBundle
      pos:
        line_end: 56
        line_start: 34
        source_file: /src/rauc/include/bundle.h
    typedefs: []
    union: []
- function_names:
  - BIT
  - TEMP_FAILURE_RETRY
  - r_subprocess_newv
  - r_subprocess_launcher_spawnv
  - r_trace
  - r_ptr_array_addv
  source_file: /src/rauc/include/utils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_UTILS_ERROR
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/include/utils.h
      type_or_value: r_utils_error_quark()
    - item_type: preproc_def
      name: R_LOG_DOMAIN_SUBPROCESS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rauc/include/utils.h
      type_or_value: '"rauc-subprocess"'
    - item_type: preproc_def
      name: R_LOG_LEVEL_TRACE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rauc/include/utils.h
      type_or_value: 1 << G_LOG_LEVEL_USER_SHIFT
    structs: []
    typedefs:
    - item_type: typedef
      name: filedesc
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rauc/include/utils.h
      type: int
    - item_type: typedef
      name: '* RTempFile'
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/rauc/include/utils.h
      type: gchar
    union: []
- function_names: []
  source_file: /src/rauc/include/crypt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_CRYPT_ERROR
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/rauc/include/crypt.h
      type_or_value: r_crypt_error_quark()
    structs: []
    typedefs: []
    union: []
- function_names:
  - INACTIVE_BOOT_PARTITION
  source_file: /src/rauc/include/emmc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_EMMC_ERROR
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rauc/include/emmc.h
      type_or_value: r_emmc_error_quark()
    - item_type: preproc_def
      name: EMMC_BOOT_PARTITIONS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rauc/include/emmc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EXT_CSD_PART_CONFIG
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rauc/include/emmc.h
      type_or_value: '179'
    - item_type: preproc_def
      name: EXT_CSD_CMD_SET_NORMAL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rauc/include/emmc.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: EXT_CSD_BOOT_CFG_ACC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rauc/include/emmc.h
      type_or_value: (0x07)
    - item_type: preproc_def
      name: MMC_SWITCH
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rauc/include/emmc.h
      type_or_value: '6               '
    - item_type: preproc_def
      name: MMC_SEND_EXT_CSD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rauc/include/emmc.h
      type_or_value: '8               '
    - item_type: preproc_def
      name: MMC_SWITCH_MODE_WRITE_BYTE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rauc/include/emmc.h
      type_or_value: '0x03            '
    - item_type: preproc_def
      name: MMC_RSP_PRESENT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rauc/include/emmc.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MMC_RSP_CRC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rauc/include/emmc.h
      type_or_value: '(1 << 2)        '
    - item_type: preproc_def
      name: MMC_RSP_BUSY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rauc/include/emmc.h
      type_or_value: '(1 << 3)        '
    - item_type: preproc_def
      name: MMC_RSP_OPCODE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rauc/include/emmc.h
      type_or_value: '(1 << 4)        '
    - item_type: preproc_def
      name: MMC_CMD_AC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rauc/include/emmc.h
      type_or_value: (0 << 5)
    - item_type: preproc_def
      name: MMC_CMD_ADTC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rauc/include/emmc.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: MMC_RSP_SPI_S1
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rauc/include/emmc.h
      type_or_value: '(1 << 7)        '
    - item_type: preproc_def
      name: MMC_RSP_SPI_BUSY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rauc/include/emmc.h
      type_or_value: '(1 << 10)       '
    - item_type: preproc_def
      name: MMC_RSP_SPI_R1
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rauc/include/emmc.h
      type_or_value: (MMC_RSP_SPI_S1)
    - item_type: preproc_def
      name: MMC_RSP_SPI_R1B
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rauc/include/emmc.h
      type_or_value: (MMC_RSP_SPI_S1|MMC_RSP_SPI_BUSY)
    - item_type: preproc_def
      name: MMC_RSP_R1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rauc/include/emmc.h
      type_or_value: (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
    - item_type: preproc_def
      name: MMC_RSP_R1B
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rauc/include/emmc.h
      type_or_value: (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/update_handler.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_UPDATE_ERROR
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rauc/include/update_handler.h
      type_or_value: r_update_error_quark()
    structs:
    - fields:
      - name: start
        type: guint64
      - name: size
        type: guint64
      item_type: struct
      name: boot_switch_partition
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/rauc/include/update_handler.h
    typedefs:
    - item_type: typedef
      name: (*img_to_slot_handler)(RaucImage *image, RaucSlot *dest_slot, const gchar
        *hook_name, GError **error)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/rauc/include/update_handler.h
      type: gboolean
    union: []
- function_names: []
  source_file: /src/rauc/include/gpt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/config_file.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAX_BUNDLE_DOWNLOAD_SIZE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rauc/include/config_file.h
      type_or_value: 8*1024*1024
    - item_type: preproc_def
      name: DEFAULT_MAX_BUNDLE_SIGNATURE_SIZE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/include/config_file.h
      type_or_value: 64*1024
    - item_type: preproc_def
      name: R_CONFIG_ERROR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rauc/include/config_file.h
      type_or_value: r_config_error_quark()
    - item_type: preproc_def
      name: R_SLOT_ERROR
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/rauc/include/config_file.h
      type_or_value: r_slot_error_quark()
    structs:
    - fields:
      - name: '*system_compatible'
        type: gchar
      - name: '*system_min_bundle_version'
        type: gchar
      - name: system_variant_type
        type: RConfigSysVariant
      - name: '*system_variant'
        type: gchar
      - name: '*system_bootloader'
        type: gchar
      - name: '*system_bb_statename'
        type: gchar
      - name: '*system_bb_dtbpath'
        type: gchar
      - name: boot_default_attempts
        type: gint
      - name: boot_attempts_primary
        type: gint
      - name: '*grubenv_path'
        type: gchar
      - name: '*custom_bootloader_backend'
        type: gchar
      - name: efi_use_bootnext
        type: gboolean
      - name: prevent_late_fallback
        type: gboolean
      - name: max_bundle_download_size
        type: guint64
      - name: max_bundle_signature_size
        type: guint64
      - name: '*mount_prefix'
        type: gchar
      - name: '*store_path'
        type: gchar
      - name: '*tmp_path'
        type: gchar
      - name: '*casync_install_args'
        type: gchar
      - name: use_desync
        type: gboolean
      - name: activate_installed
        type: gboolean
      - name: '*data_directory'
        type: gchar
      - name: '*statusfile_path'
        type: gchar
      - name: '*keyring_path'
        type: gchar
      - name: '*keyring_directory'
        type: gchar
      - name: keyring_allow_partial_chain
        type: gboolean
      - name: keyring_check_crl
        type: gboolean
      - name: '*keyring_check_purpose'
        type: gchar
      - name: '**keyring_allowed_signer_cns'
        type: gchar
      - name: use_bundle_signing_time
        type: gboolean
      - name: bundle_formats_mask
        type: guint
      - name: perform_pre_check
        type: gboolean
      - name: '*autoinstall_path'
        type: gchar
      - name: '*preinstall_handler'
        type: gchar
      - name: '*postinstall_handler'
        type: gchar
      - name: '*systeminfo_handler'
        type: gchar
      - name: '**enabled_headers'
        type: gchar
      - name: '*streaming_sandbox_user'
        type: gchar
      - name: '*streaming_tls_cert'
        type: gchar
      - name: '*streaming_tls_key'
        type: gchar
      - name: '*streaming_tls_ca'
        type: gchar
      - name: '*encryption_key'
        type: gchar
      - name: '*encryption_cert'
        type: gchar
      - name: '*loggers'
        type: GList
      - name: '*polling_url'
        type: gchar
      - name: '**polling_inhibit_files'
        type: gchar
      - name: '**polling_candidate_criteria'
        type: gchar
      - name: '**polling_install_criteria'
        type: gchar
      - name: '**polling_reboot_criteria'
        type: gchar
      - name: polling_interval_ms
        type: gint64
      - name: polling_max_interval_ms
        type: gint64
      - name: '*polling_reboot_cmd'
        type: gchar
      - name: '*slots'
        type: GHashTable
      - name: slot_states_determined
        type: gboolean
      - name: '*file_checksum'
        type: gchar
      - name: '*artifact_repos'
        type: GHashTable
      item_type: struct
      name: RaucConfig
      pos:
        line_end: 120
        line_start: 43
        source_file: /src/rauc/include/config_file.h
    typedefs: []
    union: []
- function_names:
  - r_manifest_bundle_format_to_str
  source_file: /src/rauc/include/manifest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_MANIFEST_ERROR
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/include/manifest.h
      type_or_value: r_manifest_error_quark()
    - item_type: preproc_def
      name: R_MANIFEST_ERROR_NO_DATA
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rauc/include/manifest.h
      type_or_value: '0'
    - item_type: preproc_def
      name: R_MANIFEST_ERROR_CHECKSUM
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/manifest.h
      type_or_value: '1'
    - item_type: preproc_def
      name: R_MANIFEST_ERROR_COMPATIBLE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/include/manifest.h
      type_or_value: '2'
    - item_type: preproc_def
      name: R_MANIFEST_PARSE_ERROR
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rauc/include/manifest.h
      type_or_value: '3'
    - item_type: preproc_def
      name: R_MANIFEST_EMPTY_STRING
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rauc/include/manifest.h
      type_or_value: '4'
    - item_type: preproc_def
      name: R_MANIFEST_CHECK_ERROR
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rauc/include/manifest.h
      type_or_value: '5'
    - item_type: preproc_def
      name: R_MANIFEST_ERROR_INVALID_IMAGE_TYPE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rauc/include/manifest.h
      type_or_value: '6'
    structs:
    - fields:
      - name: install_check
        type: gboolean
      item_type: struct
      name: InstallHooks
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/rauc/include/manifest.h
    - fields:
      - name: pre_install
        type: gboolean
      - name: install
        type: gboolean
      - name: post_install
        type: gboolean
      item_type: struct
      name: SlotHooks
      pos:
        line_end: 25
        line_start: 21
        source_file: /src/rauc/include/manifest.h
    - fields:
      - name: '* slotclass'
        type: gchar
      - name: '* artifact'
        type: gchar
      - name: '* variant'
        type: gchar
      - name: checksum
        type: RaucChecksum
      - name: '* filename'
        type: gchar
      - name: '* type'
        type: gchar
      - name: type_from_fileext
        type: gboolean
      - name: hooks
        type: SlotHooks
      - name: adaptive
        type: GStrv
      - name: convert
        type: GStrv
      - name: '* converted'
        type: GPtrArray
      item_type: struct
      name: RaucImage
      pos:
        line_end: 41
        line_start: 27
        source_file: /src/rauc/include/manifest.h
    - fields:
      - name: '*update_compatible'
        type: gchar
      - name: '*update_version'
        type: gchar
      - name: '*update_description'
        type: gchar
      - name: '*update_build'
        type: gchar
      - name: '*update_min_rauc_version'
        type: gchar
      - name: bundle_format
        type: RManifestBundleFormat
      - name: '*bundle_verity_salt'
        type: gchar
      - name: '*bundle_verity_hash'
        type: gchar
      - name: bundle_verity_size
        type: guint64
      - name: bundle_format_explicit
        type: gboolean
      - name: '*bundle_crypt_key'
        type: gchar
      - name: '*handler_name'
        type: gchar
      - name: '*handler_args'
        type: gchar
      - name: '*hook_name'
        type: gchar
      - name: hooks
        type: InstallHooks
      - name: '*images'
        type: GList
      - name: '*meta'
        type: GHashTable
      - name: was_encrypted
        type: gboolean
      - name: '*hash'
        type: gchar
      - name: '*warnings'
        type: GPtrArray
      item_type: struct
      name: RaucManifest
      pos:
        line_end: 84
        line_start: 49
        source_file: /src/rauc/include/manifest.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/hash_index.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_HASH_INDEX_ERROR
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rauc/include/hash_index.h
      type_or_value: r_hash_index_error_quark()
    - item_type: preproc_def
      name: R_HASH_INDEX_ZERO_CHUNK
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/rauc/include/hash_index.h
      type_or_value: '"\xad\x7f\xac\xb2\x58\x6f\xc6\xe9\x66\xc0\x4\xd7\xd1\xd1\x6b\x2\x4f\x58\x5\xff\x7c\xb4\x7c\x7a\x85\xda\xbd\x8b\x48\x89\x2c\xa7"'
    - item_type: preproc_def
      name: R_HASH_INDEX_GEN_PROGRESS_SPAN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/rauc/include/hash_index.h
      type_or_value: '10'
    structs:
    - fields:
      - name: data[4096]
        type: guint8
      - name: hash[32]
        type: guint8
      item_type: struct
      name: RaucHashIndexChunk
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/rauc/include/hash_index.h
    - fields:
      - name: '*label'
        type: gchar
      - name: data_fd
        type: int
      - name: count
        type: guint32
      - name: '*hashes'
        type: GBytes
      - name: '*lookup'
        type: guint32
      - name: invalid_below
        type: guint32
      - name: invalid_from
        type: guint32
      - name: '*match_stats'
        type: RaucStats
      - name: skip_hash_check
        type: gboolean
      item_type: struct
      name: RaucHashIndex
      pos:
        line_end: 32
        line_start: 22
        source_file: /src/rauc/include/hash_index.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/update_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/nbd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_SOCKET_FD
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/include/nbd.h
      type_or_value: '3'
    - item_type: preproc_def
      name: R_NBD_ERROR
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rauc/include/nbd.h
      type_or_value: r_nbd_error_quark()
    structs:
    - fields:
      - name: sock
        type: gint
      - name: index
        type: guint32
      - name: index_valid
        type: gboolean
      - name: '*dev'
        type: gchar
      - name: data_size
        type: guint64
      item_type: struct
      name: RaucNBDDevice
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/rauc/include/nbd.h
    - fields:
      - name: sock
        type: gint
      - name: '*sproc'
        type: GSubprocess
      - name: '*url'
        type: gchar
      - name: '*tls_cert'
        type: gchar
      - name: '*tls_key'
        type: gchar
      - name: '*tls_ca'
        type: gchar
      - name: tls_no_verify
        type: gboolean
      - name: headers
        type: GStrv
      - name: '*info_headers'
        type: GPtrArray
      - name: data_size
        type: guint64
      - name: '*effective_url'
        type: gchar
      - name: current_time
        type: guint64
      - name: modified_time
        type: guint64
      - name: '*etag'
        type: gchar
      item_type: struct
      name: RaucNBDServer
      pos:
        line_end: 49
        line_start: 30
        source_file: /src/rauc/include/nbd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/bootchooser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_BOOTCHOOSER_ERROR
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rauc/include/bootchooser.h
      type_or_value: r_bootchooser_error_quark()
    - item_type: preproc_def
      name: R_BOOTCHOOSER_ERROR_FAILED
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rauc/include/bootchooser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: R_BOOTCHOOSER_ERROR_NOT_SUPPORTED
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/bootchooser.h
      type_or_value: '10'
    - item_type: preproc_def
      name: R_BOOTCHOOSER_ERROR_PARSE_FAILED
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rauc/include/bootchooser.h
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/dm.h
  types:
    enum:
    - enumerators:
      - name: RAUC_DM_VERITY
      - name: RAUC_DM_CRYPT
      item_type: enum
      name: _RaucDMType
      pos:
        line_end: 7
        line_start: 4
        source_file: /src/rauc/include/dm.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: RaucDMType
      - name: '*uuid'
        type: gchar
      - name: '*lower_dev'
        type: gchar
      - name: '*upper_dev'
        type: gchar
      - name: data_size
        type: guint64
      - name: '*root_digest'
        type: gchar
      - name: '*salt'
        type: gchar
      - name: '*key'
        type: gchar
      item_type: struct
      name: _RaucDM
      pos:
        line_end: 24
        line_start: 9
        source_file: /src/rauc/include/dm.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/shell.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/signature.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_SIGNATURE_ERROR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rauc/include/signature.h
      type_or_value: r_signature_error_quark()
    structs: []
    typedefs:
    - item_type: typedef
      name: R_X509_STACK
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/rauc/include/signature.h
      type: STACK_OF
    - item_type: typedef
      name: R_X509_STACK_POP
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/rauc/include/signature.h
      type: STACK_OF
    union: []
- function_names:
  - r_composefs_artifact_repo_prepare
  - r_composefs_artifact_repo_prune
  - r_composefs_artifact_install
  source_file: /src/rauc/include/artifacts_composefs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/slot.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAUC_FORMAT_ISO_8601
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rauc/include/slot.h
      type_or_value: '"%Y-%m-%dT%H:%M:%SZ"'
    structs:
    - fields:
      - name: '*bundle_compatible'
        type: gchar
      - name: '*bundle_version'
        type: gchar
      - name: '*bundle_description'
        type: gchar
      - name: '*bundle_build'
        type: gchar
      - name: '*bundle_hash'
        type: gchar
      - name: '*status'
        type: gchar
      - name: checksum
        type: RaucChecksum
      - name: '*installed_txn'
        type: gchar
      - name: '*installed_timestamp'
        type: GDateTime
      - name: installed_count
        type: guint32
      - name: '*activated_timestamp'
        type: GDateTime
      - name: activated_count
        type: guint32
      item_type: struct
      name: RaucSlotStatus
      pos:
        line_end: 32
        line_start: 19
        source_file: /src/rauc/include/slot.h
    - fields:
      - name: '*name'
        type: gchar
      - name: '*description'
        type: gchar
      - name: '*sclass'
        type: gchar
      - name: '*device'
        type: gchar
      - name: '*type'
        type: gchar
      - name: '**extra_mkfs_opts'
        type: gchar
      - name: '*bootname'
        type: gchar
      - name: allow_mounted
        type: gboolean
      - name: readonly
        type: gboolean
      - name: install_same
        type: gboolean
      - name: '*extra_mount_opts'
        type: gchar
      - name: resize
        type: gboolean
      - name: region_start
        type: guint64
      - name: region_size
        type: guint64
      - name: size_limit
        type: guint64
      - name: '*efi_loader'
        type: gchar
      - name: '*efi_cmdline'
        type: gchar
      - name: state
        type: SlotState
      - name: boot_state
        type: SlotBootState
      - name: '*parent'
        type: struct _RaucSlot
      - name: '*parent_name'
        type: gchar
      - name: '*mount_point'
        type: gchar
      - name: '*ext_mount_point'
        type: gchar
      - name: '*status'
        type: RaucSlotStatus
      - name: '*data_directory'
        type: gchar
      item_type: struct
      name: _RaucSlot
      pos:
        line_end: 81
        line_start: 36
        source_file: /src/rauc/include/slot.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/mount.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/context.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mounted_bundle'
        type: RaucBundle
      item_type: struct
      name: RContextInstallationInfo
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rauc/include/context.h
    - fields:
      - name: '*section'
        type: gchar
      - name: '*name'
        type: gchar
      - name: '*value'
        type: gchar
      item_type: struct
      name: ConfigFileOverride
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/rauc/include/context.h
    - fields:
      - name: busy
        type: gboolean
      - name: pending
        type: gboolean
      - name: configmode
        type: RContextConfigMode
      - name: '*configpath'
        type: gchar
      - name: '*configoverride'
        type: GList
      - name: '*config'
        type: RaucConfig
      - name: '*system_status'
        type: RSystemStatus
      - name: '*progress'
        type: GList
      - name: progress_callback
        type: progress_callback
      - name: '*certpath'
        type: gchar
      - name: '*keypath'
        type: gchar
      - name: '*keyringpath'
        type: gchar
      - name: '*keyringdirectory'
        type: gchar
      - name: '*signing_keyringpath'
        type: gchar
      - name: '*encryption_key'
        type: gchar
      - name: '*mksquashfs_args'
        type: gchar
      - name: '*casync_args'
        type: gchar
      - name: '**recipients'
        type: gchar
      - name: '**intermediatepaths'
        type: gchar
      - name: '*mountprefix'
        type: gchar
      - name: '*bootslot'
        type: gchar
      - name: '*boot_id'
        type: gchar
      - name: '*machine_id'
        type: gchar
      - name: '*cmdline'
        type: gchar
      - name: '*runtime_directory'
        type: gchar
      - name: '*system_serial'
        type: gchar
      - name: '*system_version'
        type: gchar
      - name: '*system_info'
        type: GHashTable
      - name: '*handlerextra'
        type: gchar
      - name: '*install_info'
        type: RContextInstallationInfo
      - name: mock
        type: "struct {\n\t\t/* mock contents of /proc/cmdline */\n\t\tconst gchar
          *proc_cmdline;\n\t\tgint64 polling_speedup;\n\t}"
      item_type: struct
      name: RaucContext
      pos:
        line_end: 84
        line_start: 30
        source_file: /src/rauc/include/context.h
    - fields:
      - name: '*name'
        type: gchar
      - name: '*description'
        type: gchar
      - name: weight
        type: gint
      - name: substeps_total
        type: gint
      - name: substeps_done
        type: gint
      - name: percent_total
        type: gfloat
      - name: percent_done
        type: gfloat
      - name: last_explicit_percent
        type: gint
      item_type: struct
      name: RaucProgressStep
      pos:
        line_end: 98
        line_start: 86
        source_file: /src/rauc/include/context.h
    typedefs:
    - item_type: typedef
      name: "(*progress_callback) (gint percentage, const gchar *message,\n\t\tgint
        nesting_depth)"
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rauc/include/context.h
      type: void
    union: []
- function_names: []
  source_file: /src/rauc/include/mark.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rauc/include/stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*label'
        type: gchar
      - name: values[64]
        type: gdouble
      - name: count
        type: guint64
      - name: sum
        type: gdouble
      - name: min
        type: gdouble
      item_type: struct
      name: RaucStats
      pos:
        line_end: 10
        line_start: 4
        source_file: /src/rauc/include/stats.h
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rauc/fuzz/bundle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - empty_logging_func
  - fuzz_set_logging_func
  source_file: /src/rauc/fuzz/fuzz.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_file
  - main
  source_file: /src/rauc/fuzz/localfuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rauc/fuzz/manifest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cgi_error_quark
  - print_headers
  - get_last_error
  - get_operation
  - get_progress_updated
  - get_last_installation_success
  - get_str_from_status_or_empty
  - get_int_from_status_or_negative
  - get_will_reboot
  - try_cleanup_status_on_install_failure
  - write_upload_status
  - progress_status
  - slot_status
  - fread_chunked
  - stdin_to_file
  - cgi_handler
  - main
  source_file: /src/rauc/contrib/cgi/src/cgi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CGI_ERROR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rauc/contrib/cgi/src/cgi.c
      type_or_value: cgi_error_quark()
    structs: []
    typedefs: []
    union: []
