The vendor_product_parser_create() and vendor_product_device_open() functions should be called indirectly, through the generic dc_device_open() and dc_parser_new() functions. And the vendor_product_extract_dives() functions are internal functions that should never have been part of the public api in the first place.