[linux-minidisc] [PATCH 1/6] Make function acting on a transfer accept a pointer to transfer.


This make it possible to use them with allocated string buffers.
---
 netmd/libusb1.py |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/netmd/libusb1.py b/netmd/libusb1.py
index 3f61cee..7c99505 100644
--- a/netmd/libusb1.py
+++ b/netmd/libusb1.py
@@ -633,8 +633,9 @@ libusb_free_transfer = libusb.libusb_free_transfer
 libusb_free_transfer.argtypes = [libusb_transfer_p]
 libusb_free_transfer.restype = None
 
-def libusb_fill_control_transfer(transfer, dev_handle, buffer, callback,
+def libusb_fill_control_transfer(transfer_p, dev_handle, buffer, callback,
                                  user_data, timeout):
+    transfer = transfer_p.contents
     transfer.dev_handle = dev_handle
     transfer.endpoint = 0
     transfer.type = LIBUSB_TRANSFER_TYPE_CONTROL
@@ -646,8 +647,9 @@ def libusb_fill_control_transfer(transfer, dev_handle, 
buffer, callback,
     transfer.user_data = user_data
     transfer.callback = callback
 
-def libusb_fill_bulk_transfer(transfer, dev_handle, endpoint, buffer, length,
+def libusb_fill_bulk_transfer(transfer_p, dev_handle, endpoint, buffer, 
length,
                               callback, user_data, timeout):
+    transfer = transfer_p.contents
     transfer.dev_handle = dev_handle
     transfer.endpoint = endpoint
     transfer.type = LIBUSB_TRANSFER_TYPE_BULK
@@ -657,8 +659,9 @@ def libusb_fill_bulk_transfer(transfer, dev_handle, 
endpoint, buffer, length,
     transfer.user_data = user_data
     transfer.callback = callback
 
-def libusb_fill_interrupt_transfer(transfer, dev_handle, endpoint, buffer,
+def libusb_fill_interrupt_transfer(transfer_p, dev_handle, endpoint, buffer,
                                    length, callback, user_data, timeout):
+    transfer = transfer_p.contents
     transfer.dev_handle = dev_handle
     transfer.endpoint = endpoint
     transfer.type = LIBUSB_TRANSFER_TYPE_INTERRUPT
@@ -668,8 +671,9 @@ def libusb_fill_interrupt_transfer(transfer, dev_handle, 
endpoint, buffer,
     transfer.user_data = user_data
     transfer.callback = callback
 
-def libusb_fill_iso_transfer(transfer, dev_handle, endpoint, buffer, length,
+def libusb_fill_iso_transfer(transfer_p, dev_handle, endpoint, buffer, 
length,
                              num_iso_packets, callback, user_data, timeout):
+    transfer = transfer_p.contents
     transfer.dev_handle = dev_handle
     transfer.endpoint = endpoint
     transfer.type = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS
@@ -680,11 +684,13 @@ def libusb_fill_iso_transfer(transfer, dev_handle, 
endpoint, buffer, length,
     transfer.user_data = user_data
     transfer.callback = callback
 
-def libusb_set_iso_packet_lengths(transfer, length):
+def libusb_set_iso_packet_lengths(transfer_p, length):
+    transfer = transfer_p.contents
     for i in xrange(transfer.num_iso_packets):
         transfer.iso_packet_desc[i].length = length
 
-def libusb_get_iso_packet_buffer(transfer, packet):
+def libusb_get_iso_packet_buffer(transfer_p, packet):
+    transfer = transfer_p.contents
     offset = 0
     if packet >= transfer.num_iso_packets:
         return None
@@ -692,7 +698,8 @@ def libusb_get_iso_packet_buffer(transfer, packet):
         offset += transfer.iso_packet_desc[i].length
     return transfer.buffer[offset:]
 
-def libusb_get_iso_packet_buffer_simple(transfer, packet):
+def libusb_get_iso_packet_buffer_simple(transfer_p, packet):
+    transfer = transfer_p.contents
     if packet >= transfer.num_iso_packets:
         return None
     return transfer.buffer[transfer.iso_packet_desc[0].length * packet:]
-- 
1.6.6