1/* SPDX-License-Identifier: MIT */
2#ifndef __NVIF_EVENT_H__
3#define __NVIF_EVENT_H__
4
5struct 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
15struct 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
23struct nvif_notify_head_req_v0 {
24	/* nvif_notify_req ... */
25	__u8  version;
26	__u8  head;
27	__u8  pad02[6];
28};
29
30struct nvif_notify_head_rep_v0 {
31	/* nvif_notify_rep ... */
32	__u8  version;
33	__u8  pad01[7];
34};
35
36struct 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
48struct nvif_notify_conn_rep_v0 {
49	/* nvif_notify_rep ... */
50	__u8  version;
51	__u8  mask;
52	__u8  pad02[6];
53};
54
55struct nvif_notify_uevent_req {
56	/* nvif_notify_req ... */
57};
58
59struct nvif_notify_uevent_rep {
60	/* nvif_notify_rep ... */
61};
62
63#endif
64