• Home
  • Raw
  • Download

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 CHECK(socket != NULL); in socket_listen()
100 if (bind(socket->fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) { in socket_listen()
106 if (listen(socket->fd, 10) == -1) { in socket_listen()
115 socket_t* socket_accept(const socket_t* socket) { in socket_accept() argument
116 CHECK(socket != NULL); in socket_accept()
119 OSI_NO_INTR(fd = accept(socket->fd, NULL, NULL)); in socket_accept()
131 ssize_t socket_read(const socket_t* socket, void* buf, size_t count) { in socket_read() argument
132 CHECK(socket != NULL); in socket_read()
136 OSI_NO_INTR(ret = recv(socket->fd, buf, count, MSG_DONTWAIT)); in socket_read()
141 ssize_t socket_write(const socket_t* socket, const void* buf, size_t count) { in socket_write() argument
142 CHECK(socket != NULL); in socket_write()
146 OSI_NO_INTR(ret = send(socket->fd, buf, count, MSG_DONTWAIT)); in socket_write()
151 ssize_t socket_write_and_transfer_fd(const socket_t* socket, const void* buf, in socket_write_and_transfer_fd() argument
153 CHECK(socket != NULL); in socket_write_and_transfer_fd()
156 if (fd == INVALID_FD) return socket_write(socket, buf, count); in socket_write_and_transfer_fd()
179 OSI_NO_INTR(ret = sendmsg(socket->fd, &msg, MSG_DONTWAIT)); in socket_write_and_transfer_fd()
185 ssize_t socket_bytes_available(const socket_t* socket) { in socket_bytes_available() argument
186 CHECK(socket != NULL); in socket_bytes_available()
189 if (ioctl(socket->fd, FIONREAD, &size) == -1) return -1; in socket_bytes_available()
193 void socket_register(socket_t* socket, reactor_t* reactor, void* context, in socket_register() argument
195 CHECK(socket != NULL); in socket_register()
198 socket_unregister(socket); in socket_register()
200 socket->read_ready = read_cb; in socket_register()
201 socket->write_ready = write_cb; in socket_register()
202 socket->context = context; in socket_register()
207 socket->reactor_object = in socket_register()
208 reactor_register(reactor, socket->fd, socket, read_fn, write_fn); in socket_register()
211 void socket_unregister(socket_t* socket) { in socket_unregister() argument
212 CHECK(socket != NULL); in socket_unregister()
214 if (socket->reactor_object) reactor_unregister(socket->reactor_object); in socket_unregister()
215 socket->reactor_object = NULL; in socket_unregister()
221 socket_t* socket = static_cast<socket_t*>(context); in internal_read_ready() local
222 socket->read_ready(socket, socket->context); in internal_read_ready()
228 socket_t* socket = static_cast<socket_t*>(context); in internal_write_ready() local
229 socket->write_ready(socket, socket->context); in internal_write_ready()