mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
improve callback prototypes to use single definition
Not sure all compilers can hack this, but give it a try Signed-off-by: David Brooks <dave@bcs.co.nz> Signed-off-by: Andy Green <andy@warmcat.com> --
This commit is contained in:
parent
ee2213d365
commit
6c6a3d3caf
2 changed files with 17 additions and 15 deletions
|
@ -227,9 +227,8 @@ struct libwebsocket;
|
|||
struct libwebsocket_context;
|
||||
struct libwebsocket_extension;
|
||||
|
||||
/* document the generic callback (it's a fake prototype under this) */
|
||||
/**
|
||||
* callback() - User server actions
|
||||
* callback_function() - User server actions
|
||||
* @context: Websockets context
|
||||
* @wsi: Opaque websocket instance pointer
|
||||
* @reason: The reason for the call
|
||||
|
@ -424,9 +423,14 @@ LWS_EXTERN int callback(struct libwebsocket_context * context,
|
|||
enum libwebsocket_callback_reasons reason, void *user,
|
||||
void *in, size_t len);
|
||||
|
||||
/* document the generic extension callback (it's a fake prototype under this) */
|
||||
typedef int (callback_function)(struct libwebsocket_context * context,
|
||||
struct libwebsocket *wsi,
|
||||
enum libwebsocket_callback_reasons reason, void *user,
|
||||
void *in, size_t len);
|
||||
|
||||
|
||||
/**
|
||||
* extension_callback() - Hooks to allow extensions to operate
|
||||
* extension_callback_function() - Hooks to allow extensions to operate
|
||||
* @context: Websockets context
|
||||
* @ext: This extension
|
||||
* @wsi: Opaque websocket instance pointer
|
||||
|
@ -483,13 +487,17 @@ LWS_EXTERN int callback(struct libwebsocket_context * context,
|
|||
* buffer safely, it should copy the data into its own buffer and
|
||||
* set the lws_tokens token pointer to it.
|
||||
*/
|
||||
|
||||
LWS_EXTERN int extension_callback(struct libwebsocket_context * context,
|
||||
struct libwebsocket_extension *ext,
|
||||
struct libwebsocket *wsi,
|
||||
enum libwebsocket_callback_reasons reason, void *user,
|
||||
enum libwebsocket_extension_callback_reasons reason, void *user,
|
||||
void *in, size_t len);
|
||||
|
||||
typedef int (extension_callback_function)(struct libwebsocket_context * context,
|
||||
struct libwebsocket_extension *ext,
|
||||
struct libwebsocket *wsi,
|
||||
enum libwebsocket_extension_callback_reasons reason, void *user,
|
||||
void *in, size_t len);
|
||||
|
||||
/**
|
||||
* struct libwebsocket_protocols - List of protocols and handlers server
|
||||
|
@ -521,10 +529,7 @@ LWS_EXTERN int extension_callback(struct libwebsocket_context * context,
|
|||
|
||||
struct libwebsocket_protocols {
|
||||
const char *name;
|
||||
int (*callback)(struct libwebsocket_context * context,
|
||||
struct libwebsocket *wsi,
|
||||
enum libwebsocket_callback_reasons reason, void *user,
|
||||
void *in, size_t len);
|
||||
callback_function *callback;
|
||||
size_t per_session_data_size;
|
||||
|
||||
/*
|
||||
|
@ -553,11 +558,7 @@ struct libwebsocket_protocols {
|
|||
|
||||
struct libwebsocket_extension {
|
||||
const char *name;
|
||||
int (*callback)(struct libwebsocket_context *context,
|
||||
struct libwebsocket_extension *ext,
|
||||
struct libwebsocket *wsi,
|
||||
enum libwebsocket_extension_callback_reasons reason,
|
||||
void *user, void *in, size_t len);
|
||||
extension_callback_function *callback;
|
||||
size_t per_session_data_size;
|
||||
void * per_context_private_data;
|
||||
};
|
||||
|
|
|
@ -333,6 +333,7 @@ struct libwebsocket {
|
|||
char *c_host;
|
||||
char *c_origin;
|
||||
char *c_protocol;
|
||||
callback_function *c_callback;
|
||||
|
||||
char *c_address;
|
||||
int c_port;
|
||||
|
|
Loading…
Add table
Reference in a new issue