76 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVIF_IOCTL_H__3#define __NVIF_IOCTL_H__4 5struct nvif_ioctl_v0 {6 __u8 version;7#define NVIF_IOCTL_V0_SCLASS 0x018#define NVIF_IOCTL_V0_NEW 0x029#define NVIF_IOCTL_V0_DEL 0x0310#define NVIF_IOCTL_V0_MTHD 0x0411#define NVIF_IOCTL_V0_MAP 0x0712#define NVIF_IOCTL_V0_UNMAP 0x0813 __u8 type;14 __u8 pad02[4];15#define NVIF_IOCTL_V0_OWNER_NVIF 0x0016#define NVIF_IOCTL_V0_OWNER_ANY 0xff17 __u8 owner;18#define NVIF_IOCTL_V0_ROUTE_NVIF 0x0019#define NVIF_IOCTL_V0_ROUTE_HIDDEN 0xff20 __u8 route;21 __u64 token;22 __u64 object;23 __u8 data[]; /* ioctl data (below) */24};25 26struct nvif_ioctl_sclass_v0 {27 /* nvif_ioctl ... */28 __u8 version;29 __u8 count;30 __u8 pad02[6];31 struct nvif_ioctl_sclass_oclass_v0 {32 __s32 oclass;33 __s16 minver;34 __s16 maxver;35 } oclass[];36};37 38struct nvif_ioctl_new_v0 {39 /* nvif_ioctl ... */40 __u8 version;41 __u8 pad01[6];42 __u8 route;43 __u64 token;44 __u64 object;45 __u32 handle;46 __s32 oclass;47 __u8 data[]; /* class data (class.h) */48};49 50struct nvif_ioctl_del {51};52 53struct nvif_ioctl_mthd_v0 {54 /* nvif_ioctl ... */55 __u8 version;56 __u8 method;57 __u8 pad02[6];58 __u8 data[]; /* method data (class.h) */59};60 61struct nvif_ioctl_map_v0 {62 /* nvif_ioctl ... */63 __u8 version;64#define NVIF_IOCTL_MAP_V0_IO 0x0065#define NVIF_IOCTL_MAP_V0_VA 0x0166 __u8 type;67 __u8 pad02[6];68 __u64 handle;69 __u64 length;70 __u8 data[];71};72 73struct nvif_ioctl_unmap {74};75#endif76