1bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* $Id: bsd-nextstep.h,v 1.9 2003/08/29 16:59:52 mouring Exp $ */ 2bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 3bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* 4bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * Copyright (c) 2000,2001 Ben Lindstrom. All rights reserved. 5bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 6bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * Redistribution and use in source and binary forms, with or without 7bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * modification, are permitted provided that the following conditions 8bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * are met: 9bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 1. Redistributions of source code must retain the above copyright 10bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * notice, this list of conditions and the following disclaimer. 11bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 2. Redistributions in binary form must reproduce the above copyright 12bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * notice, this list of conditions and the following disclaimer in the 13bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * documentation and/or other materials provided with the distribution. 14bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 15bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 26bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman */ 27bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 28bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#ifndef _NEXT_POSIX_H 29bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define _NEXT_POSIX_H 30bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 31bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#ifdef HAVE_NEXT 32bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#include <sys/dir.h> 33bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 34bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* NGROUPS_MAX is behind -lposix. Use the BSD version which is NGROUPS */ 35bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#undef NGROUPS_MAX 36bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define NGROUPS_MAX NGROUPS 37bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 38bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* NeXT's readdir() is BSD (struct direct) not POSIX (struct dirent) */ 39bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define dirent direct 40bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 41bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* Swap out NeXT's BSD wait() for a more POSIX complient one */ 42bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanpid_t posix_wait(int *); 43bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define wait(a) posix_wait(a) 44bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 45bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* #ifdef wrapped functions that need defining for clean compiling */ 46bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanpid_t getppid(void); 47bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanvoid vhangup(void); 48bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint innetgr(const char *, const char *, const char *, const char *); 49bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman 50bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* TERMCAP */ 51bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint tcgetattr(int, struct termios *); 52bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint tcsetattr(int, int, const struct termios *); 53bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint tcsetpgrp(int, pid_t); 54bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanspeed_t cfgetospeed(const struct termios *); 55bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanspeed_t cfgetispeed(const struct termios *); 56bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint cfsetospeed(struct termios *, int); 57bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint cfsetispeed(struct termios *, int); 58bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#endif /* HAVE_NEXT */ 59bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#endif /* _NEXT_POSIX_H */ 60