Control requests

ctrl_request - Control requests

The ctrl_request structure contains the request to be handled. It also can be filled in with reply data. The structure is defined as follows:

typedef struct ctrl_request {
    uint16_t size; // Size of this structure
    uint16_t type; // Request type
    char* request_data; // Request data
    size_t request_size; // Size of the request data
    char* reply_data; // Reply data
    size_t reply_size; // Size of the reply data
    void* channel; // Request channel (used internally)
} ctrl_request;

Note that the data is specified by pointer and length and may not be a valid c-string. It also could contain binary data, if the requester sent it.