The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/kern/subr_xxx.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 1982, 1986, 1991, 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
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  * 3. All advertising materials mentioning features or use of this software
   14  *    must display the following acknowledgement:
   15  *      This product includes software developed by the University of
   16  *      California, Berkeley and its contributors.
   17  * 4. Neither the name of the University nor the names of its contributors
   18  *    may be used to endorse or promote products derived from this software
   19  *    without specific prior written permission.
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   31  * SUCH DAMAGE.
   32  *
   33  *      @(#)subr_xxx.c  8.1 (Berkeley) 6/10/93
   34  * $FreeBSD: src/sys/kern/subr_xxx.c,v 1.5.4.2 1999/09/05 08:15:16 peter Exp $
   35  */
   36 
   37 /*
   38  * Miscellaneous trivial functions.
   39  */
   40 #include <sys/param.h>
   41 #include <sys/systm.h>
   42 
   43 /*
   44  * Return error for operation not supported
   45  * on a specific object or file type.
   46  */
   47 int
   48 eopnotsupp()
   49 {
   50 
   51         return (EOPNOTSUPP);
   52 }
   53 
   54 /*
   55  * Generic null operation, always returns success.
   56  */
   57 int
   58 nullop()
   59 {
   60 
   61         return (0);
   62 }
   63 
   64 #include <sys/conf.h>
   65 
   66 /*
   67  * Unsupported devswitch functions (e.g. for writing to read-only device).
   68  * XXX may belong elsewhere.
   69  */
   70 
   71 int
   72 noopen(dev, flags, fmt, p)
   73         dev_t dev;
   74         int flags;
   75         int fmt;
   76         struct proc *p;
   77 {
   78 
   79         return (ENODEV);
   80 }
   81 
   82 int
   83 noclose(dev, flags, fmt, p)
   84         dev_t dev;
   85         int flags;
   86         int fmt;
   87         struct proc *p;
   88 {
   89 
   90         return (ENODEV);
   91 }
   92 
   93 int
   94 noread(dev, uio, ioflag)
   95         dev_t dev;
   96         struct uio *uio;
   97         int ioflag;
   98 {
   99 
  100         return (ENODEV);
  101 }
  102 
  103 int
  104 nowrite(dev, uio, ioflag)
  105         dev_t dev;
  106         struct uio *uio;
  107         int ioflag;
  108 {
  109 
  110         return (ENODEV);
  111 }
  112 
  113 int
  114 noioctl(dev, cmd, data, flags, p)
  115         dev_t dev;
  116         int cmd;
  117         caddr_t data;
  118         int flags;
  119         struct proc *p;
  120 {
  121 
  122         return (ENODEV);
  123 }
  124 
  125 void
  126 nostop(tp, rw)
  127         struct tty *tp;
  128         int rw;
  129 {
  130 
  131 }
  132 
  133 int
  134 noreset(dev)
  135         dev_t dev;
  136 {
  137 
  138         printf("noreset(0x%x) called\n", dev);
  139         return (ENODEV);
  140 }
  141 
  142 struct tty *
  143 nodevtotty(dev)
  144         dev_t dev;
  145 {
  146 
  147         return (NULL);
  148 }
  149 
  150 int
  151 noselect(dev, rw, p)
  152         dev_t dev;
  153         int rw;
  154         struct proc *p;
  155 {
  156 
  157         /* XXX is this distinguished from 1 for data available? */
  158         return (ENODEV);
  159 }
  160 
  161 int
  162 nommap(dev, offset, nprot)
  163         dev_t dev;
  164         vm_offset_t offset;
  165         int nprot;
  166 {
  167 
  168         /* Don't return ENODEV.  That would allow mapping address ENODEV! */
  169         return (-1);
  170 }
  171 
  172 int
  173 nodump(dev)
  174         dev_t dev;
  175 {
  176 
  177         return (ENODEV);
  178 }
  179 
  180 /*
  181  * Null devswitch functions (for when the operation always succeeds).
  182  * XXX may belong elsewhere.
  183  * XXX not all are here (e.g., seltrue() isn't).
  184  */
  185 
  186 /*
  187  * XXX this is probably bogus.  Any device that uses it isn't checking the
  188  * minor number.
  189  */
  190 int
  191 nullopen(dev, flags, fmt, p)
  192         dev_t dev;
  193         int flags;
  194         int fmt;
  195         struct proc *p;
  196 {
  197 
  198         return (0);
  199 }
  200 
  201 int
  202 nullclose(dev, flags, fmt, p)
  203         dev_t dev;
  204         int flags;
  205         int fmt;
  206         struct proc *p;
  207 {
  208 
  209         return (0);
  210 }
  211 
  212 /*
  213  * Unconfigured devswitch functions (for unconfigured drivers).
  214  * XXX may belong elsewhere.
  215  */
  216 
  217 int
  218 nxopen(dev, flags, fmt, p)
  219         dev_t dev;
  220         int flags;
  221         int fmt;
  222         struct proc *p;
  223 {
  224 
  225         return (ENXIO);
  226 }
  227 
  228 /*
  229  * XXX all nx functions except nxopen() should probably go away.  They
  230  * probably can't be called for non-open devices.
  231  */
  232 
  233 int
  234 nxclose(dev, flags, fmt, p)
  235         dev_t dev;
  236         int flags;
  237         int fmt;
  238         struct proc *p;
  239 {
  240 
  241         printf("nxclose(0x%x) called\n", dev);
  242         return (ENXIO);
  243 }
  244 
  245 int
  246 nxread(dev, uio, ioflag)
  247         dev_t dev;
  248         struct uio *uio;
  249         int ioflag;
  250 {
  251 
  252         printf("nxread(0x%x) called\n", dev);
  253         return (ENXIO);
  254 }
  255 
  256 int
  257 nxwrite(dev, uio, ioflag)
  258         dev_t dev;
  259         struct uio *uio;
  260         int ioflag;
  261 {
  262 
  263         printf("nxwrite(0x%x) called\n", dev);
  264         return (ENXIO);
  265 }
  266 
  267 int
  268 nxioctl(dev, cmd, data, flags, p)
  269         dev_t dev;
  270         int cmd;
  271         caddr_t data;
  272         int flags;
  273         struct proc *p;
  274 {
  275 
  276         printf("nxioctl(0x%x) called\n", dev);
  277         return (ENXIO);
  278 }
  279 
  280 int
  281 nxselect(dev, rw, p)
  282         dev_t dev;
  283         int rw;
  284         struct proc *p;
  285 {
  286 
  287         printf("nxselect(0x%x) called\n", dev);
  288 
  289         /* XXX is this distinguished from 1 for data available? */
  290         return (ENXIO);
  291 }
  292 
  293 int
  294 nxdump(dev)
  295         dev_t dev;
  296 {
  297 
  298         printf("nxdump(0x%x) called\n", dev);
  299         return (ENXIO);
  300 }

Cache object: e1178b98efb0bb7ea6e97bcb70472385


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.