# Interface: com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature

A native signature is composed of a collection of [INativeFeature](com.pnfsoftware.jeb.core.units.code.asm.sig.INativeFeature.md) identifying one or  several native item\(s\) \-\- the target\(s\) \-\-, and a collection of [INativeAttribute](com.pnfsoftware.jeb.core.units.code.asm.sig.INativeAttribute.md)  representing what is known about the target\(s\).

## Abstract Method: getAlternateNames
- return type: `java.util.List<java.lang.String>`

Description: Provides alternate names for the signature target\(s\). These are meaningful names, only used  when the target name is itself meaningful.
return: list of alternate names, possibly null or empty

## Abstract Method: getAttributes
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.sig.INativeAttribute>`

Description: Provides the attributes associated with the signature target\(s\).
return: attributes of the target\(s\)

## Abstract Method: getConfidenceLevel
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature.ConfidenceLevel`

Description: Provides the confidence level of this signature, see [ConfidenceLevel](com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature.ConfidenceLevel.md).
return: signature confidence level

## Abstract Method: getFlags
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignatureFlags`

Description: Provides signature flags.
return: signature flags

## Abstract Method: getPossibleNames
- return type: `java.util.List<java.lang.String>`

Description: Provides a series of meaningful names to use when a signature target name is meaningless.
return: list of possible names, possibly null or empty

## Abstract Method: getTargetName
- return type: `java.lang.String`

Description: Provides the name of the signature target\(s\). The name might not be meaningful, e.g. when the  signature has been created by merging several signatures, see  [NativeSignatureFlags#hasMeaningfulTargetName()](NativeSignatureFlags#hasMeaningfulTargetName()).
return: signature target name

## Abstract Method: match
- parameter: `signature`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature`
- return type: `boolean`

Description: Check if this signature's features are all matched by one of the given signature's features.  Note that the given signature do not need to be exactly equals to this one for this method to  return true, see [#matchExactly(INativeSignature)](#matchExactly(INativeSignature)).
parameter: signature: signature to compare against
return: true if this signature's features are all matched by one feature of the given          signature, false otherwise

## Abstract Method: matchExactly
- parameter: `signature`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature`
- return type: `boolean`

Description: Exact match, i.e. both signatures have exactly the same features.
parameter: signature: signature to compare against
return: true if both signatures have exactly the same features

