| SYNOPSIS |
| #include <erq.h> |
| |
| int send_erq(int request, bytes|int * data, closure callback) |
| |
| DESCRIPTION |
| A request of given type (<request>, default is 0), equipped |
| with the given <data>, is sent to the erq. If <callback> is |
| set to a closure, it will be called when the response from the |
| erq (a status code) arrives, if the response carries enough data to |
| work on. |
| |
| <request> can be one of the request codes defined in <erq.h>. |
| The binary flag ERQ_CB_STRING defines whether the <callback> |
| closure expects the returned data packed into an array of |
| integers or as a string. |
| |
| <data> may be a byte sequence, or an array of integers which are |
| then interpreted as bytes. |
| |
| <callback>, if set, is a closure of either these forms: |
| |
| !ERQ_CB_STRING: void <closure>(int *response_data, int len) |
| ERQ_CB_STRING: void <closure>(string response_data) |
| |
| The result returned from the efun is 0 on failure to send the |
| data, or non-zero on a successful send. |
| |
| The function causes a privilege violation "erq". |
| |
| HISTORY |
| Introduced in 3.2.1@61. |
| Made a privileged function in 3.2.1@84 |
| LDMud 3.3.318 introduced the ERQ_CB_STRING flag. |
| |
| SEE ALSO |
| attach_erq_demon(E), erq(C) |