Name

i2o_msg_post_wait_mem — Post and wait a message with DMA buffers

Synopsis

int i2o_msg_post_wait_mem (struct i2o_controller *  c,
 struct i2o_message *  msg,
 unsigned long  timeout,
 struct i2o_dma *  dma);

Arguments

c

controller

msg

message to post

timeout

time in seconds to wait

dma

i2o_dma struct of the DMA buffer to free on failure

Description

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.