[BACK]Return to un.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / sys

Annotation of src/sys/sys/un.h, Revision 1.31

1.31    ! matt        1: /*     $NetBSD: un.h,v 1.30 2003/08/07 16:34:21 agc Exp $      */
1.8       cgd         2:
1.1       cgd         3: /*
1.6       mycroft     4:  * Copyright (c) 1982, 1986, 1993
                      5:  *     The Regents of the University of California.  All rights reserved.
1.1       cgd         6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
1.30      agc        15:  * 3. Neither the name of the University nor the names of its contributors
1.1       cgd        16:  *    may be used to endorse or promote products derived from this software
                     17:  *    without specific prior written permission.
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     20:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     21:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     22:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     23:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     24:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     25:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     26:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     27:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     28:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     29:  * SUCH DAMAGE.
                     30:  *
1.18      fvdl       31:  *     @(#)un.h        8.3 (Berkeley) 2/19/95
1.1       cgd        32:  */
                     33:
1.13      mikel      34: #ifndef _SYS_UN_H_
                     35: #define _SYS_UN_H_
                     36:
1.24      kleink     37: #include <sys/ansi.h>
1.26      bjh21      38: #include <sys/featuretest.h>
1.24      kleink     39:
                     40: #ifndef sa_family_t
                     41: typedef __sa_family_t  sa_family_t;
1.25      kleink     42: #define sa_family_t    __sa_family_t
1.24      kleink     43: #endif
                     44:
1.1       cgd        45: /*
                     46:  * Definitions for UNIX IPC domain.
                     47:  */
                     48: struct sockaddr_un {
1.23      danw       49:        u_int8_t        sun_len;        /* total sockaddr length */
1.24      kleink     50:        sa_family_t     sun_family;     /* AF_LOCAL */
1.23      danw       51:        char            sun_path[104];  /* path name (gag) */
1.1       cgd        52: };
                     53:
1.17      thorpej    54: /*
                     55:  * Socket options for UNIX IPC domain.
                     56:  */
1.26      bjh21      57: #if defined(_NETBSD_SOURCE)
1.17      thorpej    58: #define        LOCAL_CREDS     0x0001          /* pass credentials to receiver */
1.22      kleink     59: #endif
1.17      thorpej    60:
1.10      jtc        61: #ifdef _KERNEL
1.6       mycroft    62: struct unpcb;
1.11      christos   63: struct socket;
1.4       andrew     64:
1.29      itojun     65: int    unp_attach __P((struct socket *));
                     66: int    unp_bind __P((struct unpcb *, struct mbuf *, struct proc *));
                     67: int    unp_connect __P((struct socket *, struct mbuf *, struct proc *));
1.31    ! matt       68: int    unp_connect2 __P((struct socket *, struct socket *, int));
1.29      itojun     69: void   unp_detach __P((struct unpcb *));
                     70: void   unp_discard __P((struct file *));
                     71: void   unp_disconnect __P((struct unpcb *));
                     72: void   unp_drop __P((struct unpcb *, int));
1.5       mycroft    73: void   unp_gc __P((void));
1.29      itojun     74: void   unp_mark __P((struct file *));
                     75: void   unp_scan __P((struct mbuf *, void (*)(struct file *), int));
                     76: void   unp_shutdown __P((struct unpcb *));
1.11      christos   77: int    unp_externalize __P((struct mbuf *));
                     78: int    unp_internalize __P((struct mbuf *, struct proc *));
                     79: void   unp_dispose __P((struct mbuf *));
1.17      thorpej    80: int    unp_output __P((struct mbuf *, struct mbuf *, struct unpcb *,
                     81:            struct proc *));
1.12      pk         82: void   unp_setsockaddr __P((struct unpcb *, struct mbuf *));
                     83: void   unp_setpeeraddr __P((struct unpcb *, struct mbuf *));
1.10      jtc        84: #else /* !_KERNEL */
1.1       cgd        85:
                     86: /* actual length of an initialized sockaddr_un */
1.26      bjh21      87: #if defined(_NETBSD_SOURCE)
1.1       cgd        88: #define SUN_LEN(su) \
1.15      cgd        89:        (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
1.22      kleink     90: #endif /* !_XOPEN_SOURCE */
1.10      jtc        91: #endif /* _KERNEL */
1.13      mikel      92:
                     93: #endif /* !_SYS_UN_H_ */

CVSweb <webmaster@jp.NetBSD.org>