1 /* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Definitions for the IP router. 7 * 8 * Version: @(#)route.h 1.0.4 05/27/93 9 * 10 * Authors: Ross Biro, <bir7@leland.Stanford.Edu> 11 * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 12 * Fixes: 13 * Alan Cox : Reformatted. Added ip_rt_local() 14 * Alan Cox : Support for TCP parameters. 15 * 16 * This program is free software; you can redistribute it and/or 17 * modify it under the terms of the GNU General Public License 18 * as published by the Free Software Foundation; either version 19 * 2 of the License, or (at your option) any later version. 20 */ 21 #ifndef_ROUTE_H 22 #define_ROUTE_H 23
24
25 #include <linux/route.h>
26
27
28 /* This is an entry in the IP routing table. */ 29 structrtable 30 { 31 structrtable *rt_next;
32 unsignedlongrt_dst;
33 unsignedlongrt_mask;
34 unsignedlongrt_gateway;
35 unsignedshortrt_flags;
36 shortrt_metric;
37 unsignedintrt_refcnt;
38 unsignedlongrt_use;
39 unsignedshortrt_mss;
40 unsignedshortrt_irtt;
41 unsignedlongrt_window;
42 structdevice *rt_dev;
43 };
44
45
46 externvoidip_rt_flush(structdevice *dev);
47 externvoidip_rt_add(shortflags, unsignedlongaddr, unsignedlongmask,
48 unsignedlonggw, structdevice *dev, unsignedshortmss, unsignedlongwindow, unsignedshortirtt, shortmetric);
49 externstructrtable *ip_rt_route(unsignedlongdaddr, structoptions *opt, unsignedlong *src_addr);
50 externstructrtable *ip_rt_local(unsignedlongdaddr, structoptions *opt, unsignedlong *src_addr);
51 externintrt_get_info(char * buffer, char **start, off_toffset, intlength, intdummy);
52 externintip_rt_ioctl(unsignedintcmd, void *arg);
53
54 externunsignedlongrt_stamp;
55
56 #endif/* _ROUTE_H */