libusb_init

libusb_init() initializes libusb’s global context.

It is required before calling almost any other libusb function.

It sets up:

  • Internal data structures

  • Event handling

  • Backend initialization (udev on Linux)

It is reference-counted internally, but you should treat it as a required one-time initialization per process (or per explicit libusb_context).