# Interface: com.pnfsoftware.jeb.core.units.code.simatic.IS7Unit

S7 container unit. Provide mapping support for blocks and MC7 execution environment artifacts into a VM managed by the native code analysis pipeline.

## Method: getAddressOfCode
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.simatic.S7.BlockType`
- parameter: `number`, type: `int`
- return type: `long`

Description: Retrieve the mapping address of a logic block's code.
parameter: type: one of OB, FB, FC, SFB, SFC
parameter: number: block number
return: a VM address, \-1 on error

## Method: getAddressOfCounters
- return type: `long`

Description: Retrieve the mapping address of the counters area.
return: a VM address, \-1 on error

## Method: getAddressOfData
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.simatic.S7.BlockType`
- parameter: `number`, type: `int`
- return type: `long`

Description: Retrieve the mapping address of a data block's data area.
parameter: type: one of DB, SDB
parameter: number: block number
return: a VM address, \-1 on error

## Method: getAddressOfDigitalInputs
- return type: `long`

Description: Retrieve the mapping address of the digital inputs area.
return: a VM address, \-1 on error

## Method: getAddressOfDigitalOutputs
- return type: `long`

Description: Retrieve the mapping address of the digital outputs area.
return: a VM address, \-1 on error

## Method: getAddressOfGlobals
- return type: `long`

Description: Retrieve the mapping address of the global memory area.
return: a VM address, \-1 on error

## Method: getAddressOfRawBytes
- parameter: `blk`, type: `com.pnfsoftware.jeb.core.units.code.simatic.IS7Block`
- return type: `long`

Description: Retrieve the mapping address of the raw \(uninterpreted\) bytes of a block.
parameter: blk: a block
return: a VM address, \-1 on error

## Method: getAddressOfTimers
- return type: `long`

Description: Retrieve the mapping address of the timers area.
return: a VM address, \-1 on error

## Method: getBlockAt
- parameter: `address`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.simatic.IS7Block`

Description: Retrieve the block whose data \(if the block is a data block\) or code \(if the block is a logic block\) is mapped at the provided address.
parameter: address: start address
return: null on error

## Method: getBlockContaining
- parameter: `address`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.simatic.IS7Block`

Description: Retrieve the block whose data \(if the block is a data block\) or code \(if the block is a logic block\) whose mapping contains the provided address.
parameter: address: an address \(not necessarily the start address\)
return: null on error

