correct placement and add size check
This commit is contained in:
parent
f217d6c66f
commit
8c648b59cd
|
@ -59,17 +59,25 @@ private:
|
||||||
Create = 0xC0080101,
|
Create = 0xC0080101,
|
||||||
FromId = 0xC0080103,
|
FromId = 0xC0080103,
|
||||||
Alloc = 0xC0200104,
|
Alloc = 0xC0200104,
|
||||||
|
Free = 0xC0180105,
|
||||||
Param = 0xC00C0109,
|
Param = 0xC00C0109,
|
||||||
GetId = 0xC008010E,
|
GetId = 0xC008010E,
|
||||||
Free = 0xC0180105,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IocCreateParams {
|
struct IocCreateParams {
|
||||||
// Input
|
// Input
|
||||||
u32_le size;
|
u32_le size;
|
||||||
// Output
|
// Output
|
||||||
u32_le handle;
|
u32_le handle;
|
||||||
};
|
};
|
||||||
|
static_assert(sizeof(IocCreateParams) == 8, "IocCreateParams has wrong size");
|
||||||
|
|
||||||
|
struct IocFromIdParams {
|
||||||
|
// Input
|
||||||
|
u32_le id;
|
||||||
|
// Output
|
||||||
|
u32_le handle;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IocFromIdParams) == 8, "IocFromIdParams has wrong size");
|
||||||
|
|
||||||
struct IocAllocParams {
|
struct IocAllocParams {
|
||||||
// Input
|
// Input
|
||||||
|
@ -81,28 +89,7 @@ private:
|
||||||
INSERT_PADDING_BYTES(7);
|
INSERT_PADDING_BYTES(7);
|
||||||
u64_le addr;
|
u64_le addr;
|
||||||
};
|
};
|
||||||
|
static_assert(sizeof(IocAllocParams) == 32, "IocAllocParams has wrong size");
|
||||||
struct IocGetIdParams {
|
|
||||||
// Output
|
|
||||||
u32_le id;
|
|
||||||
// Input
|
|
||||||
u32_le handle;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct IocFromIdParams {
|
|
||||||
// Input
|
|
||||||
u32_le id;
|
|
||||||
// Output
|
|
||||||
u32_le handle;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct IocParamParams {
|
|
||||||
// Input
|
|
||||||
u32_le handle;
|
|
||||||
u32_le type;
|
|
||||||
// Output
|
|
||||||
u32_le value;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct IocFreeParams {
|
struct IocFreeParams {
|
||||||
u32_le handle;
|
u32_le handle;
|
||||||
|
@ -113,6 +100,23 @@ private:
|
||||||
};
|
};
|
||||||
static_assert(sizeof(IocFreeParams) == 24, "IocFreeParams has wrong size");
|
static_assert(sizeof(IocFreeParams) == 24, "IocFreeParams has wrong size");
|
||||||
|
|
||||||
|
struct IocParamParams {
|
||||||
|
// Input
|
||||||
|
u32_le handle;
|
||||||
|
u32_le param;
|
||||||
|
// Output
|
||||||
|
u32_le result;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IocParamParams) == 12, "IocParamParams has wrong size");
|
||||||
|
|
||||||
|
struct IocGetIdParams {
|
||||||
|
// Output
|
||||||
|
u32_le id;
|
||||||
|
// Input
|
||||||
|
u32_le handle;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IocGetIdParams) == 8, "IocGetIdParams has wrong size");
|
||||||
|
|
||||||
u32 IocCreate(const std::vector<u8>& input, std::vector<u8>& output);
|
u32 IocCreate(const std::vector<u8>& input, std::vector<u8>& output);
|
||||||
u32 IocAlloc(const std::vector<u8>& input, std::vector<u8>& output);
|
u32 IocAlloc(const std::vector<u8>& input, std::vector<u8>& output);
|
||||||
u32 IocGetId(const std::vector<u8>& input, std::vector<u8>& output);
|
u32 IocGetId(const std::vector<u8>& input, std::vector<u8>& output);
|
||||||
|
|
Reference in New Issue