File: mg_set_user_connection_data.md

package info (click to toggle)
civetweb 1.16%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,576 kB
  • sloc: ansic: 32,463; cpp: 1,374; sh: 480; javascript: 204; makefile: 119; php: 11; perl: 6; python: 3
file content (44 lines) | stat: -rw-r--r-- 1,428 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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)