bsd-misc.h revision 128456
1170754Sdelphij/* $Id: bsd-misc.h,v 1.15 2004/03/08 11:59:03 dtucker Exp $ */ 2170754Sdelphij 3170754Sdelphij/* 4170754Sdelphij * Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org> 5170754Sdelphij * 6170754Sdelphij * Permission to use, copy, modify, and distribute this software for any 7170754Sdelphij * purpose with or without fee is hereby granted, provided that the above 8170754Sdelphij * copyright notice and this permission notice appear in all copies. 9170754Sdelphij * 10170754Sdelphij * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11170754Sdelphij * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12170754Sdelphij * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13170754Sdelphij * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14170754Sdelphij * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15170754Sdelphij * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16170754Sdelphij * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17170754Sdelphij */ 18170754Sdelphij 19170754Sdelphij#ifndef _BSD_MISC_H 20170754Sdelphij#define _BSD_MISC_H 21170754Sdelphij 22170754Sdelphij#include "includes.h" 23170754Sdelphij 24170754Sdelphijchar *ssh_get_progname(char *); 25170754Sdelphij 26170754Sdelphij#ifndef HAVE_SETSID 27170754Sdelphij#define setsid() setpgrp(0, getpid()) 28170754Sdelphij#endif /* !HAVE_SETSID */ 29170754Sdelphij 30170754Sdelphij#ifndef HAVE_SETENV 31170754Sdelphijint setenv(const char *, const char *, int); 32170754Sdelphij#endif /* !HAVE_SETENV */ 33170754Sdelphij 34170754Sdelphij#ifndef HAVE_SETLOGIN 35170754Sdelphijint setlogin(const char *); 36170754Sdelphij#endif /* !HAVE_SETLOGIN */ 37170754Sdelphij 38170754Sdelphij#ifndef HAVE_INNETGR 39170754Sdelphijint innetgr(const char *, const char *, const char *, const char *); 40170754Sdelphij#endif /* HAVE_INNETGR */ 41170754Sdelphij 42170754Sdelphij#if !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) 43170754Sdelphijint seteuid(uid_t); 44170754Sdelphij#endif /* !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) */ 45170754Sdelphij 46170754Sdelphij#if !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID) 47170754Sdelphijint setegid(uid_t); 48170754Sdelphij#endif /* !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID) */ 49170754Sdelphij 50170754Sdelphij#if !defined(HAVE_STRERROR) && defined(HAVE_SYS_ERRLIST) && defined(HAVE_SYS_NERR) 51170754Sdelphijconst char *strerror(int); 52170754Sdelphij#endif 53170754Sdelphij 54170754Sdelphij 55170754Sdelphij#ifndef HAVE_UTIMES 56170754Sdelphij#ifndef HAVE_STRUCT_TIMEVAL 57170754Sdelphijstruct timeval { 58170754Sdelphij long tv_sec; 59170754Sdelphij long tv_usec; 60170754Sdelphij} 61170754Sdelphij#endif /* HAVE_STRUCT_TIMEVAL */ 62170754Sdelphij 63170754Sdelphijint utimes(char *, struct timeval *); 64170754Sdelphij#endif /* HAVE_UTIMES */ 65170754Sdelphij 66170754Sdelphij#ifndef HAVE_TRUNCATE 67170754Sdelphijint truncate (const char *, off_t); 68170754Sdelphij#endif /* HAVE_TRUNCATE */ 69170754Sdelphij 70170754Sdelphij#if !defined(HAVE_SETGROUPS) && defined(SETGROUPS_NOOP) 71170754Sdelphijint setgroups(size_t, const gid_t *); 72170754Sdelphij#endif 73170754Sdelphij 74170754Sdelphij#if !defined(HAVE_NANOSLEEP) && !defined(HAVE_NSLEEP) 75170754Sdelphij#ifndef HAVE_STRUCT_TIMESPEC 76170754Sdelphijstruct timespec { 77170754Sdelphij time_t tv_sec; 78170754Sdelphij long tv_nsec; 79170754Sdelphij}; 80170754Sdelphij#endif 81170754Sdelphijint nanosleep(const struct timespec *, struct timespec *); 82170754Sdelphij#endif 83170754Sdelphij 84170754Sdelphij#ifndef HAVE_TCGETPGRP 85170754Sdelphijpid_t tcgetpgrp(int); 86170754Sdelphij#endif 87170754Sdelphij 88170754Sdelphij#ifndef HAVE_TCSENDBREAK 89170754Sdelphijint tcsendbreak(int, int); 90170754Sdelphij#endif 91170754Sdelphij 92170754Sdelphij#ifndef HAVE_UNSETENV 93170754Sdelphijvoid unsetenv(const char *); 94170754Sdelphij#endif 95170754Sdelphij 96170754Sdelphij/* wrapper for signal interface */ 97170754Sdelphijtypedef void (*mysig_t)(int); 98170754Sdelphijmysig_t mysignal(int sig, mysig_t act); 99170754Sdelphij 100170754Sdelphij#define signal(a,b) mysignal(a,b) 101170754Sdelphij 102170754Sdelphij#endif /* _BSD_MISC_H */ 103170754Sdelphij