---
title: initWithSpecification
framework: kernel
role: pseudoSymbol
path: kernel/iomemorycursor/1812445-initwithspecification
---

# initWithSpecification

Primary initializer for the IOMemoryCursor class.

## Declaration

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

## Parameters

- `outSegFunc`: SegmentFunction to call to output one physical segment.
- `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

- [genPhysicalSegments](kernel/iomemorycursor/1812441-genphysicalsegments.md)
- [withSpecification](kernel/iomemorycursor/1812453-withspecification.md)
