---
title: initWithSpecification
framework: kernel
role: pseudoSymbol
path: kernel/ionaturalmemorycursor/1813089-initwithspecification
---

# initWithSpecification

Primary initializer for the IONaturalMemoryCursor class.

## Declaration

```occ
virtual bool initWithSpecification(
 IOPhysicalLength maxSegmentSize, 
 IOPhysicalLength maxTransferSize, 
 IOPhysicalLength alignment = 1); 
```

## Parameters

- `maxSegmentSize`: Maximum allowable size for one segment. Defaults to 0.
- `maxTransferSize`: Maximum size of an entire transfer. Defaults to 0 indicating no maximum.
- `alignment`: Alignment restrictions on output physical addresses. Not currently implemented. Defaults to single byte alignment.

## Return Value

Return Value Returns true if the inherited classes and this instance initialize successfully.

## See Also

### Miscellaneous

- [getPhysicalSegments](kernel/ionaturalmemorycursor/1813076-getphysicalsegments.md)
- [outputSegment](kernel/ionaturalmemorycursor/1813100-outputsegment.md)
- [withSpecification](kernel/ionaturalmemorycursor/1813112-withspecification.md)
