unpcb.h (302408) | unpcb.h (305159) |
---|---|
1/*- 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)unpcb.h 8.1 (Berkeley) 6/2/93 | 1/*- 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)unpcb.h 8.1 (Berkeley) 6/2/93 |
30 * $FreeBSD: stable/11/sys/sys/unpcb.h 285522 2015-07-14 02:00:50Z cem $ | 30 * $FreeBSD: stable/11/sys/sys/unpcb.h 305159 2016-08-31 21:35:12Z markj $ |
31 */ 32 33#ifndef _SYS_UNPCB_H_ 34#define _SYS_UNPCB_H_ 35 36#include <sys/queue.h> 37#include <sys/ucred.h> 38 --- 59 unchanged lines hidden (view full) --- 98 * (there may not even be a peer). This is set in unp_listen() when 99 * it fills in unp_peercred for later consumption by unp_connect(). 100 */ 101#define UNP_HAVEPC 0x001 102#define UNP_HAVEPCCACHED 0x002 103#define UNP_WANTCRED 0x004 /* credentials wanted */ 104#define UNP_CONNWAIT 0x008 /* connect blocks until accepted */ 105 | 31 */ 32 33#ifndef _SYS_UNPCB_H_ 34#define _SYS_UNPCB_H_ 35 36#include <sys/queue.h> 37#include <sys/ucred.h> 38 --- 59 unchanged lines hidden (view full) --- 98 * (there may not even be a peer). This is set in unp_listen() when 99 * it fills in unp_peercred for later consumption by unp_connect(). 100 */ 101#define UNP_HAVEPC 0x001 102#define UNP_HAVEPCCACHED 0x002 103#define UNP_WANTCRED 0x004 /* credentials wanted */ 104#define UNP_CONNWAIT 0x008 /* connect blocks until accepted */ 105 |
106#define UNPGC_REF 0x1 /* unpcb has external ref. */ 107#define UNPGC_DEAD 0x2 /* unpcb might be dead. */ 108#define UNPGC_SCANNED 0x4 /* Has been scanned. */ 109#define UNPGC_IGNORE_RIGHTS 0x8 /* Attached rights are freed */ 110 | |
111/* 112 * These flags are used to handle non-atomicity in connect() and bind() 113 * operations on a socket: in particular, to avoid races between multiple 114 * threads or processes operating simultaneously on the same socket. 115 */ 116#define UNP_CONNECTING 0x010 /* Currently connecting. */ 117#define UNP_BINDING 0x020 /* Currently binding. */ | 106/* 107 * These flags are used to handle non-atomicity in connect() and bind() 108 * operations on a socket: in particular, to avoid races between multiple 109 * threads or processes operating simultaneously on the same socket. 110 */ 111#define UNP_CONNECTING 0x010 /* Currently connecting. */ 112#define UNP_BINDING 0x020 /* Currently binding. */ |
113#define UNP_NASCENT 0x040 /* Newborn child socket. */ |
|
118 | 114 |
115/* 116 * Flags in unp_gcflag. 117 */ 118#define UNPGC_REF 0x1 /* unpcb has external ref. */ 119#define UNPGC_DEAD 0x2 /* unpcb might be dead. */ 120#define UNPGC_SCANNED 0x4 /* Has been scanned. */ 121#define UNPGC_IGNORE_RIGHTS 0x8 /* Attached rights are freed */ 122 |
|
119#define sotounpcb(so) ((struct unpcb *)((so)->so_pcb)) 120 121/* Hack alert -- this structure depends on <sys/socketvar.h>. */ 122#ifdef _SYS_SOCKETVAR_H_ 123struct xunpcb { 124 size_t xu_len; /* length of this structure */ 125 struct unpcb *xu_unpp; /* to help netstat, fstat */ 126 struct unpcb xu_unp; /* our information */ --- 23 unchanged lines hidden --- | 123#define sotounpcb(so) ((struct unpcb *)((so)->so_pcb)) 124 125/* Hack alert -- this structure depends on <sys/socketvar.h>. */ 126#ifdef _SYS_SOCKETVAR_H_ 127struct xunpcb { 128 size_t xu_len; /* length of this structure */ 129 struct unpcb *xu_unpp; /* to help netstat, fstat */ 130 struct unpcb xu_unp; /* our information */ --- 23 unchanged lines hidden --- |