#ifndef _VERSION_H_ #define _VERSION_H_ #include /* Driver features */ enum driver_feature { DRV_FEAT_VGPU_VFIO, DRV_FEAT_MIGRATION, DRV_FEAT_SCHEDULING, DRV_FEAT_NOTIFICATIONS, DRV_FEAT_WPR, }; /* Driver interface definition */ struct driver_interface { const char *version; int major; int minor; bool has_vgpu_vfio; bool has_migration; bool has_scheduling; bool has_notifications; bool has_wpr; size_t vgpu_vfio_ops_size; size_t mdev_parent_ops_size; }; /* Version registry */ struct driver_interface *version_get_interface(const char *version_str); struct driver_interface *version_get_by_kernel_version(void); /* Feature queries */ bool version_has_feature(struct driver_interface *iface, enum driver_feature feature); const char *version_get_string(struct driver_interface *iface); #endif /* _VERSION_H_ */