---
title: withExternalBuffer
framework: kernel
role: pseudoSymbol
path: kernel/ionetworkdata/1812563-withexternalbuffer
---

# withExternalBuffer

Factory method that constructs and initializes an IONetworkData object with an external data buffer.

## Declaration

```occ
static IONetworkData * withExternalBuffer(
 const char *name, 
 UInt32 bufferSize, 
 void *externalBuffer, 
 UInt32 accessTypes = (
 kIONetworkDataAccessTypeRead | kIONetworkDataAccessTypeSerialize), 
 void *target = 0, 
 Action action = 0, 
 void *param = 0); 
```

## Parameters

- `name`: A name to assign to this object.
- `bufferSize`: The size of the external data buffer.
- `externalBuffer`: Pointer to the external data buffer.
- `accessTypes`: The initial supported access types.
- `target`: The notification target.
- `action`: The notification action.
- `param`: A parameter to pass to the notification action.

## Return Value

Return Value Returns an IONetworkData object on success, or 0 otherwise.

## See Also

### Miscellaneous

- [clearBuffer](kernel/ionetworkdata/1812449-clearbuffer.md)
- [free](kernel/ionetworkdata/1812455-free.md)
- [getAccessTypes](kernel/ionetworkdata/1812461-getaccesstypes.md)
- [getBuffer](kernel/ionetworkdata/1812470-getbuffer.md)
- [getBufferType](kernel/ionetworkdata/1812479-getbuffertype.md)
- [getKey](kernel/ionetworkdata/1812486-getkey.md)
- [getNotificationAction](kernel/ionetworkdata/1812491-getnotificationaction.md)
- [getNotificationParameter](kernel/ionetworkdata/1812494-getnotificationparameter.md)
- [getNotificationTarget](kernel/ionetworkdata/1812497-getnotificationtarget.md)
- [getSize](kernel/ionetworkdata/1812500-getsize.md)
- [init](kernel/ionetworkdata/1812508-init.md)
- [read](kernel/ionetworkdata/1812511-read.md)
- [readBytes](kernel/ionetworkdata/1812517-readbytes.md)
- [reset](kernel/ionetworkdata/1812524-reset.md)
- [serialize](kernel/ionetworkdata/1812531-serialize.md)
- [setAccessTypes](kernel/ionetworkdata/1812540-setaccesstypes.md)
- [setNotificationTarget](kernel/ionetworkdata/1812552-setnotificationtarget.md)
- [withInternalBuffer](kernel/ionetworkdata/1812581-withinternalbuffer.md)
- [withNoBuffer](kernel/ionetworkdata/1812601-withnobuffer.md)
- [write](kernel/ionetworkdata/1812620-write.md)
- [writeBytes](kernel/ionetworkdata/1812640-writebytes.md)
