2 * Copyright (c) 1999-2000 Damien Miller. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 #define get_progname bsd_get_progname
33 char *get_progname(char *argv0);
36 #define setsid() setpgrp(0, getpid())
37 #endif /* !HAVE_SETSID */
40 int setenv(const char *name, const char *value, int overwrite);
41 #endif /* !HAVE_SETENV */
44 int setlogin(const char *name);
45 #endif /* !HAVE_SETLOGIN */
48 int innetgr(const char *netgroup, const char *host,
49 const char *user, const char *domain);
50 #endif /* HAVE_INNETGR */
52 #if !defined(HAVE_SETEUID) && defined(HAVE_SETREUID)
53 int seteuid(uid_t euid);
54 #endif /* !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) */
56 #if !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID)
57 int setegid(uid_t egid);
58 #endif /* !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID) */
60 #if !defined(HAVE_STRERROR) && defined(HAVE_SYS_ERRLIST) && defined(HAVE_SYS_NERR)
61 const char *strerror(int e);
66 #ifndef HAVE_STRUCT_TIMEVAL
71 #endif /* HAVE_STRUCT_TIMEVAL */
73 int utimes(char *filename, struct timeval *tvp);
74 #endif /* HAVE_UTIMES */
77 int truncate (const char *path, off_t length);
78 #endif /* HAVE_TRUNCATE */
80 #if !defined(HAVE_SETGROUPS) && defined(SETGROUPS_NOOP)
81 int setgroups(size_t size, const gid_t *list);
84 #if !defined(HAVE_NANOSLEEP) && !defined(HAVE_NSLEEP)
85 #ifndef HAVE_STRUCT_TIMESPEC
91 int nanosleep(const struct timespec *req, struct timespec *rem);
94 #endif /* _BSD_MISC_H */