X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d7e50217d7adf6e52786a38bcaa4cd698cb9a79e..c18c124eaa464aaaa5549e99e5a70fc9cbb50944:/bsd/kern/tty_subr.c?ds=sidebyside diff --git a/bsd/kern/tty_subr.c b/bsd/kern/tty_subr.c index 8e2bf4d9f..89bc09fe0 100644 --- a/bsd/kern/tty_subr.c +++ b/bsd/kern/tty_subr.c @@ -1,16 +1,19 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-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 @@ -20,7 +23,7 @@ * 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 */ /* @@ -51,7 +54,6 @@ * */ -#ifdef NeXT /* * We use the NetBSD based clist system, it is much more efficient than the * old style clist stuff used by free bsd. @@ -59,12 +61,10 @@ #include #include -#include #include #include #include -#include /* * At compile time, choose: @@ -92,7 +92,7 @@ * Initialize clists. */ void -cinit() +cinit(void) { } @@ -101,12 +101,8 @@ cinit() * of the specified length, with/without quoting support. */ int -clalloc(clp, size, quot) - struct clist *clp; - int size; - int quot; +clalloc(struct clist *clp, int size, int quot) { - MALLOC_ZONE(clp->c_cs, u_char *, size, M_TTYS, M_WAITOK); if (!clp->c_cs) return (-1); @@ -130,8 +126,7 @@ clalloc(clp, size, quot) } void -clfree(clp) - struct clist *clp; +clfree(struct clist *clp) { if(clp->c_cs) FREE_ZONE(clp->c_cs, clp->c_cn, M_TTYS); @@ -145,13 +140,10 @@ clfree(clp) * Get a character from a clist. */ int -getc(clp) - struct clist *clp; +getc(struct clist *clp) { - register int c = -1; - int s; + int c = -1; - s = spltty(); if (clp->c_cc == 0) goto out; @@ -170,7 +162,6 @@ getc(clp) if (--clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; out: - splx(s); return c; } @@ -179,16 +170,11 @@ out: * Return number of bytes moved. */ int -q_to_b(clp, cp, count) - struct clist *clp; - u_char *cp; - int count; +q_to_b(struct clist *clp, u_char *cp, int count) { - register int cc; + int cc; u_char *p = cp; - int s; - s = spltty(); /* optimize this while loop */ while (count > 0 && clp->c_cc > 0) { cc = clp->c_cl - clp->c_cf; @@ -206,7 +192,6 @@ q_to_b(clp, cp, count) } if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; - splx(s); return p - cp; } @@ -215,16 +200,12 @@ q_to_b(clp, cp, count) * Stop counting if flag&character is non-null. */ int -ndqb(clp, flag) - struct clist *clp; - int flag; +ndqb(struct clist *clp, int flag) { int count = 0; register int i; register int cc; - int s; - s = spltty(); if ((cc = clp->c_cc) == 0) goto out; @@ -251,7 +232,6 @@ ndqb(clp, flag) } } out: - splx(s); return count; } @@ -259,18 +239,14 @@ out: * Flush count bytes from clist. */ void -ndflush(clp, count) - struct clist *clp; - int count; +ndflush(struct clist *clp, int count) { - register int cc; - int s; + int cc; - s = spltty(); if (count == clp->c_cc) { clp->c_cc = 0; clp->c_cf = clp->c_cl = (u_char *)0; - goto out; + return; } /* optimize this while loop */ while (count > 0 && clp->c_cc > 0) { @@ -287,22 +263,16 @@ ndflush(clp, count) } if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; -out: - splx(s); } /* * Put a character into the output queue. */ int -putc(c, clp) - int c; - struct clist *clp; +putc(int c, struct clist *clp) { register int i; - int s; - s = spltty(); if (clp->c_cc == 0) { if (!clp->c_cs) { #if DIAGNOSTIC @@ -310,7 +280,6 @@ putc(c, clp) #endif if(clalloc(clp, 1024, 1)) { out: - splx(s); return -1; } } @@ -337,7 +306,6 @@ out: clp->c_cl++; if (clp->c_cl == clp->c_ce) clp->c_cl = clp->c_cs; - splx(s); return 0; } @@ -349,10 +317,7 @@ out: * clrbit(cp, off + len); */ void -clrbits(cp, off, len) - u_char *cp; - int off; - int len; +clrbits(u_char *cp, int off, int len) { int sby, sbi, eby, ebi; register int i; @@ -375,7 +340,9 @@ clrbits(cp, off, len) cp[sby++] &= mask; mask = (1<c_cc == 0) { if (!clp->c_cs) { @@ -439,7 +401,6 @@ b_to_q(cp, count, clp) clp->c_cl = clp->c_cs; } out: - splx(s); return count; } @@ -454,12 +415,8 @@ static int cc; * masked. */ u_char * -nextc(clp, cp, c) - struct clist *clp; - register u_char *cp; - int *c; +nextc(struct clist *clp, u_char *cp, int *c) { - if (clp->c_cf == cp) { /* * First time initialization. @@ -496,11 +453,9 @@ nextc(clp, cp, c) * *c is set to the NEXT character */ u_char * -firstc(clp, c) - struct clist *clp; - int *c; +firstc(struct clist *clp, int *c) { - register u_char *cp; + u_char *cp; cc = clp->c_cc; if (cc == 0) @@ -523,13 +478,10 @@ firstc(clp, c) * Remove the last character in the clist and return it. */ int -unputc(clp) - struct clist *clp; +unputc(struct clist *clp) { unsigned int c = -1; - int s; - s = spltty(); if (clp->c_cc == 0) goto out; @@ -552,7 +504,6 @@ unputc(clp) if (clp->c_cc == 0) clp->c_cf = clp->c_cl = (u_char *)0; out: - splx(s); return c; } @@ -560,13 +511,10 @@ out: * Put the chars in the from queue on the end of the to queue. */ void -catq(from, to) - struct clist *from, *to; +catq(struct clist *from, struct clist *to) { int c; while ((c = getc(from)) != -1) putc(c, to); } - -#endif /* NeXT */