---
Fuzzer filename: '/src/libiec61850/build/../fuzz/fuzz_pres_userdata.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/libiec61850/build/../fuzz/fuzz_pres_userdata.c'
      linkageType:     externalLinkage
      functionLinenumber: 7
      functionLinenumberEnd: 17
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - IsoPresentation_parseAcceptMessage
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             '../fuzz/fuzz_pres_userdata.c:15,15'
          Dst:             IsoPresentation_parseAcceptMessage
    - functionName:    parsePCDLEntry
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          213
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - BerDecoder_decodeLength
        - BerDecoder_decodeUint32
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:304,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:295,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:306,25'
          Dst:             BerDecoder_decodeUint32
        - Src:             'src/mms/iso_presentation/iso_presentation.c:316,21'
          Dst:             memcmp
        - Src:             'src/mms/iso_presentation/iso_presentation.c:321,21'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parseFullyEncodedData
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          183
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - BerDecoder_decodeLength
        - BerDecoder_decodeUint32
      functionUses:    1
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:231,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:206,14'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:222,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:237,40'
          Dst:             BerDecoder_decodeUint32
    - functionName:    parsePresentationContextDefinitionList
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          99
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - BerDecoder_decodeLength
        - parsePCDLEntry
      functionUses:    1
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:392,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:388,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:397,22'
          Dst:             parsePCDLEntry
    - functionName:    encodeAcceptBer
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_encodeTL
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:49,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:50,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:52,14'
          Dst:             BerEncoder_encodeTL
    - functionName:    IsoPresentation_createCpaMessage
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 979
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          128
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_determineLengthSize
        - BerEncoder_encodeTL
        - encodeAcceptBer
        - encodeUserData
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:944,25'
          Dst:             encodeUserData
        - Src:             'src/mms/iso_presentation/iso_presentation.c:948,22'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:953,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:956,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:957,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:961,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:964,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:969,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:970,14'
          Dst:             encodeAcceptBer
        - Src:             'src/mms/iso_presentation/iso_presentation.c:971,14'
          Dst:             encodeAcceptBer
        - Src:             'src/mms/iso_presentation/iso_presentation.c:974,14'
          Dst:             encodeUserData
    - functionName:    encodeUserData
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - bool
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          101
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_determineLengthSize
        - BerEncoder_encodeTL
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:69,29'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:73,31'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:78,18'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:79,18'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:82,18'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:86,18'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:93,34'
          Dst:             BerEncoder_determineLengthSize
    - functionName:    IsoPresentation_createAbortUserMessage
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          63
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_encodeTL
        - encodeUserData
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:915,22'
          Dst:             encodeUserData
        - Src:             'src/mms/iso_presentation/iso_presentation.c:920,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:923,14'
          Dst:             encodeUserData
    - functionName:    createConnectPdu
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          304
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BerEncoder_determineLengthSize
        - BerEncoder_encodeTL
        - encodeUserData
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:119,25'
          Dst:             encodeUserData
        - Src:             'src/mms/iso_presentation/iso_presentation.c:125,26'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:130,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:133,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:134,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:138,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:141,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:146,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:151,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:154,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:156,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:159,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:163,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:164,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:169,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:171,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:174,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:178,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:179,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:184,14'
          Dst:             encodeUserData
    - functionName:    IsoPresentation_createConnectPdu
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 908
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - createConnectPdu
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:907,5'
          Dst:             createConnectPdu
    - functionName:    IsoPresentation_parseConnect
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 785
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          211
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - BerDecoder_decodeLength
        - BerDecoder_decodeUint32
        - parseNormalModeParameters
      functionUses:    0
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:835,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:810,14'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:826,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:846,26'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:855,41'
          Dst:             BerDecoder_decodeUint32
        - Src:             'src/mms/iso_presentation/iso_presentation.c:864,22'
          Dst:             parseNormalModeParameters
    - functionName:    parseNormalModeParameters
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          283
      EdgeCount:       54
      CyclomaticComplexity: 12
      functionsReached:
        - BerDecoder_decodeLength
        - parseFullyEncodedData
        - parsePresentationContextDefinitionList
      functionUses:    2
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:438,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:429,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:490,22'
          Dst:             parsePresentationContextDefinitionList
        - Src:             'src/mms/iso_presentation/iso_presentation.c:506,22'
          Dst:             parseFullyEncodedData
    - functionName:    IsoPresentation_parseUserData
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          256
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - BerDecoder_decodeLength
        - ByteBuffer_wrap
      functionUses:    0
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:732,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:697,14'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:709,14'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:723,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:772,17'
          Dst:             ByteBuffer_wrap
    - functionName:    IsoPresentation_createUserDataACSE
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          102
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_determineLengthSize
        - BerEncoder_encodeTL
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:658,35'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:662,34'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:665,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:667,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:673,14'
          Dst:             BerEncoder_encodeTL
    - functionName:    IsoPresentation_createUserData
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          102
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_determineLengthSize
        - BerEncoder_encodeTL
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:628,35'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:632,34'
          Dst:             BerEncoder_determineLengthSize
        - Src:             'src/mms/iso_presentation/iso_presentation.c:635,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:637,14'
          Dst:             BerEncoder_encodeTL
        - Src:             'src/mms/iso_presentation/iso_presentation.c:643,14'
          Dst:             BerEncoder_encodeTL
    - functionName:    IsoPresentation_init
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsoPresentation_parseAcceptMessage
      functionSourceFile: '/src/libiec61850/src/mms/iso_presentation/iso_presentation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - BerDecoder_decodeLength
        - parseNormalModeParameters
      functionUses:    1
      BranchProfiles:
        - Branch String:   'src/mms/iso_presentation/iso_presentation.c:586,9'
          Branch Sides:    []
      Callsites:
        - Src:             'src/mms/iso_presentation/iso_presentation.c:564,14'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:577,18'
          Dst:             BerDecoder_decodeLength
        - Src:             'src/mms/iso_presentation/iso_presentation.c:591,22'
          Dst:             parseNormalModeParameters
    - functionName:    ByteBuffer_setSize
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_getSize
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_getMaxSize
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_getBuffer
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_appendByte
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_append
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          52
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_wrap
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteBuffer_destroy
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Memory_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/common/byte_buffer.c:57,5'
          Dst:             Memory_free
        - Src:             'src/common/byte_buffer.c:58,5'
          Dst:             Memory_free
    - functionName:    ByteBuffer_create
      functionSourceFile: '/src/libiec61850/src/common/byte_buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - Memory_calloc
        - Memory_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/common/byte_buffer.c:32,29'
          Dst:             Memory_calloc
        - Src:             'src/common/byte_buffer.c:37,34'
          Dst:             Memory_calloc
        - Src:             'src/common/byte_buffer.c:41,13'
          Dst:             Memory_free
    - functionName:    getIndefiniteLength
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          158
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - BerDecoder_decodeLengthRecursive
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_decode.c:59,29'
          Dst:             BerDecoder_decodeLengthRecursive
    - functionName:    BerDecoder_decodeLengthRecursive
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          180
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - getIndefiniteLength
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_decode.c:87,23'
          Dst:             getIndefiniteLength
    - functionName:    BerDecoder_decodeOID
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          177
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeBoolean
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      bool
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeDouble
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      double
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeFloat
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      float
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeInt32
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeUint32
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerDecoder_decodeString
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Memory_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_decode.c:138,28'
          Dst:             Memory_malloc
    - functionName:    BerDecoder_decodeLength
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerDecoder_decodeLengthRecursive
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_decode.c:129,12'
          Dst:             BerDecoder_decodeLengthRecursive
    - functionName:    BerEncoder_encodeOIDToBuffer
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          215
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - atoi
        - strchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:442,13'
          Dst:             atoi
        - Src:             'src/mms/asn1/ber_encoder.c:446,29'
          Dst:             strchr
        - Src:             'src/mms/asn1/ber_encoder.c:451,21'
          Dst:             strchr
        - Src:             'src/mms/asn1/ber_encoder.c:457,21'
          Dst:             strchr
        - Src:             'src/mms/asn1/ber_encoder.c:463,13'
          Dst:             atoi
        - Src:             'src/mms/asn1/ber_encoder.c:476,21'
          Dst:             strchr
        - Src:             'src/mms/asn1/ber_encoder.c:481,15'
          Dst:             atoi
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_determineEncodedStringSize
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_determineLengthSize
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:425,22'
          Dst:             strlen
        - Src:             'src/mms/asn1/ber_encoder.c:427,17'
          Dst:             BerEncoder_determineLengthSize
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_determineLengthSize
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 416
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_Int32determineEncodedSize
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          54
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_compressInteger
        - BerEncoder_revertByteOrder
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:397,5'
          Dst:             BerEncoder_revertByteOrder
        - Src:             'src/mms/asn1/ber_encoder.c:400,16'
          Dst:             BerEncoder_compressInteger
    - functionName:    BerEncoder_revertByteOrder
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          57
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_compressInteger
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          140
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_UInt32determineEncodedSize
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          54
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_compressInteger
        - BerEncoder_revertByteOrder
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:374,5'
          Dst:             BerEncoder_revertByteOrder
        - Src:             'src/mms/asn1/ber_encoder.c:377,16'
          Dst:             BerEncoder_compressInteger
    - functionName:    BerEncoder_encodeFloat
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          76
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_revertByteOrder
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:351,5'
          Dst:             BerEncoder_revertByteOrder
    - functionName:    BerEncoder_encodeUInt32WithTL
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          103
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BerEncoder_compressInteger
        - BerEncoder_revertByteOrder
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:319,5'
          Dst:             BerEncoder_revertByteOrder
        - Src:             'src/mms/asn1/ber_encoder.c:322,16'
          Dst:             BerEncoder_compressInteger
    - functionName:    BerEncoder_encodeInt32
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          79
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BerEncoder_compressInteger
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:294,16'
          Dst:             BerEncoder_compressInteger
    - functionName:    BerEncoder_encodeUInt32
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BerEncoder_compressInteger
        - BerEncoder_revertByteOrder
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:261,5'
          Dst:             BerEncoder_revertByteOrder
        - Src:             'src/mms/asn1/ber_encoder.c:264,16'
          Dst:             BerEncoder_compressInteger
    - functionName:    BerEncoder_determineEncodedBitStringSize
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_determineLengthSize
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:183,13'
          Dst:             BerEncoder_determineLengthSize
    - functionName:    BerEncoder_encodeBitString
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - char
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          148
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - BerEncoder_encodeLength
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:148,14'
          Dst:             BerEncoder_encodeLength
    - functionName:    BerEncoder_encodeLength
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          131
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_encodeOctetString
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - char
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_encodeLength
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:125,14'
          Dst:             BerEncoder_encodeLength
    - functionName:    BerEncoder_encodeAsn1PrimitiveValue
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          72
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BerEncoder_encodeLength
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:109,14'
          Dst:             BerEncoder_encodeLength
    - functionName:    BerEncoder_encodeStringWithTag
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - BerEncoder_encodeLength
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:88,27'
          Dst:             strlen
        - Src:             'src/mms/asn1/ber_encoder.c:90,18'
          Dst:             BerEncoder_encodeLength
    - functionName:    BerEncoder_encodeBoolean
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - bool
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          54
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BerEncoder_encodeTL
      functionSourceFile: '/src/libiec61850/src/mms/asn1/ber_encoder.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - char
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BerEncoder_encodeLength
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'src/mms/asn1/ber_encoder.c:62,14'
          Dst:             BerEncoder_encodeLength
    - functionName:    Memory_free
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Memory_realloc
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - noMemoryAvailableHandler
        - realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hal/memory/lib_memory.c:55,20'
          Dst:             realloc
        - Src:             'hal/memory/lib_memory.c:58,9'
          Dst:             noMemoryAvailableHandler
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    noMemoryAvailableHandler
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Memory_calloc
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - noMemoryAvailableHandler
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hal/memory/lib_memory.c:44,20'
          Dst:             calloc
        - Src:             'hal/memory/lib_memory.c:47,9'
          Dst:             noMemoryAvailableHandler
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Memory_malloc
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - noMemoryAvailableHandler
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hal/memory/lib_memory.c:36,9'
          Dst:             noMemoryAvailableHandler
    - functionName:    Memory_installExceptionHandler
      functionSourceFile: '/src/libiec61850/hal/memory/lib_memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 28
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
...
