Line 19: |
Line 19: |
| | 1 || 13-10 || If set to 2, enable buf C descriptor. | | | 1 || 13-10 || If set to 2, enable buf C descriptor. |
| |- | | |- |
− | | 1 || 31 || Enable special descriptor. | + | | 1 || 31 || Enable handle descriptor. |
| |- | | |- |
− | | ... || || Special descriptor, if enabled. | + | | ... || || Handle descriptor, if enabled. |
| |- | | |- |
| | ... || || Buf X descriptors, each one 2 words. | | | ... || || Buf X descriptors, each one 2 words. |
Line 38: |
Line 38: |
| |} | | |} |
| | | |
− | === Special descriptor === | + | === Handle descriptor === |
| There can only be one of this descriptor type. It is enabled by bit31 of the second word. | | There can only be one of this descriptor type. It is enabled by bit31 of the second word. |
| | | |
Line 46: |
Line 46: |
| | 0 || 0 || ? | | | 0 || 0 || ? |
| |- | | |- |
− | | 0 || 4-1 || Number of A-words for this special descriptor. | + | | 0 || 4-1 || Number of handles. |
| |- | | |- |
| | 0 || 8-5 || Number of B-words for this special descriptor. | | | 0 || 8-5 || Number of B-words for this special descriptor. |
| |- | | |- |
− | | ... || || A-words, purpose unknown. | + | | ... || || Handles |
| |- | | |- |
| | ... || || B-words, purpose unknown. | | | ... || || B-words, purpose unknown. |
Line 119: |
Line 119: |
| == Official marshalling code == | | == Official marshalling code == |
| The official marshalling function takes an array of (buf_ptr, size) pairs and a type-field for each such pair. | | The official marshalling function takes an array of (buf_ptr, size) pairs and a type-field for each such pair. |
| + | |
| + | Bitmask 0x10 seems to indicate null-terminated strings, but that flag is ignored by the marshalling code. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |