struct tb_cfg_result {
u64 response_route;
u32 response_port; /* * If err = 1 then this is the port that send the * error. * If err = 0 and if this was a cfg_read/write then * this is the upstream port of the responding * switch. * Otherwise the field is set to zero.
*/ int err; /* negative errors, 0 for success, 1 for tb errors */ enum tb_cfg_error tb_error; /* valid if err == 1 */
};
/** * struct tb_cfg_request - Control channel request * @kref: Reference count * @ctl: Pointer to the control channel structure. Only set when the * request is queued. * @request_size: Size of the request packet (in bytes) * @request_type: Type of the request packet * @response: Response is stored here * @response_size: Maximum size of one response packet * @response_type: Expected type of the response packet * @npackets: Number of packets expected to be returned with this request * @match: Function used to match the incoming packet * @copy: Function used to copy the incoming packet to @response * @callback: Callback called when the request is finished successfully * @callback_data: Data to be passed to @callback * @flags: Flags for the request * @work: Work item used to complete the request * @result: Result after the request has been completed * @list: Requests are queued using this field * * An arbitrary request over Thunderbolt control channel. For standard * control channel message, one should use tb_cfg_read/write() and * friends if possible.
*/ struct tb_cfg_request { struct kref kref; struct tb_ctl *ctl; constvoid *request;
size_t request_size; enum tb_cfg_pkg_type request_type; void *response;
size_t response_size; enum tb_cfg_pkg_type response_type;
size_t npackets; bool (*match)(conststruct tb_cfg_request *req, conststruct ctl_pkg *pkg); bool (*copy)(struct tb_cfg_request *req, conststruct ctl_pkg *pkg); void (*callback)(void *callback_data); void *callback_data; unsignedlong flags; struct work_struct work; struct tb_cfg_result result; struct list_head list;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.