Post and wait a message with dma buffers
int i2o_msg_post_wait_mem(struct i2o_controller * c, struct i2o_message * msg, unsigned long timeout, struct i2o_dma * dma);
c
controller
msg
message to post
timeout
time in seconds to wait
dma
i2o_dma struct of the DMA buffer to free on failure
This API allows an OSM to post a message and then be told whether or not the system received a successful reply. If the message times out then the value '-ETIMEDOUT' is returned. This is a special case. In this situation the message may (should) complete at an indefinite time in the future. When it completes it will use the memory buffer attached to the request. If -ETIMEDOUT is returned then the memory buffer must not be freed. Instead the event completion will free them for you. In all other cases the buffer are your problem.
Returns 0 on success, negative error code on timeout or positive error code from reply.