conf.h (198706) | conf.h (201223) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * (c) UNIX System Laboratories, Inc. 7 * All or some portions of this file are derived from material licensed 8 * to the University of California by American Telephone and Telegraph --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)conf.h 8.5 (Berkeley) 1/9/95 | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * (c) UNIX System Laboratories, Inc. 7 * All or some portions of this file are derived from material licensed 8 * to the University of California by American Telephone and Telegraph --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)conf.h 8.5 (Berkeley) 1/9/95 |
37 * $FreeBSD: head/sys/sys/conf.h 198706 2009-10-31 10:35:41Z ed $ | 37 * $FreeBSD: head/sys/sys/conf.h 201223 2009-12-29 21:51:28Z rnoland $ |
38 */ 39 40#ifndef _SYS_CONF_H_ 41#define _SYS_CONF_H_ 42 43#ifdef _KERNEL 44#include <sys/eventhandler.h> 45#else --- 84 unchanged lines hidden (view full) --- 130typedef void d_strategy_t(struct bio *bp); 131typedef int d_ioctl_t(struct cdev *dev, u_long cmd, caddr_t data, 132 int fflag, struct thread *td); 133 134typedef int d_read_t(struct cdev *dev, struct uio *uio, int ioflag); 135typedef int d_write_t(struct cdev *dev, struct uio *uio, int ioflag); 136typedef int d_poll_t(struct cdev *dev, int events, struct thread *td); 137typedef int d_kqfilter_t(struct cdev *dev, struct knote *kn); | 38 */ 39 40#ifndef _SYS_CONF_H_ 41#define _SYS_CONF_H_ 42 43#ifdef _KERNEL 44#include <sys/eventhandler.h> 45#else --- 84 unchanged lines hidden (view full) --- 130typedef void d_strategy_t(struct bio *bp); 131typedef int d_ioctl_t(struct cdev *dev, u_long cmd, caddr_t data, 132 int fflag, struct thread *td); 133 134typedef int d_read_t(struct cdev *dev, struct uio *uio, int ioflag); 135typedef int d_write_t(struct cdev *dev, struct uio *uio, int ioflag); 136typedef int d_poll_t(struct cdev *dev, int events, struct thread *td); 137typedef int d_kqfilter_t(struct cdev *dev, struct knote *kn); |
138typedef int d_mmap_t(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, 139 int nprot); 140typedef int d_mmap2_t(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, | 138typedef int d_mmap_t(struct cdev *dev, vm_ooffset_t offset, vm_paddr_t *paddr, |
141 int nprot, vm_memattr_t *memattr); 142typedef int d_mmap_single_t(struct cdev *cdev, vm_ooffset_t *offset, 143 vm_size_t size, struct vm_object **object, int nprot); 144typedef void d_purge_t(struct cdev *dev); 145 146typedef int dumper_t( 147 void *_priv, /* Private to the driver. */ 148 void *_virtual, /* Virtual (mapped) address. */ --- 18 unchanged lines hidden (view full) --- 167/* 168 * Flags for d_flags which the drivers can set. 169 */ 170#define D_TRACKCLOSE 0x00080000 /* track all closes */ 171#define D_MMAP_ANON 0x00100000 /* special treatment in vm_mmap.c */ 172#define D_PSEUDO 0x00200000 /* make_dev() can return NULL */ 173#define D_NEEDGIANT 0x00400000 /* driver want Giant */ 174#define D_NEEDMINOR 0x00800000 /* driver uses clone_create() */ | 139 int nprot, vm_memattr_t *memattr); 140typedef int d_mmap_single_t(struct cdev *cdev, vm_ooffset_t *offset, 141 vm_size_t size, struct vm_object **object, int nprot); 142typedef void d_purge_t(struct cdev *dev); 143 144typedef int dumper_t( 145 void *_priv, /* Private to the driver. */ 146 void *_virtual, /* Virtual (mapped) address. */ --- 18 unchanged lines hidden (view full) --- 165/* 166 * Flags for d_flags which the drivers can set. 167 */ 168#define D_TRACKCLOSE 0x00080000 /* track all closes */ 169#define D_MMAP_ANON 0x00100000 /* special treatment in vm_mmap.c */ 170#define D_PSEUDO 0x00200000 /* make_dev() can return NULL */ 171#define D_NEEDGIANT 0x00400000 /* driver want Giant */ 172#define D_NEEDMINOR 0x00800000 /* driver uses clone_create() */ |
175#define D_MMAP2 0x01000000 /* driver uses d_mmap2() */ | |
176 177/* 178 * Version numbers. 179 */ 180#define D_VERSION_00 0x20011966 181#define D_VERSION_01 0x17032005 /* Add d_uid,gid,mode & kind */ 182#define D_VERSION_02 0x28042009 /* Add d_mmap_single */ | 173 174/* 175 * Version numbers. 176 */ 177#define D_VERSION_00 0x20011966 178#define D_VERSION_01 0x17032005 /* Add d_uid,gid,mode & kind */ 179#define D_VERSION_02 0x28042009 /* Add d_mmap_single */ |
183#define D_VERSION D_VERSION_02 | 180#define D_VERSION_03 0x17122009 /* d_mmap takes memattr,vm_ooffset_t */ 181#define D_VERSION D_VERSION_03 |
184 185/* 186 * Flags used for internal housekeeping 187 */ 188#define D_INIT 0x80000000 /* cdevsw initialized */ 189 190/* 191 * Character device switch table --- 4 unchanged lines hidden (view full) --- 196 const char *d_name; 197 d_open_t *d_open; 198 d_fdopen_t *d_fdopen; 199 d_close_t *d_close; 200 d_read_t *d_read; 201 d_write_t *d_write; 202 d_ioctl_t *d_ioctl; 203 d_poll_t *d_poll; | 182 183/* 184 * Flags used for internal housekeeping 185 */ 186#define D_INIT 0x80000000 /* cdevsw initialized */ 187 188/* 189 * Character device switch table --- 4 unchanged lines hidden (view full) --- 194 const char *d_name; 195 d_open_t *d_open; 196 d_fdopen_t *d_fdopen; 197 d_close_t *d_close; 198 d_read_t *d_read; 199 d_write_t *d_write; 200 d_ioctl_t *d_ioctl; 201 d_poll_t *d_poll; |
204 union { 205 d_mmap_t *old; 206 d_mmap2_t *new; 207 } __d_mmap; | 202 d_mmap_t *d_mmap; |
208 d_strategy_t *d_strategy; 209 dumper_t *d_dump; 210 d_kqfilter_t *d_kqfilter; 211 d_purge_t *d_purge; 212 d_mmap_single_t *d_mmap_single; 213 214 int32_t d_spare0[3]; 215 void *d_spare1[3]; 216 217 /* These fields should not be messed with by drivers */ 218 LIST_HEAD(, cdev) d_devs; 219 int d_spare2; 220 union { 221 struct cdevsw *gianttrick; 222 SLIST_ENTRY(cdevsw) postfree_list; 223 } __d_giant; 224}; | 203 d_strategy_t *d_strategy; 204 dumper_t *d_dump; 205 d_kqfilter_t *d_kqfilter; 206 d_purge_t *d_purge; 207 d_mmap_single_t *d_mmap_single; 208 209 int32_t d_spare0[3]; 210 void *d_spare1[3]; 211 212 /* These fields should not be messed with by drivers */ 213 LIST_HEAD(, cdev) d_devs; 214 int d_spare2; 215 union { 216 struct cdevsw *gianttrick; 217 SLIST_ENTRY(cdevsw) postfree_list; 218 } __d_giant; 219}; |
225#define d_mmap __d_mmap.old 226#define d_mmap2 __d_mmap.new | |
227#define d_gianttrick __d_giant.gianttrick 228#define d_postfree_list __d_giant.postfree_list 229 230struct module; 231 232struct devsw_module_data { 233 int (*chainevh)(struct module *, int, void *); /* next handler */ 234 void *chainarg; /* arg for next event handler */ --- 95 unchanged lines hidden --- | 220#define d_gianttrick __d_giant.gianttrick 221#define d_postfree_list __d_giant.postfree_list 222 223struct module; 224 225struct devsw_module_data { 226 int (*chainevh)(struct module *, int, void *); /* next handler */ 227 void *chainarg; /* arg for next event handler */ --- 95 unchanged lines hidden --- |