[BACK]Return to paths.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / include

File: [cvs.NetBSD.org] / src / include / paths.h (download)

Revision 1.40.4.1, Sat Jun 23 22:54:56 2012 UTC (11 years, 9 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.40: +2 -1 lines

Pull up following revision(s) (requested by joerg in ticket #328):
	lib/libc/gen/devname.c: revision 1.22
	distrib/sparc64/instfs/dot.profile: revision 1.7
	distrib/i386/cdroms/install.sh: revision 1.3
	tests/lib/libcurses/director/director.c: revision 1.10
	lib/libc/include/reentrant.h: revision 1.15
	distrib/amd64/cdroms/install.sh: revision 1.3
	tests/include/t_paths.c: revision 1.12
	share/man/man7/hier.7: revision 1.101
	etc/rc.d/sysdb: revision 1.24
	include/stdlib.h: revision 1.99
	tests/lib/libcurses/Makefile: revision 1.3
	distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
	distrib/i386/cdroms/Makefile.cdrom: revision 1.27
	lib/libc/gen/ttyname.c: revision 1.25
	usr.bin/tic/Makefile: revision 1.2
	tools/compat/Makefile: revision 1.57
	lib/libterminfo/compile.c: revision 1.7
	lib/libc/gen/ttyname.c: revision 1.26
	lib/libterminfo/compile.c: revision 1.8
	tools/compat/Makefile: revision 1.59
	tools/compat/cdbw.h: revision 1.1
	distrib/i386/installimage/install.sh: revision 1.2
	lib/libc/include/namespace.h: revision 1.154
	usr.bin/tic/tic.c: revision 1.13
	usr.bin/tic/tic.c: revision 1.14
	usr.bin/tic/tic.c: revision 1.15
	distrib/sets/lists/base/mi: revision 1.996
	usr.bin/tic/tic.c: revision 1.16
	usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
	usr.bin/tic/tic.c: revision 1.17
	usr.bin/tic/tic.c: revision 1.18
	tools/compat/cdbr.h: revision 1.1
	distrib/sparc64/instfs/list: revision 1.25
	usr.bin/tic/tic.c: revision 1.19
	lib/libc/cdb/cdbw.c: revision 1.4
	lib/libc/cdb/cdbw.3: revision 1.4
	lib/libc/cdb/cdbw.3: revision 1.5
	share/terminfo/Makefile: revision 1.3
	usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
	usr.sbin/dev_mkdb/Makefile: revision 1.8
	lib/libc/gen/ttyname.3: revision 1.23
	lib/libc/gen/ttyname.3: revision 1.24
	lib/libc/cdb/cdbr.c: revision 1.3
	include/cdbw.h: revision 1.2
	distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
	lib/libc/gen/devname.3: revision 1.12
	tools/compat/compat_defs.h: revision 1.85
	tools/compat/compat_defs.h: revision 1.86
	lib/libterminfo/term_private.h: revision 1.10
	lib/libterminfo/term.c: revision 1.14
	usr.bin/tic/tic.1: revision 1.10
	lib/libterminfo/term.c: revision 1.15
	lib/libterminfo/Makefile.hash: revision 1.5
	lib/libterminfo/term.c: revision 1.16
	distrib/amd64/installimage/install.sh: revision 1.2
	share/man/man5/rc.conf.5: revision 1.152
	distrib/sets/lists/tests/mi: revision 1.472
	distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
	include/paths.h: revision 1.41
	bin/ps/ps.1: revision 1.101
	lib/libterminfo/terminfo.5.in: revision 1.16
	usr.bin/tic/tic.c: revision 1.20
	lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.

/*	$NetBSD: paths.h,v 1.40.4.1 2012/06/23 22:54:56 riz Exp $	*/

/*
 * Copyright (c) 1989, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)paths.h	8.1 (Berkeley) 6/2/93
 */

#ifndef _PATHS_H_
#define	_PATHS_H_

/*
 * Default user search path.
 * Set by login(1), rshd(8), rexecd(8)
 * Used by execvp(3) absent PATH from the environ(7)
 */
#ifdef RESCUEDIR
#define	_PATH_DEFPATH	RESCUEDIR ":/usr/bin:/bin:/usr/pkg/bin:/usr/local/bin"
#else
#define	_PATH_DEFPATH	"/usr/bin:/bin:/usr/pkg/bin:/usr/local/bin"
#endif

/*
 * All standard utilities path.
 * Set by init(8) for system programs & scripts (e.g. /etc/rc)
 * Used by ttyaction(3), whereis(1)
 */
#define	_PATH_STDPATH \
	"/usr/bin:/bin:/usr/sbin:/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin"

#define	_PATH_AUDIO	"/dev/audio"
#define	_PATH_AUDIO0	"/dev/audio0"
#define	_PATH_AUDIOCTL	"/dev/audioctl"
#define	_PATH_AUDIOCTL0	"/dev/audioctl0"
#define	_PATH_BPF	"/dev/bpf"
#define	_PATH_CLOCKCTL	"/dev/clockctl"
#define	_PATH_CONSOLE	"/dev/console"
#define	_PATH_CONSTTY	"/dev/constty"
#define _PATH_CPUCTL	"/dev/cpuctl"
#define	_PATH_CSMAPPER	"/usr/share/i18n/csmapper"
#define	_PATH_DEFTAPE	"/dev/nrst0"
#define	_PATH_DEVCDB	"/var/run/dev.cdb"
#define	_PATH_DEVDB	"/var/run/dev.db"
#define	_PATH_DEVNULL	"/dev/null"
#define	_PATH_DRUM	"/dev/drum"
#define	_PATH_ESDB	"/usr/share/i18n/esdb"
#define	_PATH_FTPUSERS	"/etc/ftpusers"
#define	_PATH_GETTYTAB	"/etc/gettytab"
#define	_PATH_I18NMODULE "/usr/lib/i18n"
#define	_PATH_ICONV	"/usr/share/i18n/iconv"
#define	_PATH_KMEM	"/dev/kmem"
#define	_PATH_KSYMS	"/dev/ksyms"
#define	_PATH_KVMDB	"/var/db/kvm.db"
#define	_PATH_LOCALE	"/usr/share/locale"
#define	_PATH_MAILDIR	"/var/mail"
#define	_PATH_MAN	"/usr/share/man"
#define	_PATH_MEM	"/dev/mem"
#define	_PATH_MIXER	"/dev/mixer"
#define	_PATH_MIXER0	"/dev/mixer0"
#define	_PATH_NOLOGIN	"/etc/nologin"
#define _PATH_POWER	"/dev/power"
#define	_PATH_PRINTCAP	"/etc/printcap"
#define	_PATH_PUD	"/dev/pud"
#define	_PATH_PUFFS	"/dev/puffs"
#define	_PATH_RANDOM	"/dev/random"
#define	_PATH_SENDMAIL	"/usr/sbin/sendmail"
#define	_PATH_SHELLS	"/etc/shells"
#define	_PATH_SKEYKEYS	"/etc/skeykeys"
#define	_PATH_SOUND	"/dev/sound"
#define	_PATH_SOUND0	"/dev/sound0"
#define	_PATH_SYSMON	"/dev/sysmon"
#define	_PATH_TTY	"/dev/tty"
#define	_PATH_UNIX	"/netbsd"
#define	_PATH_URANDOM	"/dev/urandom"
#define	_PATH_VIDEO	"/dev/video"
#define	_PATH_VIDEO0	"/dev/video0"

/*
 * Provide trailing slash, since mostly used for building pathnames.
 * See the __CONCAT() macro from <sys/cdefs.h> for cpp examples.
 */
#define	_PATH_DEV	"/dev/"
#define	_PATH_DEV_PTS	"/dev/pts/"
#define	_PATH_EMUL_AOUT	"/emul/aout/"
#define	_PATH_TMP	"/tmp/"
#define	_PATH_VARDB	"/var/db/"
#define	_PATH_VARRUN	"/var/run/"
#define	_PATH_VARTMP	"/var/tmp/"

/*
 * Paths that may change if RESCUEDIR is defined.
 * Used by tools in /rescue.
 */
#ifdef RESCUEDIR
#define	_PATH_BSHELL	RESCUEDIR "/sh"
#define	_PATH_CSHELL	RESCUEDIR "/csh"
#define	_PATH_VI	RESCUEDIR "/vi"
#else
#define	_PATH_BSHELL	"/bin/sh"
#define	_PATH_CSHELL	"/bin/csh"
#define	_PATH_VI	"/usr/bin/vi"
#endif

#endif /* !_PATHS_H_ */