blob: 818d939d6d5ec686f37a83f5911a5f5d16dc32f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef _VERSION_H_
#define _VERSION_H_
#include <linux/types.h>
/* 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;
};
/* 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_ */
|