diff options
| author | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-03-25 12:56:42 +1100 |
|---|---|---|
| committer | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-03-25 12:56:42 +1100 |
| commit | 99fdfa1fcdcdba6abcc04733dc2bacd92b285f0a (patch) | |
| tree | 4f328dc45f0c8f8068ad4773bef43b66d803b12b /src/core/hle/service/nvdrv/devices/nvdevice.h | |
| parent | 65774084fd9209c9d812cdf10c2b82c2ee35f360 (diff) | |
nvdrv: Pass device fd and handle device create methods for device opening and closing
We pass the fd to the ioctl as well as alert the device when it's opened or closed to allow for fd unique actions to take place
Diffstat (limited to 'src/core/hle/service/nvdrv/devices/nvdevice.h')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvdevice.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvdevice.h b/src/core/hle/service/nvdrv/devices/nvdevice.h index 5681599ba..b37f023df 100644 --- a/src/core/hle/service/nvdrv/devices/nvdevice.h +++ b/src/core/hle/service/nvdrv/devices/nvdevice.h @@ -31,7 +31,7 @@ public: * @param output A buffer where the output data will be written to. * @returns The result code of the ioctl. */ - virtual NvResult Ioctl1(Ioctl command, const std::vector<u8>& input, + virtual NvResult Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) = 0; /** @@ -42,7 +42,7 @@ public: * @param output A buffer where the output data will be written to. * @returns The result code of the ioctl. */ - virtual NvResult Ioctl2(Ioctl command, const std::vector<u8>& input, + virtual NvResult Ioctl2(DeviceFD fd, Ioctl command, const std::vector<u8>& input, const std::vector<u8>& inline_input, std::vector<u8>& output) = 0; /** @@ -53,8 +53,20 @@ public: * @param inline_output A buffer where the inlined output data will be written to. * @returns The result code of the ioctl. */ - virtual NvResult Ioctl3(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output, - std::vector<u8>& inline_output) = 0; + virtual NvResult Ioctl3(DeviceFD fd, Ioctl command, const std::vector<u8>& input, + std::vector<u8>& output, std::vector<u8>& inline_output) = 0; + + /** + * Called once a device is openned + * @param fd The device fd + */ + virtual void OnOpen(DeviceFD fd) = 0; + + /** + * Called once a device is closed + * @param fd The device fd + */ + virtual void OnClose(DeviceFD fd) = 0; protected: Core::System& system; |
