1.\" Copyright (c) 1996-1999 Whistle Communications, Inc. 2.\" All rights reserved. 3.\" 4.\" Subject to the following obligations and disclaimer of warranty, use and 5.\" redistribution of this software, in source or object code forms, with or 6.\" without modifications are expressly permitted by Whistle Communications; 7.\" provided, however, that: 8.\" 1. Any and all reproductions of the source or object code must include the 9.\" copyright notice above and the following disclaimer of warranties; and 10.\" 2. No rights are granted, in any manner or form, to use Whistle 11.\" Communications, Inc. trademarks, including the mark "WHISTLE 12.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as 13.\" such appears in the above copyright notice or in the software. 14.\" 15.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND 16.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO 17.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, 18.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF 19.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. 20.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY 21.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS 22.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE. 23.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES 24.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING 25.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 26.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR 27.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30.\" THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 31.\" OF SUCH DAMAGE. 32.\" 33.\" $FreeBSD$ 34.\" $Whistle: nghook.8,v 1.4 1999/01/20 03:19:45 archie Exp $ 35.\" 36.Dd October 24, 2003 37.Dt NGHOOK 8 38.Os 39.Sh NAME 40.Nm nghook 41.Nd connect to a 42.Xr netgraph 4 43node 44.Sh SYNOPSIS 45.Nm 46.Op Fl adlnSs 47.Op Fl m Ar msg 48.Ar path 49.Op Ar hookname 50.Nm 51.Fl e 52.Op Fl n 53.Op Fl m Ar msg 54.Ar path 55.Ar hookname 56.Ar program 57.Op Ar args ... 58.Sh DESCRIPTION 59The 60.Nm 61utility creates a 62.Xr ng_socket 4 63socket type node and connects it to hook 64.Ar hookname 65of the node found at 66.Ar path . 67If 68.Ar hookname 69is omitted, 70.Dq Li debug 71is assumed. 72.Pp 73If the 74.Fl e 75option is given, the third argument is interpreted as the path to a program, 76and this program is executed with the remaining arguments as its arguments. 77Before executing, the program Netgraph messages (specified by the 78.Fl m 79option) are sent to the node. 80The program is executed with its standard input (unless closed by 81.Fl n ) 82and output connected to the hook. 83.Pp 84If the 85.Fl e 86option is not given, all data written to standard input is sent 87to the node, and all data received from the node is relayed 88to standard output. 89Messages specified with 90.Fl m 91are sent to the node before the loop is entered. 92The 93.Nm 94utility exits when 95.Dv EOF 96is detected on standard input in this case. 97.Pp 98The options are as follows: 99.Bl -tag -width indent 100.It Fl a 101Output each packet read in human-readable decoded 102.Tn ASCII 103form instead of raw binary. 104.It Fl d 105Increase the debugging verbosity level. 106.It Fl e 107Execute the program specified by the third argument. 108.It Fl l 109Loops all received data back to the hook in addition to writing it 110to standard output. 111.It Fl m Ar msg 112Before executing the program (in 113.Fl e 114mode) send the given ASCII control message to the node. 115This option may be given more than once. 116.It Fl n 117Do not attempt to read any data from standard input. 118The 119.Nm 120utility will continue reading from the node until stopped by a signal. 121.It Fl S 122Use file descriptor 0 for output instead of the default 1. 123.It Fl s 124Use file descriptor 1 for input instead of the default 0. 125.El 126.Sh SEE ALSO 127.Xr netgraph 3 , 128.Xr netgraph 4 , 129.Xr ngctl 8 130.Sh HISTORY 131The 132.Nm netgraph 133system was designed and first implemented at Whistle Communications, Inc.\& 134in a version of 135.Fx 2.2 136customized for the Whistle InterJet. 137.Sh AUTHORS 138.An Archie Cobbs Aq archie@whistle.com 139.Sh BUGS 140Although all input is read in unbuffered mode, 141there is no way to control the packetization of the input. 142.Pp 143If the node sends a response to a message (specified by 144.Fl m ) , 145this response is lost. 146