HIPC: Difference between revisions

DCNick3 (talk | contribs)
m Official marshalling code: type 0x20 -> HipcAutoSelect, type 8 -> HipcPointer
DCNick3 (talk | contribs)
m Official marshalling code: Add mask values
Line 321: Line 321:
The type of an IPC command is described by a bitfield as below:
The type of an IPC command is described by a bitfield as below:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
! Bits || Name || Description
! Bits || Mask || Name || Description
|-
|-
| 0 || In || Direction is input.
| 0 || 0x01 || In || Direction is input.
|-
|-
| 1 || Out || Direction is output.
| 1 || 0x02 || Out || Direction is output.
|-
|-
| 2 || HipcMapAlias || Use buffer descriptors A ("Send"), B ("Receive") or W ("Exchange").
| 2 || 0x04 || HipcMapAlias || Use buffer descriptors A ("Send"), B ("Receive") or W ("Exchange").
|-
|-
| 3 || HipcPointer || Use buffer descriptors X ("Pointer") or C ("ReceiveList").
| 3 || 0x08 || HipcPointer || Use buffer descriptors X ("Pointer") or C ("ReceiveList").
|-
|-
| 4 || FixedSize || Skip saving the pointer buffer size in raw data.
| 4 || 0x10 || FixedSize || Skip saving the pointer buffer size in raw data.
|-
|-
| 5 || HipcAutoSelect || Select which buffer descriptor to use automatically.
| 5 || 0x20 || HipcAutoSelect || Select which buffer descriptor to use automatically.
|-
|-
| 6 || HipcMapTransferAllowsNonSecure || Use [[#Flags|NonSecureIpc flag]].
| 6 || 0x40 || HipcMapTransferAllowsNonSecure || Use [[#Flags|NonSecureIpc flag]].
|-
|-
| 7 || HipcMapTransferAllowsNonDevice || Use [[#Flags|NonDeviceIpc flag]].
| 7 || 0x80 || HipcMapTransferAllowsNonDevice || Use [[#Flags|NonDeviceIpc flag]].
|}
|}