= nng_aio_set_input(3)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== 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.

IMPORTANT: 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 xref:nng_aio_get_input.3.adoc[`nng_aio_get_input()`] function.

== RETURN VALUES

None.

== ERRORS

None.

== SEE ALSO

[.text-left]
xref:nng_aio_alloc.3.adoc[nng_aio_alloc(3)],
xref:nng_aio_get_input.3.adoc[nng_aio_get_input(3)],
xref:nng_aio_get_output.3.adoc[nng_aio_get_output(3)],
xref:nng_aio_result.3.adoc[nng_aio_result(3)],
xref:nng_aio.5.adoc[nng_aio(5)],
xref:nng.7.adoc[nng(7)]
