ZC EM API: Provide user control to not de-register buffers after completion
In this commit, two modes for specifying de-registration mode were added.
These are CMK_BUFFER_DEREG and CMK_BUFFER_NODEREG. The de-registration mode
can be specified during the creation of CkNcpyBuffer, as a parameter inside the
CkSendBuffer method and inside Post Entry Method using the CkNcpyBufferPost object.
CMK_BUFFER_DEREG is the default mode which makes the RTS de-register the buffers
after the completion of the Zero Copy operation for ZC EM Send and Post API.
CMK_BUFFER_NODEREG is used to make the RTS skip de-registration of the buffers after the
completion of the Zero Copy operation. For the ZC Send API, specifying CMK_BUFFER_NODEREG
in CkSendBuffer ensures that the source buffer remains registered after the completion of
the operation. For the ZC Post API, in addition to specifying CMK_BUFFER_NODEREG in
CkSendBuffer, it can also be specified in the Post Entry Method using the CkNcpyBufferPost
object. This ensures that the destination buffer, which was posted by the user remains
registered after the completion of the operation.
Change-Id: I8be4f1dedb61b4b7a13f4e474a7cc0d3721d6d9e