Browse Source
Merge pull request #131 from lioncash/enum
nvmap: Make IoctlCommands an enum class
pull/15/merge
bunnei
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
13 additions and
12 deletions
-
src/core/hle/service/nvdrv/devices/nvmap.cpp
-
src/core/hle/service/nvdrv/devices/nvmap.h
|
|
|
@ -22,20 +22,21 @@ VAddr nvmap::GetObjectAddress(u32 handle) const { |
|
|
|
} |
|
|
|
|
|
|
|
u32 nvmap::ioctl(u32 command, const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
|
switch (command) { |
|
|
|
case IocCreateCommand: |
|
|
|
switch (static_cast<IoctlCommand>(command)) { |
|
|
|
case IoctlCommand::Create: |
|
|
|
return IocCreate(input, output); |
|
|
|
case IocAllocCommand: |
|
|
|
case IoctlCommand::Alloc: |
|
|
|
return IocAlloc(input, output); |
|
|
|
case IocGetIdCommand: |
|
|
|
case IoctlCommand::GetId: |
|
|
|
return IocGetId(input, output); |
|
|
|
case IocFromIdCommand: |
|
|
|
case IoctlCommand::FromId: |
|
|
|
return IocFromId(input, output); |
|
|
|
case IocParamCommand: |
|
|
|
case IoctlCommand::Param: |
|
|
|
return IocParam(input, output); |
|
|
|
} |
|
|
|
|
|
|
|
UNIMPLEMENTED(); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
u32 nvmap::IocCreate(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
|
|
|
|
|
@ -48,12 +48,12 @@ private: |
|
|
|
/// Mapping of currently allocated handles to the objects they represent. |
|
|
|
std::unordered_map<u32, std::shared_ptr<Object>> handles; |
|
|
|
|
|
|
|
enum IoctlCommands { |
|
|
|
IocCreateCommand = 0xC0080101, |
|
|
|
IocFromIdCommand = 0xC0080103, |
|
|
|
IocAllocCommand = 0xC0200104, |
|
|
|
IocParamCommand = 0xC00C0109, |
|
|
|
IocGetIdCommand = 0xC008010E |
|
|
|
enum class IoctlCommand : u32 { |
|
|
|
Create = 0xC0080101, |
|
|
|
FromId = 0xC0080103, |
|
|
|
Alloc = 0xC0200104, |
|
|
|
Param = 0xC00C0109, |
|
|
|
GetId = 0xC008010E |
|
|
|
}; |
|
|
|
|
|
|
|
struct IocCreateParams { |
|
|
|
|