Deleted Added
full compact
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 ---