summaryrefslogtreecommitdiff
path: root/usbredirparser/usbredirparser.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2011-08-01 14:09:09 +0200
committerHans de Goede <hdegoede@redhat.com>2011-08-01 14:09:09 +0200
commit385c269671c7b992f0f48db07b616ab851cee2c6 (patch)
tree013ecb736cbc8b53b9a3ff1fbe6cbc33e7e35716 /usbredirparser/usbredirparser.h
parentd9414f66d5bceb72dc4e72d75041d84036918a0b (diff)
usbredirparser: add a usbredirparser_free_packet_data function
Add a usbredirparser_free_packet_data function for symetry with usbredirparser_free_write_buffer.
Diffstat (limited to 'usbredirparser/usbredirparser.h')
-rw-r--r--usbredirparser/usbredirparser.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/usbredirparser/usbredirparser.h b/usbredirparser/usbredirparser.h
index a403dd8..95da595 100644
--- a/usbredirparser/usbredirparser.h
+++ b/usbredirparser/usbredirparser.h
@@ -94,7 +94,9 @@ typedef void (*usbredirparser_cancel_data_packet)(void *priv, uint32_t id);
/* Data packets:
- Note the data buffer (if not NULL) must be free()-ed by the user. */
+ Note that ownership of the the data buffer (if not NULL) is passed on to
+ the callback. The callback should free it by calling
+ usbredirparser_free_packet_data when it is done with it. */
typedef void (*usbredirparser_control_packet)(void *priv,
uint32_t id, struct usb_redir_control_packet_header *control_header,
uint8_t *data, int data_len);
@@ -191,6 +193,10 @@ int usbredirparser_do_write(struct usbredirparser *parser);
void usbredirparser_free_write_buffer(struct usbredirparser *parser,
uint8_t *data);
+/* See the data packet callbacks documentation */
+void usbredirparser_free_packet_data(struct usbredirparser *parser,
+ uint8_t *data);
+
/* Call this to get the capabilities of its peer */
uint32_t *usbredirparser_get_peer_caps(int *caps_len_ret);