Performs a blocking write-and-unlock.
a0tError | a0FWriteUnlock( | | | |
| | a0tLock | *lock, | |
| | a0tRequest | *request, | |
| | a0tFormat | *format, | |
| | void | *address, | |
| | int | count );
| |
| Name | rd/wr | Description |
| lock | write | Lock to be released. |
| request | write | Request descriptor to hold the status. |
| format | read | Format of the data to send. |
| address | write | Address of the data to send. |
| count | read | Number of elements of the data to send. |
This function performs a blocking write followed by an unlock of a previous lock lock. It posts a request to write-and-unlock the remote data with its own format information. The data written will be the region (or part) previously assciated to the lock lock. The data sent locally will be treated as count elements of the format and will be taken contiguously, starting at address.
There is no a0FWritePartUnlock(), because the unlocked and written part (or region) is the same used in the previous lock call.
On return of this function, the variable pointed by request contains an opaque request that can be used later to check the completion status of the operation.
| Error Code | Description |
A0ErrFailSend | It was not possible to send a request. | |
A0ErrInvFormat | The format has an invalid type. | |
A0ErrNotImplem | The format has an unimplemented type. | |
A0ErrOk| Successful completion. | |
a0IFWriteUnlock() a0FWritePart() a0FWrite() a0FReadLock() a0FReadLockPart() a0Unlock() a0Lock() a0SetUnlockWrite()