2 * Redistribution and use in source and binary forms, with or without
3 * modification, are permitted provided that the following conditions
5 * 1. Redistributions of source code must retain the above copyright
6 * notice, this list of conditions and the following disclaimer.
7 * 2. Redistributions in binary form must reproduce the above copyright
8 * notice, this list of conditions and the following disclaimer in the
9 * documentation and/or other materials provided with the distribution.
11 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
12 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
13 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
14 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
15 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
17 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
18 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
19 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
20 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 #include "next-posix.h"
31 posix_wait(int *status)
36 #undef wait /* Use NeXT's wait() function */
37 wait_pid = wait(&statusp);
38 status = (int *) statusp.w_status;
44 waitpid(int pid, int *stat_loc, int options)
54 pid = 0; /* wait4() wants pid=0 for indiscriminate wait. */
56 wait_pid = wait4(pid, &statusp, options, NULL);
57 stat_loc = (int *)statusp.w_status;
62 tcgetattr(int fd, struct termios *t)
64 return (ioctl(fd, TIOCGETA, t));
68 tcsetattr(int fd, int opt, const struct termios *t)
70 struct termios localterm;
74 localterm.c_cflag |= CIGNORE;
77 switch (opt & ~TCSASOFT) {
79 return (ioctl(fd, TIOCSETA, t));
81 return (ioctl(fd, TIOCSETAW, t));
83 return (ioctl(fd, TIOCSETAF, t));
90 int tcsetpgrp(int fd, pid_t pgrp)
92 return (ioctl(fd, TIOCSPGRP, &pgrp));
95 speed_t cfgetospeed(const struct termios *t)
100 speed_t cfgetispeed(const struct termios *t)
102 return (t->c_ispeed);
106 cfsetospeed(struct termios *t,int speed)
113 cfsetispeed(struct termios *t, int speed)
118 #endif /* HAVE_NEXT */