# [−][src]Function mynewt::kernel::os::os_mqueue_init

    pub unsafe extern "C" fn os_mqueue_init(
        mq: *mut os_mqueue,
        ev_cb: os_event_fn,
        arg: *mut c_void
    ) -> c_int

Initializes an mqueue. An mqueue is a queue of mbufs that ties to a particular task's event queue. Mqueues form a helper API around a common paradigm: wait on an event queue until at least one packet is available, then process a queue of packets.

When mbufs are available on the queue, an event OS_EVENT_T_MQUEUE_DATA will be posted to the task's mbuf queue.

- `mq`: The mqueue to initialize
- `ev_cb`: The callback to associate with the mqeueue event. Typically, this callback pulls each packet off the mqueue and processes them.
- `arg`: The argument to associate with the mqueue event.

Return: 0 on success, non-zero on failure.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)