diff options
Diffstat (limited to 'src/civetweb/docs/api/mg_set_user_connection_data.md')
-rw-r--r-- | src/civetweb/docs/api/mg_set_user_connection_data.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/civetweb/docs/api/mg_set_user_connection_data.md b/src/civetweb/docs/api/mg_set_user_connection_data.md new file mode 100644 index 00000000..adafc229 --- /dev/null +++ b/src/civetweb/docs/api/mg_set_user_connection_data.md @@ -0,0 +1,44 @@ +# Civetweb API Reference + +### `mg_set_user_connection_data( conn, data );` + +### Parameters + +| Parameter | Type | Description | +| :--- | :--- | :--- | +|**`conn`**|`struct mg_connection *`|connection to add the user data| +|**`data`**|`void *`|Pointer to the user data| + +### Return Value + +*none* + +### Description + +The function `mg_set_user_connection_data()` can be used to set a user defined +data pointer attached to a connection. This value can be read using +`mg_get_user_connection_data()`. +Any call to `mg_set_user_connection_data()` will overwrite a previously +assigned user data pointer. + +`mg_set_user_connection_data()` requires a non-const +`struct mg_connection *` to set the user data pointer. It is save to use the +`const struct mg_connection *` passed to a websocket connect handler (with a +const cast), since `const` just means you must not use `mg_read()` or +`mg_write()` in this context. + +Alternatively, you can use the `init_connection` callback in +`struct mg_callbacks` to set the user data pointer. +In this case, typically `init_connection` is used to allocate memory for +a user defined `struct`, while `connection_close` is used to free this +memory again. + + +### See Also + +* [`mg_get_user_connection_data();`](mg_get_user_connection_data.md) +* [`struct mg_callbacks`](mg_callbacks.md) +* [`mg_set_websocket_handler();`](mg_set_websocket_handler.md) +* [`mg_read();`](mg_read.md) +* [`mg_write();`](mg_write.md) + |