1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2007 OpenWrt.org
13 config_get_bool _val
"$section" "$option" '0'
14 [ "$_val" -gt 0 ] && append args
"$3"
22 config_get _val
"$section" "$option"
23 [ -n "$_val" ] && append args
"$3$_val"
28 config_foreach start_p910nd
$CONFIG
33 local section
="$1" runas_root
34 config_get_bool
"enabled" "$section" "enabled" '0'
35 if [ "$enabled" -gt 0 ]; then
37 config_get port
"$section" port
38 append_bool
"$section" bidirectional
"-b"
39 append_string
"$section" device
"-f "
40 append_string
"$section" bind "-i "
41 append_string
"$section" port
""
42 procd_open_instance
$DAEMON_NAME
43 procd_set_param
command /usr
/sbin
/$DAEMON_NAME $args
44 procd_set_param respawn
46 config_get_bool runas_root
"$section" runas_root
0
47 [ "$runas_root" -ne 1 ] && procd_set_param user
$DAEMON_NAME
49 config_get_bool
"mdns" "$section" "mdns" '0'
50 if [ "$mdns" -gt 0 ]; then
51 config_get mdns_note
"$section" mdns_note
52 config_get mdns_ty
"$section" mdns_ty
53 config_get mdns_product
"$section" mdns_product
54 config_get mdns_mfg
"$section" mdns_mfg
55 config_get mdns_mdl
"$section" mdns_mdl
56 config_get mdns_cmd
"$section" mdns_cmd
58 config_get mdns_cid
"$section" mdns_cid
59 config_get mdns_cls
"$section" mdns_cls
60 config_get mdns_cmt
"$section" mdns_cmt
61 config_get mdns_des
"$section" mdns_des
62 config_get mdns_drv
"$section" mdns_drv
63 config_get mdns_sn
"$section" mdns_sn
64 config_get mdns_ver
"$section" mdns_ver
66 # Set initial arguments
67 set -- "pdl-datastream" "tcp" "$((port+9100))"
68 set -- "$@" "txtvers=1"
69 # bonjourprinting-1.2.1.pdf spec mandates (at least) MFG, MDL, CMD for Socket type
70 [ -n "$mdns_note" ] && set -- "$@" "note=$mdns_note"
71 [ -n "$mdns_ty" ] && set -- "$@" "ty=$mdns_ty"
72 [ -n "$mdns_product" ] && set -- "$@" "product=$mdns_product"
73 [ -n "$mdns_mfg" ] && set -- "$@" "usb_MFG=$mdns_mfg"
74 [ -n "$mdns_mdl" ] && set -- "$@" "usb_MDL=$mdns_mdl"
75 [ -n "$mdns_cmd" ] && set -- "$@" "usb_CMD=$mdns_cmd"
77 [ -n "$mdns_cid" ] && set -- "$@" "usb_CID=$mdns_cid"
78 [ -n "$mdns_cls" ] && set -- "$@" "usb_CLS=$mdns_cls"
79 [ -n "$mdns_cmt" ] && set -- "$@" "usb_CMT=$mdns_cmt"
80 [ -n "$mdns_des" ] && set -- "$@" "usb_DES=$mdns_des"
81 [ -n "$mdns_drv" ] && set -- "$@" "usb_DRV=$mdns_drv"
82 [ -n "$mdns_sn" ] && set -- "$@" "usb_SN=$mdns_sn"
83 [ -n "$mdns_ver" ] && set -- "$@" "usb_VER=$mdns_ver"
85 # Call procd_add_mdns with the positional parameters
86 MDNS_INSTANCE_NAME
="$mdns_ty" procd_add_mdns
"$@"
95 procd_add_config_trigger
"config.change" $DAEMON_NAME /etc
/init.d
/$DAEMON_NAME reload