1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVIF_EVENT_H__
3 #define __NVIF_EVENT_H__
4 
5 struct nvif_notify_req_v0 {
6 	__u8  version;
7 	__u8  reply;
8 	__u8  pad02[5];
9 #define NVIF_NOTIFY_V0_ROUTE_NVIF                                          0x00
10 	__u8  route;
11 	__u64 token;	/* must be unique */
12 	__u8  data[];	/* request data (below) */
13 };
14 
15 struct nvif_notify_rep_v0 {
16 	__u8  version;
17 	__u8  pad01[6];
18 	__u8  route;
19 	__u64 token;
20 	__u8  data[];	/* reply data (below) */
21 };
22 
23 struct nvif_notify_head_req_v0 {
24 	/* nvif_notify_req ... */
25 	__u8  version;
26 	__u8  head;
27 	__u8  pad02[6];
28 };
29 
30 struct nvif_notify_head_rep_v0 {
31 	/* nvif_notify_rep ... */
32 	__u8  version;
33 	__u8  pad01[7];
34 };
35 
36 struct nvif_notify_conn_req_v0 {
37 	/* nvif_notify_req ... */
38 	__u8  version;
39 #define NVIF_NOTIFY_CONN_V0_PLUG                                           0x01
40 #define NVIF_NOTIFY_CONN_V0_UNPLUG                                         0x02
41 #define NVIF_NOTIFY_CONN_V0_IRQ                                            0x04
42 #define NVIF_NOTIFY_CONN_V0_ANY                                            0x07
43 	__u8  mask;
44 	__u8  conn;
45 	__u8  pad03[5];
46 };
47 
48 struct nvif_notify_conn_rep_v0 {
49 	/* nvif_notify_rep ... */
50 	__u8  version;
51 	__u8  mask;
52 	__u8  pad02[6];
53 };
54 
55 struct nvif_notify_uevent_req {
56 	/* nvif_notify_req ... */
57 };
58 
59 struct nvif_notify_uevent_rep {
60 	/* nvif_notify_rep ... */
61 };
62 
63 #endif
64