Lines Matching refs:socket
58 ret->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); in socket_new()
92 void socket_free(socket_t *socket) { in socket_free() argument
93 if (!socket) in socket_free()
96 socket_unregister(socket); in socket_free()
97 close(socket->fd); in socket_free()
98 osi_free(socket); in socket_free()
101 bool socket_listen(const socket_t *socket, port_t port) { in socket_listen() argument
102 assert(socket != NULL); in socket_listen()
108 if (bind(socket->fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) { in socket_listen()
113 if (listen(socket->fd, 10) == -1) { in socket_listen()
121 socket_t *socket_accept(const socket_t *socket) { in socket_accept() argument
122 assert(socket != NULL); in socket_accept()
124 int fd = TEMP_FAILURE_RETRY(accept(socket->fd, NULL, NULL)); in socket_accept()
141 ssize_t socket_read(const socket_t *socket, void *buf, size_t count) { in socket_read() argument
142 assert(socket != NULL); in socket_read()
145 return TEMP_FAILURE_RETRY(recv(socket->fd, buf, count, MSG_DONTWAIT)); in socket_read()
148 ssize_t socket_write(const socket_t *socket, const void *buf, size_t count) { in socket_write() argument
149 assert(socket != NULL); in socket_write()
152 return TEMP_FAILURE_RETRY(send(socket->fd, buf, count, MSG_DONTWAIT)); in socket_write()
155 ssize_t socket_write_and_transfer_fd(const socket_t *socket, const void *buf, size_t count, int fd)… in socket_write_and_transfer_fd() argument
156 assert(socket != NULL); in socket_write_and_transfer_fd()
160 return socket_write(socket, buf, count); in socket_write_and_transfer_fd()
182 ssize_t ret = TEMP_FAILURE_RETRY(sendmsg(socket->fd, &msg, MSG_DONTWAIT)); in socket_write_and_transfer_fd()
187 ssize_t socket_bytes_available(const socket_t *socket) { in socket_bytes_available() argument
188 assert(socket != NULL); in socket_bytes_available()
191 if (TEMP_FAILURE_RETRY(ioctl(socket->fd, FIONREAD, &size)) == -1) in socket_bytes_available()
196 void socket_register(socket_t *socket, reactor_t *reactor, void *context, socket_cb read_cb, socket… in socket_register() argument
197 assert(socket != NULL); in socket_register()
200 socket_unregister(socket); in socket_register()
202 socket->read_ready = read_cb; in socket_register()
203 socket->write_ready = write_cb; in socket_register()
204 socket->context = context; in socket_register()
209 socket->reactor_object = reactor_register(reactor, socket->fd, socket, read_fn, write_fn); in socket_register()
212 void socket_unregister(socket_t *socket) { in socket_unregister() argument
213 assert(socket != NULL); in socket_unregister()
215 if (socket->reactor_object) in socket_unregister()
216 reactor_unregister(socket->reactor_object); in socket_unregister()
217 socket->reactor_object = NULL; in socket_unregister()
223 socket_t *socket = (void *)context; in internal_read_ready() local
224 socket->read_ready(socket, socket->context); in internal_read_ready()
230 socket_t *socket = (void *)context; in internal_write_ready() local
231 socket->write_ready(socket, socket->context); in internal_write_ready()