---
title: enqueue
framework: kernel
role: pseudoSymbol
path: kernel/iobasicoutputqueue/1811623-enqueue
---

# enqueue

Adds a packet, or a chain of packets, to the queue.

## Declaration

```occ
virtual UInt32 enqueue(
 mbuf_tm,
 void *param); 
```

## Parameters

- `m`: A single packet, or a chain of packets.
- `param`: A parameter provided by the caller.

## Return Value

Return Value Always returns 0.

## Overview

Overview This method is called by a client to add a packet, or a chain of packets, to the queue. A packet is described by an mbuf chain, while a chain of packets is constructed by linking multiple mbuf chains via the m_nextpkt field. This method can be called by multiple client threads.

## See Also

### Miscellaneous

- [flush](kernel/iobasicoutputqueue/1811630-flush.md)
- [free](kernel/iobasicoutputqueue/1811636-free.md)
- [getCapacity](kernel/iobasicoutputqueue/1811642-getcapacity.md)
- [getDropCount](kernel/iobasicoutputqueue/1811646-getdropcount.md)
- [getOutputCount](kernel/iobasicoutputqueue/1811651-getoutputcount.md)
- [getRetryCount](kernel/iobasicoutputqueue/1811660-getretrycount.md)
- [getSize](kernel/iobasicoutputqueue/1811664-getsize.md)
- [getStallCount](kernel/iobasicoutputqueue/1811671-getstallcount.md)
- [getState](kernel/iobasicoutputqueue/1811677-getstate.md)
- [getStatisticsData](kernel/iobasicoutputqueue/1811683-getstatisticsdata.md)
- [handleNetworkDataAccess](kernel/iobasicoutputqueue/1811690-handlenetworkdataaccess.md)
- [init](kernel/iobasicoutputqueue/1811696-init.md)
- [output](kernel/iobasicoutputqueue/1811702-output.md)
- [service](kernel/iobasicoutputqueue/1811708-service.md)
- [serviceThread](kernel/iobasicoutputqueue/1811713-servicethread.md)
- [setCapacity](kernel/iobasicoutputqueue/1811721-setcapacity.md)
- [start](kernel/iobasicoutputqueue/1811726-start.md)
- [stop](kernel/iobasicoutputqueue/1811734-stop.md)
- [withTarget(IONetworkController *, UInt32)](kernel/iobasicoutputqueue/1811748-withtarget.md)
- [withTarget(IONetworkController *, UInt32, UInt32)](kernel/iobasicoutputqueue/1811755-withtarget.md)
- [withTarget(OSObject *, IOOutputAction, UInt32)](kernel/iobasicoutputqueue/1811763-withtarget.md)
- [withTarget(OSObject *, IOOutputAction, UInt32, UInt32)](kernel/iobasicoutputqueue/1811770-withtarget.md)
