ng_echo.c (67506) | ng_echo.c (69922) |
---|---|
1 2/* 3 * ng_echo.c 4 * 5 * Copyright (c) 1996-1999 Whistle Communications, Inc. 6 * All rights reserved. 7 * 8 * Subject to the following obligations and disclaimer of warranty, use and --- 22 unchanged lines hidden (view full) --- 31 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 35 * OF SUCH DAMAGE. 36 * 37 * Author: Julian Elisher <julian@freebsd.org> 38 * | 1 2/* 3 * ng_echo.c 4 * 5 * Copyright (c) 1996-1999 Whistle Communications, Inc. 6 * All rights reserved. 7 * 8 * Subject to the following obligations and disclaimer of warranty, use and --- 22 unchanged lines hidden (view full) --- 31 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 35 * OF SUCH DAMAGE. 36 * 37 * Author: Julian Elisher <julian@freebsd.org> 38 * |
39 * $FreeBSD: head/sys/netgraph/ng_echo.c 67506 2000-10-24 17:32:45Z julian $ | 39 * $FreeBSD: head/sys/netgraph/ng_echo.c 69922 2000-12-12 18:52:14Z julian $ |
40 * $Whistle: ng_echo.c,v 1.13 1999/11/01 09:24:51 julian Exp $ 41 */ 42 43/* 44 * Netgraph "echo" node 45 * 46 * This node simply bounces data and messages back to whence they came. 47 */ --- 18 unchanged lines hidden (view full) --- 66 NULL, 67 NULL, 68 nge_rcvmsg, 69 NULL, 70 NULL, 71 NULL, 72 NULL, 73 nge_rcvdata, | 40 * $Whistle: ng_echo.c,v 1.13 1999/11/01 09:24:51 julian Exp $ 41 */ 42 43/* 44 * Netgraph "echo" node 45 * 46 * This node simply bounces data and messages back to whence they came. 47 */ --- 18 unchanged lines hidden (view full) --- 66 NULL, 67 NULL, 68 nge_rcvmsg, 69 NULL, 70 NULL, 71 NULL, 72 NULL, 73 nge_rcvdata, |
74 nge_rcvdata, | |
75 nge_disconnect, 76 NULL 77}; 78NETGRAPH_INIT(echo, &typestruct); 79 80/* 81 * Receive control message. We just bounce it back as a reply. 82 */ --- 10 unchanged lines hidden (view full) --- 93 return (0); 94} 95 96/* 97 * Receive data 98 */ 99static int 100nge_rcvdata(hook_p hook, struct mbuf *m, meta_p meta, | 74 nge_disconnect, 75 NULL 76}; 77NETGRAPH_INIT(echo, &typestruct); 78 79/* 80 * Receive control message. We just bounce it back as a reply. 81 */ --- 10 unchanged lines hidden (view full) --- 92 return (0); 93} 94 95/* 96 * Receive data 97 */ 98static int 99nge_rcvdata(hook_p hook, struct mbuf *m, meta_p meta, |
101 struct mbuf **ret_m, meta_p *ret_meta) | 100 struct mbuf **ret_m, meta_p *ret_meta, struct ng_mesg **resp) |
102{ 103 int error = 0; 104 105 NG_SEND_DATA(error, hook, m, meta); 106 return (error); 107} 108 109/* 110 * Removal of the last link destroys the nodeo 111 */ 112static int 113nge_disconnect(hook_p hook) 114{ 115 if (hook->node->numhooks == 0) 116 ng_rmnode(hook->node); 117 return (0); 118} 119 | 101{ 102 int error = 0; 103 104 NG_SEND_DATA(error, hook, m, meta); 105 return (error); 106} 107 108/* 109 * Removal of the last link destroys the nodeo 110 */ 111static int 112nge_disconnect(hook_p hook) 113{ 114 if (hook->node->numhooks == 0) 115 ng_rmnode(hook->node); 116 return (0); 117} 118 |