| NAME |
| SCI_Upload - Uploads messages from a back end to the front end |
| |
| C Syntax |
| #include <sci.h> |
| int SCI_Upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[]) |
| |
| INPUT PARAMETERS |
| filter_id |
| The id of the message filter (IN). |
| group |
| The group which the message belongs to (IN). |
| num_bufs |
| The number of buffers of current message segment (IN). |
| bufs |
| The array of buffer locations of current message segment (IN). |
| sizes |
| The array of buffer sizes of current message segment (IN). |
| |
| DESCRIPTION |
| This subroutine is used to upload message from a back end to the front end. The |
| message can be sent directly to the front end if set filter_id to SCI_FILTER_NULL, |
| or can be sent to the filter indicated by filter_id if a new message filter is loaded |
| by SCI_Filter_load. |
| |
| This is a non-blocking call. The caller cannot assume that message transfer has |
| completed upon the return of the function. Instead, the handler function defined in |
| sci_info_t should be used to ensure the message arrival in the destination sides. |
| |
| For more information, please refer to SCI's online documents. |
| |
| EXAMPLE |
| { |
| char msg[256]; |
| int sizes[1]; |
| void *bufs[1]; |
| ... |
| bufs[0] = msg; |
| sizes[0] = strlen(msg) + 1; |
| SCI_Upload(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes); |
| } |
| |
| ERRORS |
| All SCI routines return an error value. |
| |
| SCI_ERR_UNINTIALIZED |
| Uninitialized SCI execution environment |
| SCI_ERR_INVALID_CALLER |
| Can only be called in the front end |
| SCI_ERR_NO_MEM |
| Out of memory |
| |
| SEE ALSO |
| SCI_Bcast(3) |
| SCI_Poll(3) |