Avis Client Library: avis/net.h File Reference

# avis/net.h File Reference

## Detailed Description

Avis network includes.

`#include <errno.h>`
`#include <unistd.h>`
`#include <sys/socket.h>`
`#include <netdb.h>`
`#include <netinet/in.h>`
`#include <arpa/inet.h>`
`#include <avis/errors.h>`
`#include <avis/stdtypes.h>`
`#include <avis/defs.h>`

Go to the source code of this file.

## Defines
#define | pipe_read(socket, buff, length) read (socket, buff, length)
#define | pipe_write(socket, buff, length) write (socket, buff, length)
#define | close_socket(s) (shutdown ((s), SHUT_RDWR), close (s), (s) = -1)
#define | sock_op_timed_out() (errno == EAGAIN || errno == EWOULDBLOCK)
#define | elvin_error_from_pipe elvin_error_from_errno
#define | elvin_error_from_socket elvin_error_from_errno
## Typedefs
typedef int | socket_t
## Functions
AVIS_PUBLIC socket_t | avis_open_socket (const char *host, uint16_t port, ElvinError *error)
AVIS_PUBLIC socket_t | avis_select_ready (socket_t socket1, socket_t socket2, ElvinError *error)
| Select a socket ready for reading.
AVIS_PUBLIC bool | avis_open_socket_pair (socket_t *socket_read, socket_t *socket_write, ElvinError *error)
| Open a bi-directional control socket.
AVIS_PUBLIC void | avis_close_socket_pair (socket_t socket_read, socket_t socket_write)

## Define Documentation

#define close_socket | ( | s |  | ) | (shutdown ((s), SHUT_RDWR), close (s), (s) = -1)

#define elvin_error_from_pipe elvin_error_from_errno

#define elvin_error_from_socket elvin_error_from_errno

#define pipe_read | ( | socket,
|  | buff,
|  | length |  | ) | read (socket, buff, length)

#define pipe_write | ( | socket,
|  | buff,
|  | length |  | ) | write (socket, buff, length)

#define sock_op_timed_out | ( |  | ) | (errno == EAGAIN || errno == EWOULDBLOCK)

## Typedef Documentation

typedef int socket_t

## Function Documentation

AVIS_PUBLIC void avis_close_socket_pair | ( | socket_t | socket_read,
|  | socket_t | socket_write |
| ) |  |  |

AVIS_PUBLIC socket_t avis_open_socket | ( | const char * | host,
|  | uint16_t | port,
|  | ElvinError * | error |
| ) |  |  |

AVIS_PUBLIC bool avis_open_socket_pair | ( | socket_t * | socket_read,
|  | socket_t * | socket_write,
|  | ElvinError * | error |
| ) |  |  |

Open a bi-directional control socket.

AVIS_PUBLIC socket_t avis_select_ready | ( | socket_t | socket1,
|  | socket_t | socket2,
|  | ElvinError * | error |
| ) |  |  |

Select a socket ready for reading.

If both are ready, return socket2.s