mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
libwebsocket_context: add userspace pointer for use before wsi creation
Signed-off-by: Alon Levy <alevy@redhat.com>
This commit is contained in:
parent
e1be13d8b5
commit
0291eb3b95
9 changed files with 22 additions and 8 deletions
|
@ -2118,6 +2118,12 @@ libwebsocket_context_destroy(struct libwebsocket_context *context)
|
|||
#endif
|
||||
}
|
||||
|
||||
LWS_EXTERN void *
|
||||
libwebsocket_context_user(struct libwebsocket_context *context)
|
||||
{
|
||||
return context->user_space;
|
||||
}
|
||||
|
||||
/**
|
||||
* libwebsocket_service() - Service any pending websocket activity
|
||||
* @context: Websocket context
|
||||
|
@ -2504,7 +2510,8 @@ libwebsocket_create_context(int port, const char *interf,
|
|||
struct libwebsocket_extension *extensions,
|
||||
const char *ssl_cert_filepath,
|
||||
const char *ssl_private_key_filepath,
|
||||
int gid, int uid, unsigned int options)
|
||||
int gid, int uid, unsigned int options,
|
||||
void *user)
|
||||
{
|
||||
int n;
|
||||
int m;
|
||||
|
@ -2568,6 +2575,7 @@ libwebsocket_create_context(int port, const char *interf,
|
|||
context->fds_count = 0;
|
||||
context->extensions = extensions;
|
||||
context->last_timeout_check_s = 0;
|
||||
context->user_space = user;
|
||||
|
||||
#ifdef WIN32
|
||||
context->fd_random = 0;
|
||||
|
|
|
@ -579,7 +579,7 @@ libwebsocket_create_context(int port, const char * interf,
|
|||
struct libwebsocket_extension *extensions,
|
||||
const char *ssl_cert_filepath,
|
||||
const char *ssl_private_key_filepath, int gid, int uid,
|
||||
unsigned int options);
|
||||
unsigned int options, void *user);
|
||||
|
||||
LWS_EXTERN void
|
||||
libwebsocket_context_destroy(struct libwebsocket_context *context);
|
||||
|
@ -594,6 +594,9 @@ LWS_EXTERN int
|
|||
libwebsocket_service_fd(struct libwebsocket_context *context,
|
||||
struct pollfd *pollfd);
|
||||
|
||||
LWS_EXTERN void *
|
||||
libwebsocket_context_user(struct libwebsocket_context *context);
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTICE!
|
||||
*
|
||||
|
|
|
@ -258,6 +258,8 @@ struct libwebsocket_context {
|
|||
struct libwebsocket_protocols *protocols;
|
||||
int count_protocols;
|
||||
struct libwebsocket_extension *extensions;
|
||||
|
||||
void *user_space;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -226,7 +226,8 @@ has been created.
|
|||
<i>const char *</i> <b>ssl_private_key_filepath</b>,
|
||||
<i>int</i> <b>gid</b>,
|
||||
<i>int</i> <b>uid</b>,
|
||||
<i>unsigned int</i> <b>options</b>)
|
||||
<i>unsigned int</i> <b>options</b>,
|
||||
<i>void *</i> <b>user</b>)
|
||||
<h3>Arguments</h3>
|
||||
<dl>
|
||||
<dt><b>port</b>
|
||||
|
|
|
@ -258,7 +258,7 @@ int main(int argc, char **argv)
|
|||
|
||||
context = libwebsocket_create_context(CONTEXT_PORT_NO_LISTEN, NULL,
|
||||
protocols, libwebsocket_internal_extensions,
|
||||
NULL, NULL, -1, -1, 0);
|
||||
NULL, NULL, -1, -1, 0, NULL);
|
||||
if (context == NULL) {
|
||||
fprintf(stderr, "Creating libwebsocket context failed\n");
|
||||
return 1;
|
||||
|
|
|
@ -301,7 +301,7 @@ int main(int argc, char **argv)
|
|||
|
||||
context = libwebsocket_create_context(server_port, interface, protocols,
|
||||
libwebsocket_internal_extensions,
|
||||
cert_path, key_path, -1, -1, opts);
|
||||
cert_path, key_path, -1, -1, opts, NULL);
|
||||
if (context == NULL) {
|
||||
fprintf(stderr, "libwebsocket init failed\n");
|
||||
return -1;
|
||||
|
|
|
@ -403,7 +403,7 @@ int main(int argc, char **argv)
|
|||
context = libwebsocket_create_context(CONTEXT_PORT_NO_LISTEN, NULL,
|
||||
protocols,
|
||||
libwebsocket_internal_extensions,
|
||||
NULL, NULL, -1, -1, 0);
|
||||
NULL, NULL, -1, -1, 0, NULL);
|
||||
if (context == NULL) {
|
||||
fprintf(stderr, "Creating libwebsocket context failed\n");
|
||||
return 1;
|
||||
|
|
|
@ -484,7 +484,7 @@ int main(int argc, char **argv)
|
|||
|
||||
context = libwebsocket_create_context(port, interface_ptr, protocols,
|
||||
libwebsocket_internal_extensions,
|
||||
cert_path, key_path, -1, -1, opts);
|
||||
cert_path, key_path, -1, -1, opts, NULL);
|
||||
if (context == NULL) {
|
||||
fprintf(stderr, "libwebsocket init failed\n");
|
||||
return -1;
|
||||
|
|
|
@ -447,7 +447,7 @@ int main(int argc, char **argv)
|
|||
|
||||
context = libwebsocket_create_context(port, interface, protocols,
|
||||
libwebsocket_internal_extensions,
|
||||
cert_path, key_path, -1, -1, opts);
|
||||
cert_path, key_path, -1, -1, opts, NULL);
|
||||
if (context == NULL) {
|
||||
fprintf(stderr, "libwebsocket init failed\n");
|
||||
return -1;
|
||||
|
|
Loading…
Add table
Reference in a new issue