1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/include/webfuse/adapter/server.h

78 lines
2.4 KiB
C
Raw Normal View History

2020-02-17 20:53:42 +00:00
////////////////////////////////////////////////////////////////////////////////
/// \file adapter/server.h
/// \brief Adapter server.
////////////////////////////////////////////////////////////////////////////////
2019-03-26 22:04:53 +00:00
#ifndef WF_ADAPTER_SERVER_H
#define WF_ADAPTER_SERVER_H
#include "webfuse/adapter/api.h"
#ifdef __cplusplus
extern "C"
{
#endif
2020-02-17 20:53:42 +00:00
//------------------------------------------------------------------------------
/// \struct wf_server
/// \brief Webfuse adapter server object.
//------------------------------------------------------------------------------
2019-03-26 22:04:53 +00:00
struct wf_server;
2020-02-17 20:53:42 +00:00
2019-03-26 22:04:53 +00:00
struct wf_server_config;
2020-02-17 20:53:42 +00:00
//------------------------------------------------------------------------------
/// \brief Creates a new server.
///
/// \param config pointer to server configuration.
/// \return newly created server or NULL in case of an error
//------------------------------------------------------------------------------
2019-03-26 22:04:53 +00:00
extern WF_API struct wf_server * wf_server_create(
struct wf_server_config * config);
2020-02-17 20:53:42 +00:00
//------------------------------------------------------------------------------
/// \brief Disposes a server.
///
/// \note server configuration is not managed by server.
///
/// \param server pointer to server
//------------------------------------------------------------------------------
2019-03-26 22:04:53 +00:00
extern WF_API void wf_server_dispose(
struct wf_server * server);
2020-02-17 20:53:42 +00:00
//------------------------------------------------------------------------------
/// \brief Triggers the server.
///
/// This function must be invoked in a loop while the server is running. It
/// makes the server wait for the next event and processes it.
///
/// \note timeout_ms is no longer used
///
2020-02-17 20:53:42 +00:00
/// \param server pointer to server
/// \param timeout_ms unused; set to 0; used for backward compatibility
///
/// \see wf_server_interrupt
2020-02-17 20:53:42 +00:00
//------------------------------------------------------------------------------
2019-04-26 18:51:24 +00:00
extern WF_API void wf_server_service(
struct wf_server * server,
int timeout_ms);
2019-03-26 22:04:53 +00:00
//------------------------------------------------------------------------------
/// \brief Interrupts wf_server_service
///
/// This function can be used from another thread.
///
/// \param server pointer to server
///
/// \see wf_server_service
//------------------------------------------------------------------------------
extern WF_API void wf_server_interrupt(
struct wf_server * server);
2019-03-26 22:04:53 +00:00
#ifdef __cplusplus
}
#endif
#endif