/*
- * Copyright (C) 2005-2014 Andre Noll <maan@tuebingen.mpg.de>
+ * Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
* \param netmask Value of the netmask part in \a cidr or the
* default of 32 if not specified.
*
- * \return Pointer to \a addr if succesful, NULL on error.
+ * \return Pointer to \a addr if successful, NULL on error.
* \sa RFC 4632
*/
char *parse_cidr(const char *cidr,
struct servent *se = getservbyport(htons(port), transport);
if (se == NULL)
- snprintf(service, sizeof(service), "%u", port);
+ snprintf(service, sizeof(service), "%d", port);
else
snprintf(service, sizeof(service), "%s", se->s_name);
}
*
* \param sockfd The socket file descriptor.
*
- * The socket must be connected. See RFC 1122, 3.3.3. If the protocol familiy
+ * The socket must be connected. See RFC 1122, 3.3.3. If the protocol family
* could not be determined, \p AF_INET is assumed.
*
* \return The maximum message size of the address family type.
}
/**
- * Look up the local side of a connected socket structure.
+ * Look up the remote side of a connected socket structure.
*
* \param sockfd The file descriptor of the socket.
*
* \return A pointer to a static buffer containing hostname an port. This
* buffer must not be freed by the caller.
- *
- * \sa remote_name().
- */
-char *local_name(int sockfd)
-{
- return __get_sock_name(sockfd, getsockname);
-}
-
-/**
- * Look up the remote side of a connected socket structure.
- *
- * \param sockfd The file descriptor of the socket.
- *
- * \return Analogous to the return value of \ref local_name() but for the
- * remote side.
- *
- * \sa local_name().
*/
char *remote_name(int sockfd)
{
* Prepare, create, and bind a socket for local communication.
*
* \param name The socket pathname.
- * \param unix_addr Pointer to the \p AF_UNIX socket structure.
- * \param mode The desired mode of the socket.
+ * \param mode The desired permissions of the socket.
*
* This function creates a local socket for sequenced, reliable,
* two-way, connection-based byte streams.
* \sa bind(2)
* \sa chmod(2)
*/
-int create_local_socket(const char *name, struct sockaddr_un *unix_addr,
- mode_t mode)
+int create_local_socket(const char *name, mode_t mode)
{
+ struct sockaddr_un unix_addr;
int fd, ret;
- ret = init_unix_addr(unix_addr, name);
+ ret = init_unix_addr(&unix_addr, name);
if (ret < 0)
return ret;
ret = socket(PF_UNIX, SOCK_STREAM, 0);
if (ret < 0)
return -ERRNO_TO_PARA_ERROR(errno);
fd = ret;
- ret = bind(fd, (struct sockaddr *) unix_addr, UNIX_PATH_MAX);
+ ret = bind(fd, (struct sockaddr *)&unix_addr, UNIX_PATH_MAX);
if (ret < 0) {
ret = -ERRNO_TO_PARA_ERROR(errno);
goto err;