| /* |
| * Copyright (c) 2022 Raspberry Pi (Trading) Ltd. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #ifndef _PICO_LWIP_NOSYS_H |
| #define _PICO_LWIP_NOSYS_H |
| |
| #include "pico.h" |
| #include "pico/async_context.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** \file pico/lwip_nosys.h |
| * \defgroup pico_lwip_nosys pico_lwip_nosys |
| * \ingroup pico_lwip |
| * \brief Glue library for integration lwIP in \c NO_SYS=1 mode with the SDK |
| * |
| * Simple \c init and \c deinit are all that is required to hook up lwIP via an \ref async_context instance. |
| */ |
| |
| /*! \brief Initializes lwIP (NO_SYS=1 mode) support support using the provided async_context |
| * \ingroup pico_lwip_nosys |
| * |
| * If the initialization succeeds, \ref lwip_nosys_deinit() can be called to shutdown lwIP support |
| * |
| * \param context the async_context instance that provides the abstraction for handling asynchronous work. |
| * \return true if the initialization succeeded |
| */ |
| bool lwip_nosys_init(async_context_t *context); |
| |
| /*! \brief De-initialize lwIP (NO_SYS=1 mode) support |
| * \ingroup pico_lwip_nosys |
| * |
| * Note that since lwIP may only be initialized once, and doesn't itself provide a shutdown mechanism, lwIP |
| * itself may still consume resources |
| * |
| * It is however safe to call \ref lwip_nosys_init again later. |
| * |
| * \param context the async_context the lwip_nosys support was added to via \ref lwip_nosys_init |
| */ |
| void lwip_nosys_deinit(async_context_t *context); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |