/** \file net.c networking-related helper functions */
-#include "error.h"
#include "para.h"
+#include "error.h"
#include "net.h"
#include "string.h"
total += n;
bytesleft -= n;
if (total < *len)
- PARA_DEBUG_LOG("short write (%zd byte(s) left)",
+ PARA_DEBUG_LOG("short write (%zd byte(s) left)\n",
*len - total);
}
*len = total; /* return number actually sent here */
}
/**
- * encrypt and send buffer
+ * Encrypt and send a binary buffer.
*
- * \param fd: the file descriptor
- * \param buf the buffer to be encrypted and sent
- * \param len the length of \a buf
+ * \param fd The file descriptor.
+ * \param buf The buffer to be encrypted and sent.
+ * \param len The length of \a buf.
*
- * Check if encrytpion is available. If yes, encrypt the given buffer. Send out
- * the buffer, encrypted or not, and try to resend the remaing part in case of
- * short writes.
+ * Check if encryption is available. If yes, encrypt the given buffer. Send
+ * out the buffer, encrypted or not, and try to resend the remaing part in case
+ * of short writes.
*
* \return Positive on success, \p -E_SEND on errors.
*/
* \param buf the buffer to write the decrypted data to
* \param size the size of \a buf
*
- * Receive at most \a size bytes from filedescriptor fd. If encryption is
+ * Receive at most \a size bytes from file descriptor \a fd. If encryption is
* available, decrypt the received buffer.
*
- * \return The number of bytes received on success. On receive errors, -E_RECV
- * is returned. On crypt errors, the corresponding crypt error number is
- * returned.
+ * \return The number of bytes received on success, negative on errors.
*
* \sa recv(2)
*/
} else
n = recv(fd, buf, size, 0);
if (n == -1)
- n = -E_RECV;
+ return -ERRNO_TO_PARA_ERROR(errno);
return n;
}
{
int n;
- if (!size)
- return -E_RECV;
+ assert(size);
n = recv_bin_buffer(fd, buf, size - 1);
if (n >= 0)
buf[n] = '\0';
}
/**
- * a wrapper around socket(2)
+ * A wrapper around socket(2).
*
- * Create an IPv4 socket for sequenced, reliable, two-way, connection-based
- * byte streams.
+ * \param domain The communication domain that selects the protocol family.
*
* \return The socket fd on success, -E_SOCKET on errors.
*
- * \sa socket(2)
+ * Create an IPv4 socket for sequenced, reliable, two-way, connection-based
+ * byte streams.
+ *
+ * \sa socket(2).
*/
int get_stream_socket(int domain)
{