libwebsockets
Lightweight C library for HTML5 websockets
Toggle main menu visibility
Loading...
Searching...
No Matches
lws-async-ipc.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2026 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22
* IN THE SOFTWARE.
23
*/
24
25
#ifndef _LWS_ASYNC_IPC_H_
26
#define _LWS_ASYNC_IPC_H_
27
28
struct
lws_async_ipc;
29
30
typedef
enum
{
31
LWS_ASYNC_IPC_STATE_CONNECTED
,
32
LWS_ASYNC_IPC_STATE_RX
,
33
LWS_ASYNC_IPC_STATE_TIMEOUT
,
34
LWS_ASYNC_IPC_STATE_ERROR
,
35
LWS_ASYNC_IPC_STATE_DESTROYED
,
36
}
lws_async_ipc_state_t
;
37
38
struct
lws_async_ipc_cb_args
{
39
struct
lws_async_ipc *
ipc
;
40
lws_async_ipc_state_t
state
;
41
const
void
*
data
;
42
size_t
len
;
43
void
*
opaque
;
44
};
45
46
typedef
int (*
lws_async_ipc_cb_t
)(
const
struct
lws_async_ipc_cb_args
*args);
47
48
struct
lws_async_ipc_info
{
49
struct
lws_context *
cx
;
50
const
char
*
uds_path
;
51
lws_async_ipc_cb_t
cb
;
52
void
*
opaque
;
53
};
54
55
LWS_VISIBLE
LWS_EXTERN
struct
lws_async_ipc *
56
lws_async_ipc_create
(
const
struct
lws_async_ipc_info
*info);
57
58
LWS_VISIBLE
LWS_EXTERN
void
59
lws_async_ipc_destroy
(
struct
lws_async_ipc **ipc);
60
61
LWS_VISIBLE
LWS_EXTERN
int
62
lws_async_ipc_queue_payload
(
struct
lws_async_ipc *ipc,
63
const
void
*payload,
size_t
len);
64
65
#endif
LWS_EXTERN
#define LWS_EXTERN
Definition
libwebsockets.h:296
LWS_VISIBLE
#define LWS_VISIBLE
Definition
libwebsockets.h:291
lws_async_ipc_cb_args::opaque
void * opaque
Definition
lws-async-ipc.h:43
lws_async_ipc_cb_args::state
lws_async_ipc_state_t state
Definition
lws-async-ipc.h:40
lws_async_ipc_info::cx
struct lws_context * cx
Definition
lws-async-ipc.h:49
lws_async_ipc_info::cb
lws_async_ipc_cb_t cb
Definition
lws-async-ipc.h:51
lws_async_ipc_info::uds_path
const char * uds_path
Definition
lws-async-ipc.h:50
lws_async_ipc_cb_t
int(* lws_async_ipc_cb_t)(const struct lws_async_ipc_cb_args *args)
Definition
lws-async-ipc.h:46
lws_async_ipc_info::opaque
void * opaque
Definition
lws-async-ipc.h:52
lws_async_ipc_queue_payload
LWS_VISIBLE LWS_EXTERN int lws_async_ipc_queue_payload(struct lws_async_ipc *ipc, const void *payload, size_t len)
lws_async_ipc_destroy
LWS_VISIBLE LWS_EXTERN void lws_async_ipc_destroy(struct lws_async_ipc **ipc)
lws_async_ipc_cb_args::ipc
struct lws_async_ipc * ipc
Definition
lws-async-ipc.h:39
lws_async_ipc_cb_args::len
size_t len
Definition
lws-async-ipc.h:42
lws_async_ipc_state_t
lws_async_ipc_state_t
Definition
lws-async-ipc.h:30
LWS_ASYNC_IPC_STATE_RX
@ LWS_ASYNC_IPC_STATE_RX
Definition
lws-async-ipc.h:32
LWS_ASYNC_IPC_STATE_TIMEOUT
@ LWS_ASYNC_IPC_STATE_TIMEOUT
Definition
lws-async-ipc.h:33
LWS_ASYNC_IPC_STATE_ERROR
@ LWS_ASYNC_IPC_STATE_ERROR
Definition
lws-async-ipc.h:34
LWS_ASYNC_IPC_STATE_CONNECTED
@ LWS_ASYNC_IPC_STATE_CONNECTED
Definition
lws-async-ipc.h:31
LWS_ASYNC_IPC_STATE_DESTROYED
@ LWS_ASYNC_IPC_STATE_DESTROYED
Definition
lws-async-ipc.h:35
lws_async_ipc_cb_args::data
const void * data
Definition
lws-async-ipc.h:41
lws_async_ipc_create
LWS_VISIBLE LWS_EXTERN struct lws_async_ipc * lws_async_ipc_create(const struct lws_async_ipc_info *info)
lws_async_ipc_cb_args
Definition
lws-async-ipc.h:38
lws_async_ipc_info
Definition
lws-async-ipc.h:48
include
libwebsockets
lws-async-ipc.h
Generated on
for libwebsockets by
1.18.0