11305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* $Id: bsd-nextstep.h,v 1.9 2003/08/29 16:59:52 mouring Exp $ */
21305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
31305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/*
41305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * Copyright (c) 2000,2001 Ben Lindstrom.  All rights reserved.
51305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *
61305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * Redistribution and use in source and binary forms, with or without
71305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * modification, are permitted provided that the following conditions
81305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * are met:
91305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * 1. Redistributions of source code must retain the above copyright
101305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *    notice, this list of conditions and the following disclaimer.
111305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * 2. Redistributions in binary form must reproduce the above copyright
121305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *    notice, this list of conditions and the following disclaimer in the
131305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *    documentation and/or other materials provided with the distribution.
141305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *
151305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
161305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
171305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
181305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
191305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
201305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
211305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
221305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
231305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
241305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
251305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood *
261305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood */
271305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
281305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#ifndef _NEXT_POSIX_H
291305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#define _NEXT_POSIX_H
301305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
311305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#ifdef HAVE_NEXT
321305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#include <sys/dir.h>
331305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
341305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* NGROUPS_MAX is behind -lposix.  Use the BSD version which is NGROUPS */
351305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#undef NGROUPS_MAX
361305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#define NGROUPS_MAX NGROUPS
371305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
381305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* NeXT's readdir() is BSD (struct direct) not POSIX (struct dirent) */
391305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#define dirent direct
401305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
411305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* Swap out NeXT's BSD wait() for a more POSIX complient one */
421305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodpid_t posix_wait(int *);
431305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#define wait(a) posix_wait(a)
441305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
451305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* #ifdef wrapped functions that need defining for clean compiling */
461305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodpid_t getppid(void);
471305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodvoid vhangup(void);
481305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint innetgr(const char *, const char *, const char *, const char *);
491305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood
501305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood/* TERMCAP */
511305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint tcgetattr(int, struct termios *);
521305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint tcsetattr(int, int, const struct termios *);
531305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint tcsetpgrp(int, pid_t);
541305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodspeed_t cfgetospeed(const struct termios *);
551305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodspeed_t cfgetispeed(const struct termios *);
561305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint cfsetospeed(struct termios *, int);
571305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodint cfsetispeed(struct termios *, int);
581305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#endif /* HAVE_NEXT */
591305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#endif /* _NEXT_POSIX_H */
60