bsend - sends data to a socket
#include <libdill.h> int bsend( int s, const void* buf, size_t len, int64_t deadline);
This function sends data to a bytestream socket. It is a blocking operation that unblocks only after all the data are sent. There is no such thing as partial send. If a problem, including timeout, occurs while sending the data error is returned to the user and the socket cannot be used for sending from that point on.
s: The socket to send the data to.
buf: Buffer to send.
len: Size of the buffer, in bytes.
deadline: A point in time when the operation should time out, in milliseconds. Use the now function to get your current point in time. 0 means immediate timeout, i.e., perform the operation if possible or return without blocking if not. -1 means no deadline, i.e., the call will block forever if the operation cannot be performed.
In case of success the function returns 0. In case of error it returns -1 and sets errno to one of the values below.
int rc = bsend(s, "ABC", 3, -1);
brecv(3) brecvl(3) bsendl(3) now(3)