From: Vincent P. <plr...@gm...> - 2012-12-04 05:57:02
|
Le lundi 03 décembre 2012 23:20:34, Nathan Hjelm a écrit : > Here is a rough idea of how an alloc/free interface might looks like: > > http://www.cs.unm.edu/~hjelmn/libusb_hotplug_api_alt2/group__hotplug.html Ah, now I see why you didn't intend to allocate memory in libusb. It remind me of a discussion I had with Peter: on windows there are several "free"-ish functions, and the one which has to be called is the one defined in the same standard lib as the "malloc"-ishone used initially. Which means that caller code having to free lib-allocated memory requires knowledge of lib's internals... So you indeed have to expose libusb_hotplug_free_callback if you don't copy from user-provided struct to an internal one. What about merging alloc with register, and free with deregister ? I can see why transfers should outlive their "flight" (performance by structure reuse), but it's less clear to me for hotplug callbacks. Regards, -- Vincent Pelletier |