MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 2 | #include <erq.h> |
| 3 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 4 | int send_erq(int request, bytes|int * data, closure callback) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 6 | DESCRIPTION |
| 7 | A request of given type (<request>, default is 0), equipped |
| 8 | with the given <data>, is sent to the erq. If <callback> is |
| 9 | set to a closure, it will be called when the response from the |
| 10 | erq (a status code) arrives, if the response carries enough data to |
| 11 | work on. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 13 | <request> can be one of the request codes defined in <erq.h>. |
| 14 | The binary flag ERQ_CB_STRING defines whether the <callback> |
| 15 | closure expects the returned data packed into an array of |
| 16 | integers or as a string. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 18 | <data> may be a byte sequence, or an array of integers which are |
| 19 | then interpreted as bytes. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 20 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 21 | <callback>, if set, is a closure of either these forms: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 22 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 23 | !ERQ_CB_STRING: void <closure>(int *response_data, int len) |
| 24 | ERQ_CB_STRING: void <closure>(string response_data) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 25 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 26 | The result returned from the efun is 0 on failure to send the |
| 27 | data, or non-zero on a successful send. |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 28 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame^] | 29 | The function causes a privilege violation "erq". |
| 30 | |
| 31 | HISTORY |
| 32 | Introduced in 3.2.1@61. |
| 33 | Made a privileged function in 3.2.1@84 |
| 34 | LDMud 3.3.318 introduced the ERQ_CB_STRING flag. |
| 35 | |
| 36 | SEE ALSO |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 37 | attach_erq_demon(E), erq(C) |