File indexing completed on 2025-01-18 10:01:48
0001 #ifndef __NVIF_IOCTL_H__
0002 #define __NVIF_IOCTL_H__
0003
0004 #define NVIF_VERSION_LATEST 0x0000000000000000ULL
0005
0006 struct nvif_ioctl_v0 {
0007 __u8 version;
0008 #define NVIF_IOCTL_V0_NOP 0x00
0009 #define NVIF_IOCTL_V0_SCLASS 0x01
0010 #define NVIF_IOCTL_V0_NEW 0x02
0011 #define NVIF_IOCTL_V0_DEL 0x03
0012 #define NVIF_IOCTL_V0_MTHD 0x04
0013 #define NVIF_IOCTL_V0_RD 0x05
0014 #define NVIF_IOCTL_V0_WR 0x06
0015 #define NVIF_IOCTL_V0_MAP 0x07
0016 #define NVIF_IOCTL_V0_UNMAP 0x08
0017 #define NVIF_IOCTL_V0_NTFY_NEW 0x09
0018 #define NVIF_IOCTL_V0_NTFY_DEL 0x0a
0019 #define NVIF_IOCTL_V0_NTFY_GET 0x0b
0020 #define NVIF_IOCTL_V0_NTFY_PUT 0x0c
0021 __u8 type;
0022 __u8 pad02[4];
0023 #define NVIF_IOCTL_V0_OWNER_NVIF 0x00
0024 #define NVIF_IOCTL_V0_OWNER_ANY 0xff
0025 __u8 owner;
0026 #define NVIF_IOCTL_V0_ROUTE_NVIF 0x00
0027 #define NVIF_IOCTL_V0_ROUTE_HIDDEN 0xff
0028 __u8 route;
0029 __u64 token;
0030 __u64 object;
0031 __u8 data[];
0032 };
0033
0034 struct nvif_ioctl_nop_v0 {
0035 __u64 version;
0036 };
0037
0038 struct nvif_ioctl_sclass_v0 {
0039
0040 __u8 version;
0041 __u8 count;
0042 __u8 pad02[6];
0043 struct nvif_ioctl_sclass_oclass_v0 {
0044 __s32 oclass;
0045 __s16 minver;
0046 __s16 maxver;
0047 } oclass[];
0048 };
0049
0050 struct nvif_ioctl_new_v0 {
0051
0052 __u8 version;
0053 __u8 pad01[6];
0054 __u8 route;
0055 __u64 token;
0056 __u64 object;
0057 __u32 handle;
0058 __s32 oclass;
0059 __u8 data[];
0060 };
0061
0062 struct nvif_ioctl_del {
0063 };
0064
0065 struct nvif_ioctl_rd_v0 {
0066
0067 __u8 version;
0068 __u8 size;
0069 __u8 pad02[2];
0070 __u32 data;
0071 __u64 addr;
0072 };
0073
0074 struct nvif_ioctl_wr_v0 {
0075
0076 __u8 version;
0077 __u8 size;
0078 __u8 pad02[2];
0079 __u32 data;
0080 __u64 addr;
0081 };
0082
0083 struct nvif_ioctl_map_v0 {
0084
0085 __u8 version;
0086 __u8 pad01[3];
0087 __u32 length;
0088 __u64 handle;
0089 };
0090
0091 struct nvif_ioctl_unmap {
0092 };
0093
0094 struct nvif_ioctl_ntfy_new_v0 {
0095
0096 __u8 version;
0097 __u8 event;
0098 __u8 index;
0099 __u8 pad03[5];
0100 __u8 data[];
0101 };
0102
0103 struct nvif_ioctl_ntfy_del_v0 {
0104
0105 __u8 version;
0106 __u8 index;
0107 __u8 pad02[6];
0108 };
0109
0110 struct nvif_ioctl_ntfy_get_v0 {
0111
0112 __u8 version;
0113 __u8 index;
0114 __u8 pad02[6];
0115 };
0116
0117 struct nvif_ioctl_ntfy_put_v0 {
0118
0119 __u8 version;
0120 __u8 index;
0121 __u8 pad02[6];
0122 };
0123
0124 struct nvif_ioctl_mthd_v0 {
0125
0126 __u8 version;
0127 __u8 method;
0128 __u8 pad02[6];
0129 __u8 data[];
0130 };
0131
0132 #endif