mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00

Since struct lws (wsi) now has his own context pointer, we were able to remove the need for passing context almost everywhere in the apis. In turn, that means there's no real use for context being passed to every callback; in the rare cases context is needed user code can get it with lws_get_ctx(wsi) Signed-off-by: Andy Green <andy.green@linaro.org>
77 lines
1.6 KiB
C
77 lines
1.6 KiB
C
#include "lws_config.h"
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <getopt.h>
|
|
#include <signal.h>
|
|
#include <string.h>
|
|
#include <sys/stat.h>
|
|
#include <fcntl.h>
|
|
#include <assert.h>
|
|
|
|
#include "../lib/libwebsockets.h"
|
|
|
|
#ifdef _WIN32
|
|
#include <io.h>
|
|
#ifdef EXTERNAL_POLL
|
|
#define poll WSAPoll
|
|
#endif
|
|
#include "gettimeofday.h"
|
|
#else
|
|
#include <syslog.h>
|
|
#include <sys/time.h>
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
extern int close_testing;
|
|
extern int max_poll_elements;
|
|
|
|
#ifdef EXTERNAL_POLL
|
|
extern struct lws_pollfd *pollfds;
|
|
extern int *fd_lookup;
|
|
extern int count_pollfds;
|
|
#endif
|
|
extern volatile int force_exit;
|
|
extern struct lws_context *context;
|
|
extern char *resource_path;
|
|
|
|
extern void test_server_lock(int care);
|
|
extern void test_server_unlock(int care);
|
|
|
|
#ifndef __func__
|
|
#define __func__ __FUNCTION__
|
|
#endif
|
|
|
|
struct per_session_data__http {
|
|
lws_filefd_type fd;
|
|
};
|
|
|
|
/*
|
|
* one of these is auto-created for each connection and a pointer to the
|
|
* appropriate instance is passed to the callback in the user parameter
|
|
*
|
|
* for this example protocol we use it to individualize the count for each
|
|
* connection.
|
|
*/
|
|
|
|
struct per_session_data__dumb_increment {
|
|
int number;
|
|
};
|
|
|
|
struct per_session_data__lws_mirror {
|
|
struct lws *wsi;
|
|
int ringbuffer_tail;
|
|
};
|
|
|
|
extern int
|
|
callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user,
|
|
void *in, size_t len);
|
|
extern int
|
|
callback_lws_mirror(struct lws *wsi, enum lws_callback_reasons reason,
|
|
void *user, void *in, size_t len);
|
|
extern int
|
|
callback_dumb_increment(struct lws *wsi, enum lws_callback_reasons reason,
|
|
void *user, void *in, size_t len);
|
|
|
|
extern void
|
|
dump_handshake_info(struct lws *wsi);
|