/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1997-2006 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
- *
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* Please see the License for the specific language governing rights and
* limitations under the License.
*
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
-/* Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved */
/*-
* Copyright (c) 1982, 1986, 1991, 1993
* The Regents of the University of California. All rights reserved.
#define MAXLDISC 8
#endif
-#ifndef NeXT
-static l_open_t l_noopen;
-static l_close_t l_noclose;
-static l_ioctl_t l_nullioctl;
-static l_rint_t l_norint;
+#define l_noopen ((l_open_t *) &enodev)
+#define l_noclose ((l_close_t *) &enodev)
+#define l_noread ((l_read_t *) &enodev)
+#define l_nowrite ((l_write_t *) &enodev)
+#define l_norint ((l_rint_t *) &enodev)
+
+static l_ioctl_t l_noioctl;
static l_start_t l_nostart;
-#else /* NeXT */
-#define l_noopen ((int (*) __P((dev_t, struct tty *)))enodev)
-#define l_noclose ((int (*) __P((struct tty *, int flags)))enodev)
-#define l_noread ((int (*) __P((struct tty *, struct uio *, int)))enodev)
-#define l_nowrite l_noread
-#define l_norint ((int (*) __P((int c, struct tty *)))enodev)
-#define l_nostart ((int (*) __P((struct tty *)))enodev)
-static int
-l_nullioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct proc *p);
-#endif /* !NeXT */
/*
* XXX it probably doesn't matter what the entries other than the l_open
- * entry are here. The l_nullioctl and ttymodem entries still look fishy.
+ * entry are here. The l_noioctl and ttymodem entries still look fishy.
* Reconsider the removal of nullmodem anyway. It was too much like
* ttymodem, but a completely null version might be useful.
*/
#define NODISC(n) \
{ l_noopen, l_noclose, l_noread, l_nowrite, \
- l_nullioctl, l_norint, l_nostart, ttymodem }
+ l_noioctl, l_norint, l_nostart, ttymodem }
struct linesw linesw[MAXLDISC] =
{
/* 0- termios */
{ ttyopen, ttylclose, ttread, ttwrite,
- l_nullioctl, ttyinput, ttstart, ttymodem },
+ l_noioctl, ttyinput, ttwwakeup, ttymodem },
NODISC(1), /* 1- defunct */
/* 2- NTTYDISC */
-#ifdef COMPAT_43
{ ttyopen, ttylclose, ttread, ttwrite,
- l_nullioctl, ttyinput, ttstart, ttymodem },
-#else
- NODISC(2),
-#endif
+ l_noioctl, ttyinput, ttwwakeup, ttymodem },
NODISC(3), /* TABLDISC */
NODISC(4), /* SLIPDISC */
NODISC(5), /* PPPDISC */
NODISC(7), /* loadable */
};
-int nlinesw = sizeof (linesw) / sizeof (linesw[0]);
+const int nlinesw = sizeof (linesw) / sizeof (linesw[0]);
static struct linesw nodisc = NODISC(0);
* Returns: Index used or -1 on failure.
*/
int
-ldisc_register(discipline, linesw_p)
- int discipline;
- struct linesw *linesw_p;
+ldisc_register(int discipline, struct linesw *linesw_p)
{
int slot = -1;
* discipline: Index for discipline to unload.
*/
void
-ldisc_deregister(discipline)
- int discipline;
+ldisc_deregister(int discipline)
{
if (discipline >= LOADABLE_LDISC && discipline < MAXLDISC) {
linesw[discipline] = nodisc;
}
}
-#ifndef NeXT
-static int
-l_noopen(dev, tp)
- dev_t dev;
- struct tty *tp;
-{
-
- return (ENODEV);
-}
-
-static int
-l_noclose(tp, flag)
- struct tty *tp;
- int flag;
-{
-
- return (ENODEV);
-}
-
-int
-l_noread(tp, uio, flag)
- struct tty *tp;
- struct uio *uio;
- int flag;
-{
-
- return (ENODEV);
-}
-
-int
-l_nowrite(tp, uio, flag)
- struct tty *tp;
- struct uio *uio;
- int flag;
-{
-
- return (ENODEV);
-}
-
-static int
-l_norint(c, tp)
- int c;
- struct tty *tp;
-{
-
- return (ENODEV);
-}
-
-static int
-l_nostart(tp)
- struct tty *tp;
-{
-
- return (ENODEV);
-}
-#endif /* !NeXT */
-
/*
* Do nothing specific version of line
* discipline specific ioctl command.
*/
static int
-l_nullioctl(tp, cmd, data, flags, p)
- struct tty *tp;
- u_long cmd;
- caddr_t data;
- int flags;
- struct proc *p;
+l_noioctl(__unused struct tty *tp, __unused u_long cmd, __unused caddr_t data,
+ __unused int flags, __unused struct proc *p)
{
+ return ENOTTY;
+}
- return (-1);
+static void
+l_nostart(__unused struct tty *tp)
+{
}