---
title: createOutputQueue
framework: kernel
role: pseudoSymbol
path: kernel/ionetworkcontroller/1813927-createoutputqueue
---

# createOutputQueue

Creates an IOOutputQueue to handle output packet queueing, and also to resolve contention for the controller's transmitter from multiple client threads.

## Declaration

```occ
virtual IOOutputQueue * createOutputQueue(); 
```

## Return Value

Return Value Returns a newly allocated and initialized IOOutputQueue object.

## Overview

Overview This method is called by start() to create an IOOutputQueue object to handle output packet queueing. The default implementation will always return 0, hence no output queue will be created. A driver may override this method and return a subclass of IOOutputQueue. IONetworkController will keep a reference to the queue created, and will release this object when IONetworkController is freed. Also see getOutputQueue().

## See Also

### Miscellaneous

- [allocatePacket](kernel/ionetworkcontroller/1813917-allocatepacket.md)
- [attachDebuggerClient](kernel/ionetworkcontroller/1813919-attachdebuggerclient.md)
- [attachInterface](kernel/ionetworkcontroller/1813921-attachinterface.md)
- [configureInterface](kernel/ionetworkcontroller/1813923-configureinterface.md)
- [copyMediumDictionary](kernel/ionetworkcontroller/1813924-copymediumdictionary.md)
- [copyPacket](kernel/ionetworkcontroller/1813925-copypacket.md)
- [createInterface](kernel/ionetworkcontroller/1813926-createinterface.md)
- [createWorkLoop](kernel/ionetworkcontroller/1813928-createworkloop.md)
- [detachDebuggerClient](kernel/ionetworkcontroller/1813929-detachdebuggerclient.md)
- [detachInterface](kernel/ionetworkcontroller/1813930-detachinterface.md)
- [disable](kernel/ionetworkcontroller/1813931-disable.md)
- [disable(IONetworkInterface *)](kernel/ionetworkcontroller/1813932-disable.md)
- [disable(IOService *)](kernel/ionetworkcontroller/1813933-disable.md)
- [disablePacketFilter](kernel/ionetworkcontroller/1813934-disablepacketfilter.md)
- [doDisable](kernel/ionetworkcontroller/1813935-dodisable.md)
- [doEnable](kernel/ionetworkcontroller/1813936-doenable.md)
- [enable](kernel/ionetworkcontroller/1813937-enable.md)
- [enable(IONetworkInterface *)](kernel/ionetworkcontroller/1813938-enable.md)
- [enable(IOService *)](kernel/ionetworkcontroller/1813939-enable.md)
- [enablePacketFilter](kernel/ionetworkcontroller/1813940-enablepacketfilter.md)
- [executeCommand](kernel/ionetworkcontroller/1813941-executecommand.md)
- [free](kernel/ionetworkcontroller/1813942-free.md)
- [freePacket](kernel/ionetworkcontroller/1813943-freepacket.md)
- [getChecksumDemand](kernel/ionetworkcontroller/1813944-getchecksumdemand.md)
- [getChecksumSupport](kernel/ionetworkcontroller/1813945-getchecksumsupport.md)
- [getCommandClient](kernel/ionetworkcontroller/1813946-getcommandclient.md)
- [getCommandGate](kernel/ionetworkcontroller/1813947-getcommandgate.md)
- [getDebuggerLinkStatus](kernel/ionetworkcontroller/1813949-getdebuggerlinkstatus.md)
- [getFeatures](kernel/ionetworkcontroller/1813951-getfeatures.md)
- [getHardwareAddress](kernel/ionetworkcontroller/1813953-gethardwareaddress.md)
- [getMaxPacketSize](kernel/ionetworkcontroller/1813954-getmaxpacketsize.md)
- [getMediumDictionary](kernel/ionetworkcontroller/1813956-getmediumdictionary.md)
- [getMinPacketSize](kernel/ionetworkcontroller/1813957-getminpacketsize.md)
- [getOutputHandler](kernel/ionetworkcontroller/1813959-getoutputhandler.md)
- [getOutputQueue](kernel/ionetworkcontroller/1813960-getoutputqueue.md)
- [getPacketBufferConstraints](kernel/ionetworkcontroller/1813962-getpacketbufferconstraints.md)
- [getPacketFilters](kernel/ionetworkcontroller/1813964-getpacketfilters.md)
- [getSelectedMedium](kernel/ionetworkcontroller/1813966-getselectedmedium.md)
- [handleClose](kernel/ionetworkcontroller/1813967-handleclose.md)
- [handleIsOpen](kernel/ionetworkcontroller/1813968-handleisopen.md)
- [handleOpen](kernel/ionetworkcontroller/1813969-handleopen.md)
- [init](kernel/ionetworkcontroller/1813970-init.md)
- [message](kernel/ionetworkcontroller/1813971-message.md)
- [newModelString](kernel/ionetworkcontroller/1813972-newmodelstring.md)
- [newRevisionString](kernel/ionetworkcontroller/1813973-newrevisionstring.md)
- [newVendorString](kernel/ionetworkcontroller/1813974-newvendorstring.md)
- [outputPacket](kernel/ionetworkcontroller/1813975-outputpacket.md)
- [prepare](kernel/ionetworkcontroller/1813976-prepare.md)
- [publishMediumDictionary](kernel/ionetworkcontroller/1813977-publishmediumdictionary.md)
- [publishProperties](kernel/ionetworkcontroller/1813978-publishproperties.md)
- [receivePacket](kernel/ionetworkcontroller/1813979-receivepacket.md)
- [registerWithPolicyMaker](kernel/ionetworkcontroller/1813980-registerwithpolicymaker.md)
- [releaseDebuggerLock](kernel/ionetworkcontroller/1813981-releasedebuggerlock.md)
- [releaseFreePackets](kernel/ionetworkcontroller/1813982-releasefreepackets.md)
- [replaceOrCopyPacket](kernel/ionetworkcontroller/1813983-replaceorcopypacket.md)
- [replacePacket](kernel/ionetworkcontroller/1813984-replacepacket.md)
- [reserveDebuggerLock](kernel/ionetworkcontroller/1813985-reservedebuggerlock.md)
- [selectMedium](kernel/ionetworkcontroller/1813986-selectmedium.md)
- [selectMediumWithName](kernel/ionetworkcontroller/1813987-selectmediumwithname.md)
- [sendPacket](kernel/ionetworkcontroller/1813988-sendpacket.md)
- [setChecksumResult](kernel/ionetworkcontroller/1813989-setchecksumresult.md)
- [setDebuggerMode](kernel/ionetworkcontroller/1813990-setdebuggermode.md)
- [setHardwareAddress](kernel/ionetworkcontroller/1813991-sethardwareaddress.md)
- [setLinkStatus](kernel/ionetworkcontroller/1813992-setlinkstatus.md)
- [setMaxPacketSize](kernel/ionetworkcontroller/1813993-setmaxpacketsize.md)
- [setSelectedMedium](kernel/ionetworkcontroller/1813994-setselectedmedium.md)
- [start](kernel/ionetworkcontroller/1813995-start.md)
- [stop](kernel/ionetworkcontroller/1813996-stop.md)
- [systemWillShutdown](kernel/ionetworkcontroller/1813997-systemwillshutdown.md)
