2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-05 17:15:31 +00:00
Files
bind/doc/man/socket.man
2000-06-01 03:19:06 +00:00

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