mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-05 17:15:31 +00:00
222 lines
4.6 KiB
Groff
222 lines
4.6 KiB
Groff
.\"
|
|
.\" Copyright (C) 2000 Internet Software Consortium.
|
|
.\"
|
|
.\" Permission to use, copy, modify, and distribute this document for any
|
|
.\" purpose with or without fee is hereby granted, provided that the above
|
|
.\" copyright notice and this permission notice appear in all copies.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
|
|
.\" DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
|
|
.\" INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
|
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
|
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
.\"
|
|
.\" $Id: socket.man,v 1.1 2000/06/01 03:19:06 jim Exp $
|
|
.\"
|
|
.Dd Jun 30, 2000
|
|
.Dt XXXXXX 3
|
|
.Os BIND9 9
|
|
.ds vT BIND9 Programmer's Manual
|
|
.Sh NAME
|
|
FUNCTION NAME/RETURN COUNT MISMATCH
|
|
.Nm select_poke ,
|
|
.Nm select_readmsg ,
|
|
.Nm make_nonblock ,
|
|
.Nm process_cmsg ,
|
|
.Nm dump_msg ,
|
|
.Nm doio_recv ,
|
|
.Nm doio_send ,
|
|
.Nm destroy ,
|
|
.Nm free_socket ,
|
|
.Nm isc_socket_attach ,
|
|
.Nm isc_socket_detach ,
|
|
.Nm dispatch_recv ,
|
|
.Nm dispatch_send ,
|
|
.Nm dispatch_accept ,
|
|
.Nm dispatch_connect ,
|
|
.Nm internal_accept ,
|
|
.Nm internal_recv ,
|
|
.Nm internal_send ,
|
|
.Nm watcher ,
|
|
.Nm isc_socketmgr_create ,
|
|
.Nm isc_socketmgr_destroy ,
|
|
.Nm isc_socket_bind ,
|
|
.Nm isc_socket_listen ,
|
|
.Nm internal_connect ,
|
|
.Nm isc_socket_getpeername ,
|
|
.Nm isc_socket_getsockname ,
|
|
.Nm isc_socket_cancel ,
|
|
.Nm isc_socket_gettype ,
|
|
.Nm isc_socket_isbound
|
|
.Nd XXX
|
|
.Sh SYNOPSIS
|
|
.Fd #include <config.h>
|
|
.Fd
|
|
.Fd #include <sys/param.h>
|
|
.Fd #include <sys/types.h>
|
|
.Fd #include <sys/socket.h>
|
|
.Fd #include <sys/time.h>
|
|
.Fd #include <sys/uio.h>
|
|
.Fd
|
|
.Fd #include <errno.h>
|
|
.Fd #include <stddef.h>
|
|
.Fd #include <stdlib.h>
|
|
.Fd #include <string.h>
|
|
.Fd #include <unistd.h>
|
|
.Fd #include <fcntl.h>
|
|
.Fd
|
|
.Fd #include <isc/buffer.h>
|
|
.Fd #include <isc/bufferlist.h>
|
|
.Fd #include <isc/condition.h>
|
|
.Fd #include <isc/list.h>
|
|
.Fd #include <isc/log.h>
|
|
.Fd #include <isc/mem.h>
|
|
.Fd #include <isc/net.h>
|
|
.Fd #include <isc/print.h>
|
|
.Fd #include <isc/region.h>
|
|
.Fd #include <isc/socket.h>
|
|
.Fd #include <isc/task.h>
|
|
.Fd #include <isc/thread.h>
|
|
.Fd #include <isc/util.h>
|
|
.Fd
|
|
.Ft struct isc_socket {
|
|
.Fo select_poke
|
|
.Fa "isc_socketmgr_t *mgr"
|
|
.Fa "int msg"
|
|
.Fc
|
|
.Ft struct isc_socketmgr {
|
|
.Fo select_readmsg
|
|
.Fa "isc_socketmgr_t *mgr"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo make_nonblock
|
|
.Fa "int fd"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo process_cmsg
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "struct msghdr *msg"
|
|
.Fa "isc_socketevent_t *dev"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo dump_msg
|
|
.Fa "struct msghdr *msg"
|
|
.Fc
|
|
.Ft static int
|
|
.Fo doio_recv
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_socketevent_t *dev"
|
|
.Fc
|
|
.Ft static isc_result_t
|
|
.Fo doio_send
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_socketevent_t *dev"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo destroy
|
|
.Fa "isc_socket_t **sockp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo free_socket
|
|
.Fa "isc_socket_t **socketp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_attach
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_socket_t **socketp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_detach
|
|
.Fa "isc_socket_t **socketp"
|
|
.Fc
|
|
.Ft static isc_socketevent_t *
|
|
.Fo dispatch_recv
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo dispatch_send
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Ft static int
|
|
.Fo dispatch_accept
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Ft static int
|
|
.Fo dispatch_connect
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo internal_accept
|
|
.Fa "isc_task_t *me"
|
|
.Fa "isc_event_t *ev"
|
|
.Fc
|
|
.Ft static isc_result_t
|
|
.Fo internal_recv
|
|
.Fa "isc_task_t *me"
|
|
.Fa "isc_event_t *ev"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo internal_send
|
|
.Fa "isc_task_t *me"
|
|
.Fa "isc_event_t *ev"
|
|
.Fc
|
|
.Ft isc_result_t
|
|
.Fo watcher
|
|
.Fa "void *uap"
|
|
.Fc
|
|
.Ft void
|
|
.Fo isc_socketmgr_create
|
|
.Fa "isc_mem_t *mctx"
|
|
.Fa "isc_socketmgr_t **managerp"
|
|
.Fc
|
|
.Ft void
|
|
.Fo isc_socketmgr_destroy
|
|
.Fa "isc_socketmgr_t **managerp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_bind
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_sockaddr_t *sockaddr"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_listen
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "unsigned int backlog"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo internal_connect
|
|
.Fa "isc_task_t *me"
|
|
.Fa "isc_event_t *ev"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_getpeername
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_sockaddr_t *addressp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_getsockname
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_sockaddr_t *addressp"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_cancel
|
|
.Fa "isc_socket_t *sock"
|
|
.Fa "isc_task_t *task"
|
|
.Fa "unsigned int how"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_gettype
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Ft static void
|
|
.Fo isc_socket_isbound
|
|
.Fa "isc_socket_t *sock"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
.Sh RETURN VALUES
|
|
.Sh SEE ALSO
|
|
.Sh BUGS
|