Lines Matching refs:socket

56   ret->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  in socket_new()
85 void socket_free(socket_t* socket) { in socket_free() argument
86 if (!socket) return; in socket_free()
88 socket_unregister(socket); in socket_free()
89 close(socket->fd); in socket_free()
90 osi_free(socket); in socket_free()
93 bool socket_listen(const socket_t* socket, port_t port) { in socket_listen() argument
94 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_listen()
100 if (bind(socket->fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) { in socket_listen()
105 if (listen(socket->fd, 10) == -1) { in socket_listen()
113 socket_t* socket_accept(const socket_t* socket) { in socket_accept() argument
114 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_accept()
117 OSI_NO_INTR(fd = accept(socket->fd, NULL, NULL)); in socket_accept()
129 ssize_t socket_read(const socket_t* socket, void* buf, size_t count) { in socket_read() argument
130 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_read()
134 OSI_NO_INTR(ret = recv(socket->fd, buf, count, MSG_DONTWAIT)); in socket_read()
139 ssize_t socket_write(const socket_t* socket, const void* buf, size_t count) { in socket_write() argument
140 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_write()
144 OSI_NO_INTR(ret = send(socket->fd, buf, count, MSG_DONTWAIT)); in socket_write()
149 ssize_t socket_write_and_transfer_fd(const socket_t* socket, const void* buf, in socket_write_and_transfer_fd() argument
151 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_write_and_transfer_fd()
154 if (fd == INVALID_FD) return socket_write(socket, buf, count); in socket_write_and_transfer_fd()
177 OSI_NO_INTR(ret = sendmsg(socket->fd, &msg, MSG_DONTWAIT)); in socket_write_and_transfer_fd()
183 ssize_t socket_bytes_available(const socket_t* socket) { in socket_bytes_available() argument
184 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_bytes_available()
187 if (ioctl(socket->fd, FIONREAD, &size) == -1) return -1; in socket_bytes_available()
191 void socket_register(socket_t* socket, reactor_t* reactor, void* context, in socket_register() argument
193 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_register()
196 socket_unregister(socket); in socket_register()
198 socket->read_ready = read_cb; in socket_register()
199 socket->write_ready = write_cb; in socket_register()
200 socket->context = context; in socket_register()
205 socket->reactor_object = in socket_register()
206 reactor_register(reactor, socket->fd, socket, read_fn, write_fn); in socket_register()
209 void socket_unregister(socket_t* socket) { in socket_unregister() argument
210 log::assert_that(socket != NULL, "assert failed: socket != NULL"); in socket_unregister()
212 if (socket->reactor_object) reactor_unregister(socket->reactor_object); in socket_unregister()
213 socket->reactor_object = NULL; in socket_unregister()
219 socket_t* socket = static_cast<socket_t*>(context); in internal_read_ready() local
220 socket->read_ready(socket, socket->context); in internal_read_ready()
226 socket_t* socket = static_cast<socket_t*>(context); in internal_write_ready() local
227 socket->write_ready(socket, socket->context); in internal_write_ready()