/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1997-2006 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License"). You may not use this file except in compliance with the
- * License. Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * 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. 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.
*
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * 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
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * 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
+#if COMPAT_43_TTY
{ ttyopen, ttylclose, ttread, ttwrite,
- l_nullioctl, ttyinput, ttstart, ttymodem },
+ l_noioctl, ttyinput, ttwwakeup, ttymodem },
#else
NODISC(2),
#endif
* 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)
+{
}