Package com.sun.jna

# Class ELFAnalyser

java.lang.Object
com.sun.jna.ELFAnalyser

class ELFAnalyser extends Object
Analyse an ELF file for platform specific attributes.

Primary use-case: Detect whether the java binary is arm hardfloat or softfloat.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`(package private) static class`
`ELFAnalyser.ArmAeabiAttributesTag`
`(package private) static class`
`ELFAnalyser.ELFSectionHeaderEntry`
`(package private) static class`
`ELFAnalyser.ELFSectionHeaders`

## Method Summary

Modifier and Type
Method
Description
`static ELFAnalyser`
`analyse(String filename)`
`String`
`getFilename()`
`boolean`
`is64Bit()`
`boolean`
`isArm()`
`boolean`
`isArmEabiAapcsVfp()`
`boolean`
`isArmHardFloat()`
`boolean`
`isArmHardFloatFlag()`
`boolean`
`isArmSoftFloatFlag()`
`boolean`
`isBigEndian()`
`boolean`
`isELF()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### analyse

public static ELFAnalyser analyse(String filename) throws IOException

Throws:
  `IOException`

### isELF

public boolean isELF()

Returns:
  true if the parsed file was detected to be an ELF file

### is64Bit

public boolean is64Bit()

Returns:
  true if the parsed file was detected to be for a 64bit architecture and pointers are expected to be 8byte wide

### isBigEndian

public boolean isBigEndian()

Returns:
  true if the parsed file is detected to be big endian, false if the file is little endian

### getFilename

public String getFilename()

Returns:
  filename of the parsed file

### isArmHardFloat

public boolean isArmHardFloat()

### isArmEabiAapcsVfp

public boolean isArmEabiAapcsVfp()

Returns:
  true if file was detected to specify, that FP parameters/result passing conforms to AAPCS, VFP variant (hardfloat)

### isArmHardFloatFlag

public boolean isArmHardFloatFlag()

Returns:
  true if file was detected to conform to the hardware floating-point procedure-call standard via ELF flags

### isArmSoftFloatFlag

public boolean isArmSoftFloatFlag()

Returns:
  true if file was detected to conform to the software floating-point procedure-call standard via ELF flags

### isArm

public boolean isArm()

Returns:
  true if the parsed file was detected to be build for the arm architecture