= nng_aio_set_input(3)
:doctype: manpage
:manmanual: nng
:mansource: nng
:manvolnum: 3
:copyright: Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] + \
            Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV] + \
            {blank} + \
            This document is supplied under the terms of the \
            https://opensource.org/licenses/MIT[MIT License].

== NAME

nng_aio_set_input - set input parameter

== SYNOPSIS

[source, c]
-----------
#include <nng/nng.h>

void nng_aio_set_input(nng_aio *aio, unsigned int index, void *param);
-----------

== DESCRIPTION

The `nng_aio_set_input()` function sets the input parameter at _index_ 
to _param_ for the asynchronous operation associated with _aio_.

The type and semantics of input parameters are determined by specific
operations; the caller must supply appropriate inputs for the operation
to be performed.

The valid values of _index_ range from zero (0) to three (3), as no operation
currently defined can accept more than four parameters.  (This limit could
increase in the future.)

NOTE: If the _index_ does not correspond to a defined input for the operation,
then this function will have no effect.  Note that attempts to set
parameters with an index greater than three (3) will simply be ignored.

CAUTION: It is an error to call this function while the _aio_ is currently
in use by an active asynchronous operation.

An input parameter set with this function may be retrieved later with
the <<nng_aio_get_input#,nng_aio_get_input(3)>> function.

== RETURN VALUES

None.

== ERRORS

None.

== SEE ALSO

<<nng_aio_alloc#,nng_aio_alloc(3)>>,
<<nng_aio_get_input#,nng_aio_get_input(3)>>,
<<nng_aio_get_output#,nng_aio_get_output(3)>>,
<<nng_aio_result#,nng_aio_result(3)>>,
<<nng#,nng(7)>>

== COPYRIGHT

{copyright}
