nvmap: Make IoctlCommands an enum class

Prevents the enum values from polluting the surrounding scope
This commit is contained in:
Lioncash 2018-01-21 16:56:58 -05:00
parent 4c07dde472
commit 687a17acae
2 changed files with 12 additions and 12 deletions

View File

@ -22,16 +22,16 @@ 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);
}

View File

@ -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 {