ec_rxstart doesn't eists
[unix-history] / usr / src / sys / kern / subr_xxx.c
index afadb73..940ca27 100644 (file)
-/*     subr_xxx.c      6.4     84/08/22        */
-
-#include "../machine/pte.h"
-
-#include "../h/param.h"
-#include "../h/systm.h"
-#include "../h/conf.h"
-#include "../h/inode.h"
-#include "../h/dir.h"
-#include "../h/user.h"
-#include "../h/buf.h"
-#include "../h/proc.h"
-#include "../h/fs.h"
-#include "../h/vm.h"
-#include "../h/cmap.h"
-#include "../h/uio.h"
+/*
+ * Copyright (c) 1982, 1986, 1991 Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ *
+ *     @(#)subr_xxx.c  7.10 (Berkeley) %G%
+ */
 
 /*
 
 /*
- * Routine placed in illegal entries in the bdevsw and cdevsw tables.
+ * Miscellaneous trivial functions, including many
+ * that are often inline-expanded or done in assembler.
  */
  */
-nodev()
+#include "param.h"
+#include "systm.h"
+#include "machine/cpu.h"
+
+/*
+ * Unsupported device function (e.g. writing to read-only device).
+ */
+enodev()
 {
 
        return (ENODEV);
 }
 
 /*
 {
 
        return (ENODEV);
 }
 
 /*
- * Null routine; placed in insignificant entries
- * in the bdevsw and cdevsw tables.
+ * Unconfigured device function; driver not configured.
+ */
+enxio()
+{
+
+       return (ENXIO);
+}
+
+/*
+ * Unsupported ioctl function.
+ */
+enoioctl()
+{
+
+       return (ENOTTY);
+}
+
+/*
+ * Unsupported system function.
+ * This is used for an otherwise-reasonable operation
+ * that is not supported by the current system binary.
+ */
+enosys()
+{
+
+       return (ENOSYS);
+}
+
+/*
+ * Return error for operation not supported
+ * on a specific object or file type.
+ */
+eopnotsupp()
+{
+
+       return (EOPNOTSUPP);
+}
+
+/*
+ * Generic null operation, always returns success.
  */
  */
-nulldev()
+nullop()
 {
 
        return (0);
 }
 
 {
 
        return (0);
 }
 
-#ifndef vax
+/*
+ * Definitions of various trivial functions;
+ * usually expanded inline rather than being defined here.
+ */
+#ifdef NEED_MINMAX
 imin(a, b)
 imin(a, b)
+       int a, b;
 {
 
        return (a < b ? a : b);
 }
 
 imax(a, b)
 {
 
        return (a < b ? a : b);
 }
 
 imax(a, b)
+       int a, b;
 {
 
        return (a > b ? a : b);
 }
 
 {
 
        return (a > b ? a : b);
 }
 
-unsigned
+unsigned int
 min(a, b)
 min(a, b)
-       u_int a, b;
+       unsigned int a, b;
 {
 
        return (a < b ? a : b);
 }
 
 {
 
        return (a < b ? a : b);
 }
 
-unsigned
+unsigned int
 max(a, b)
 max(a, b)
-       u_int a, b;
+       unsigned int a, b;
 {
 
        return (a > b ? a : b);
 }
 {
 
        return (a > b ? a : b);
 }
-#endif not vax
 
 
-extern cabase, calimit;
-extern struct pte camap[];
+long
+lmin(a, b)
+       long a, b;
+{
 
 
-caddr_t        cacur = (caddr_t)&cabase;
-caddr_t        camax = (caddr_t)&cabase;
-int    cax = 0;
-/*
- * This is a kernel-mode storage allocator.
- * It is very primitive, currently, in that
- * there is no way to give space back.
- * It serves, for the time being, the needs of
- * auto-configuration code and the like which
- * need to allocate some stuff at boot time.
- */
-caddr_t
-calloc(size)
-       int size;
-{
-       register caddr_t res;
-       register int i;
-
-       if (cacur+size >= (caddr_t)&calimit)
-               panic("calloc");
-       while (cacur+size > camax) {
-               (void) vmemall(&camap[cax], CLSIZE, &proc[0], CSYS);
-               vmaccess(&camap[cax], camax, CLSIZE);
-               for (i = 0; i < CLSIZE; i++)
-                       clearseg(camap[cax++].pg_pfnum);
-               camax += NBPG * CLSIZE;
-       }
-       res = cacur;
-       cacur += size;
-       return (res);
+       return (a < b ? a : b);
 }
 
 }
 
-/*
- * Stub routine in case it is ever possible to free space.
- */
-cfreemem(cp, size)
-       caddr_t cp;
-       int size;
+long
+lmax(a, b)
+       long a, b;
+{
+
+       return (a > b ? a : b);
+}
+
+unsigned long
+ulmin(a, b)
+       unsigned long a, b;
 {
 {
-       printf("freeing %x, size %d\n", cp, size);
+
+       return (a < b ? a : b);
 }
 
 }
 
-#ifndef vax
+unsigned long
+ulmax(a, b)
+       unsigned long a, b;
+{
+
+       return (a > b ? a : b);
+}
+#endif /* NEED_MINMAX */
+
+#ifdef NEED_FFS
 ffs(mask)
        register long mask;
 {
 ffs(mask)
        register long mask;
 {
-       register int i;
+       register int bit;
 
 
-       for(i = 1; i < NSIG; i++) {
-               if (mask & 1)
-                       return (i);
+       if (!mask)
+               return(0);
+       for (bit = 1;; ++bit) {
+               if (mask&0x01)
+                       return(bit);
                mask >>= 1;
        }
                mask >>= 1;
        }
-       return (0);
 }
 }
+#endif /* NEED_FFS */
 
 
-bcmp(s1, s2, len)
-       register char *s1, *s2;
-       register int len;
+#ifdef NEED_BCMP
+bcmp(v1, v2, len)
+       void *v1, *v2;
+       register unsigned len;
 {
 {
+       register u_char *s1 = v1, *s2 = v2;
 
        while (len--)
                if (*s1++ != *s2++)
                        return (1);
        return (0);
 }
 
        while (len--)
                if (*s1++ != *s2++)
                        return (1);
        return (0);
 }
+#endif /* NEED_BCMP */
 
 
+#ifdef NEED_STRLEN
 strlen(s1)
        register char *s1;
 {
        register int len;
 
        for (len = 0; *s1++ != '\0'; len++)
 strlen(s1)
        register char *s1;
 {
        register int len;
 
        for (len = 0; *s1++ != '\0'; len++)
-               /* void */;
+               ;
        return (len);
 }
        return (len);
 }
-#endif
+#endif /* NEED_STRLEN */