isc_socket_t
isc_socket_t *sock;
isc_socket_t *keep = NULL;
isc_socket_t * newsocket;
isc_socket_t **socketp);
isc_socket_cancel(isc_socket_t *sock, isc_task_t *task,
isc_socket_attach(isc_socket_t *sock, isc_socket_t **socketp);
isc_socket_detach(isc_socket_t **socketp);
isc_socket_bind(isc_socket_t *sock, struct sockaddr_storage *addressp,
isc_socket_connect(isc_socket_t *sock, struct sockaddr_storage *addressp,
isc_socket_recvv(isc_socket_t *sock, isc_bufferlist_t *buflist,
isc_socket_sendv(isc_socket_t *sock, isc_bufferlist_t *buflist,
isc_socket_sendtov2(isc_socket_t *sock, isc_bufferlist_t *buflist,
socketclose(isc_socketmgr_t *manager, isc_socket_t *sock, int fd) {
destroy(isc_socket_t **sockp) {
isc_socket_t *sock = *sockp;
isc_socket_t **socketp)
isc_socket_t *sock;
free_socket(isc_socket_t **socketp) {
isc_socket_t *sock = *socketp;
use_min_mtu(isc_socket_t *sock) {
set_tcp_maxseg(isc_socket_t *sock, int size) {
opensocket(isc_socket_t *sock)
isc_socket_t **socketp)
isc_socket_t *sock = NULL;
*socketp = (isc_socket_t *)sock;
ISC_LINK(isc_socket_t) link;
isc_socket_t **socketp)
isc_socket_attach(isc_socket_t *sock0, isc_socket_t **socketp) {
isc_socket_t *sock = (isc_socket_t *)sock0;
*socketp = (isc_socket_t *)sock;
isc_socket_detach(isc_socket_t **socketp) {
isc_socket_t *sock;
sock = (isc_socket_t *)*socketp;
dispatch_recv(isc_socket_t *sock) {
dispatch_send(isc_socket_t *sock) {
dispatch_connect(isc_socket_t *sock) {
send_recvdone_event(isc_socket_t *sock, isc_socketevent_t **dev) {
send_senddone_event(isc_socket_t *sock, isc_socketevent_t **dev) {
isc_socket_t *sock;
isc_socket_t *sock;
sock = (isc_socket_t *)ev->ev_sender;
isc_socket_t *sock;
isc_socket_t **fds;
ISC_LIST(isc_socket_t) socklist;
manager->fds = reallocarray(NULL, manager->maxsocks, sizeof(isc_socket_t *));
memset(manager->fds, 0, manager->maxsocks * sizeof(isc_socket_t *));
socket_recv(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task,
isc_socket_recvv(isc_socket_t *sock0, isc_bufferlist_t *buflist,
isc_socket_t *sock = (isc_socket_t *)sock0;
isc_socket_t **socketp);
static void send_recvdone_event(isc_socket_t *, isc_socketevent_t **);
static void send_senddone_event(isc_socket_t *, isc_socketevent_t **);
static void free_socket(isc_socket_t **);
socket_send(isc_socket_t *sock, isc_socketevent_t *dev, isc_task_t *task,
isc_socket_t **);
static void destroy(isc_socket_t **);
static void process_cmsg(isc_socket_t *, struct msghdr *, isc_socketevent_t *);
static void build_msghdr_send(isc_socket_t *, char *, isc_socketevent_t *,
isc_socket_sendv(isc_socket_t *sock, isc_bufferlist_t *buflist,
static void build_msghdr_recv(isc_socket_t *, char *, isc_socketevent_t *,
isc_socket_sendtov2(isc_socket_t *sock0, isc_bufferlist_t *buflist,
isc_socket_t *sock = (isc_socket_t *)sock0;
isc_socket_bind(isc_socket_t *sock0, struct sockaddr_storage *sockaddr,
isc_socket_t *sock = (isc_socket_t *)sock0;
isc_socket_connect(isc_socket_t *sock0, struct sockaddr_storage *addr,
isc_socket_t *sock = (isc_socket_t *)sock0;
isc_socket_t *sock;
socket_log(isc_socket_t *sock, struct sockaddr_storage *address,
isc_socket_cancel(isc_socket_t *sock0, isc_task_t *task, unsigned int how) {
isc_socket_t *sock = (isc_socket_t *)sock0;
socket_log(isc_socket_t *sock, struct sockaddr_storage *address,
process_cmsg(isc_socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) {
build_msghdr_send(isc_socket_t *sock, char* cmsgbuf, isc_socketevent_t *dev,
build_msghdr_recv(isc_socket_t *sock, char *cmsgbuf, isc_socketevent_t *dev,
set_dev_address(struct sockaddr_storage *address, isc_socket_t *sock,
doio_recv(isc_socket_t *sock, isc_socketevent_t *dev) {
doio_send(isc_socket_t *sock, isc_socketevent_t *dev) {