1#!/bin/sh - 2# $NetBSD: MAKEDEV.local,v 1.14 2008/04/30 13:10:49 martin Exp $ 3# 4# Copyright (c) 2007 The NetBSD Foundation, Inc. 5# All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 1. Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26# POSSIBILITY OF SUCH DAMAGE. 27# 28########################################################################### 29# 30# MAKEDEV.local can be customised to create site-specific device nodes. 31# By default it does nothing, except parse and accept the same command 32# line options as MAKEDEV. 33# 34# "MAKEDEV all" or "MAKEDEV local" will invoke "MAKEDEV.local all"; 35# MAKEDEV.local may also be invoked directly with other args. 36 37PATH=/sbin:/usr/sbin:/bin:/usr/bin:/rescue 38 39# makedev_local special [...] 40# the main loop 41# 42makedev_local() 43{ 44 45for i 46do 47 48case $i in 49 50all) 51 # Customise this. For example: 52 #makedev_local foo 53 ;; 54 55# Add more cases here. You can call functions defined in MAKEDEV. 56# For example: 57#foo) 58# mkdev foo c 0 0 600 59# mkdev foo1 c 0 1 600 60# ;; 61 62*) 63 warn "$i: unknown device" 64 ;; 65 66esac 67done 68 69} 70 71# 72# MAIN: Figure out where MAKEDEV is; load MAKEDEV as a function library; 73# then call makedev_main to do all the real work. 74# 75case "$0" in 76*/*) MAKEDEV="${0%/*}/MAKEDEV" ;; 77*) MAKEDEV="./MAKEDEV" ;; 78esac 79[ -f "${MAKEDEV}" ] || MAKEDEV="/dev/MAKEDEV" 80 81MAKEDEV_AS_LIBRARY=1 . "${MAKEDEV}" || exit 1 82 83makedev_main makedev_local ${1+"$@"} 84