]> git.proxmox.com Git - mirror_iproute2.git/blame - ip/ip_common.h
ip/iptunnel: Extend TOS syntax
[mirror_iproute2.git] / ip / ip_common.h
CommitLineData
4f2fdd44 1extern int get_operstate(const char *name);
ae665a52
SH
2extern int print_linkinfo(const struct sockaddr_nl *who,
3 struct nlmsghdr *n,
6dc9f016
SH
4 void *arg);
5extern int print_addrinfo(const struct sockaddr_nl *who,
ae665a52 6 struct nlmsghdr *n,
6dc9f016 7 void *arg);
5ef82157
SH
8extern int print_addrlabel(const struct sockaddr_nl *who,
9 struct nlmsghdr *n, void *arg);
6dc9f016 10extern int print_neigh(const struct sockaddr_nl *who,
50772dc5 11 struct nlmsghdr *n, void *arg);
09954dc6
SH
12extern int print_ntable(const struct sockaddr_nl *who,
13 struct nlmsghdr *n, void *arg);
aba5acdf
SH
14extern int ipaddr_list(int argc, char **argv);
15extern int ipaddr_list_link(int argc, char **argv);
16extern int iproute_monitor(int argc, char **argv);
17extern void iplink_usage(void) __attribute__((noreturn));
18extern void iproute_reset_filter(void);
e34d3dcc 19extern void ipmroute_reset_filter(void);
aba5acdf
SH
20extern void ipaddr_reset_filter(int);
21extern void ipneigh_reset_filter(void);
09954dc6 22extern void ipntable_reset_filter(void);
ae665a52 23extern int print_route(const struct sockaddr_nl *who,
50772dc5 24 struct nlmsghdr *n, void *arg);
e34d3dcc
ND
25extern int print_mroute(const struct sockaddr_nl *who,
26 struct nlmsghdr *n, void *arg);
1cb54e58 27extern int print_prefix(const struct sockaddr_nl *who,
28 struct nlmsghdr *n, void *arg);
98bde989
TG
29extern int print_rule(const struct sockaddr_nl *who,
30 struct nlmsghdr *n, void *arg);
9d0efc10
ND
31extern int print_netconf(const struct sockaddr_nl *who,
32 struct nlmsghdr *n, void *arg);
aba5acdf 33extern int do_ipaddr(int argc, char **argv);
4759758c 34extern int do_ipaddrlabel(int argc, char **argv);
aba5acdf
SH
35extern int do_iproute(int argc, char **argv);
36extern int do_iprule(int argc, char **argv);
37extern int do_ipneigh(int argc, char **argv);
09954dc6 38extern int do_ipntable(int argc, char **argv);
aba5acdf 39extern int do_iptunnel(int argc, char **argv);
288384f2 40extern int do_ip6tunnel(int argc, char **argv);
580fbd88 41extern int do_iptuntap(int argc, char **argv);
aba5acdf
SH
42extern int do_iplink(int argc, char **argv);
43extern int do_ipmonitor(int argc, char **argv);
44extern int do_multiaddr(int argc, char **argv);
45extern int do_multiroute(int argc, char **argv);
b6c8e808 46extern int do_multirule(int argc, char **argv);
0dc34c77 47extern int do_netns(int argc, char **argv);
c7699875 48extern int do_xfrm(int argc, char **argv);
38cd311a 49extern int do_ipl2tp(int argc, char **argv);
ea63a69b 50extern int do_tcp_metrics(int argc, char **argv);
9d0efc10 51extern int do_ipnetconf(int argc, char **argv);
351efcde 52
34e95647
PM
53static inline int rtm_get_table(struct rtmsg *r, struct rtattr **tb)
54{
55 __u32 table = r->rtm_table;
56 if (tb[RTA_TABLE])
ff24746c 57 table = rta_getattr_u32(tb[RTA_TABLE]);
34e95647
PM
58 return table;
59}
60
351efcde 61extern struct rtnl_handle rth;
141bb606 62
1d934839
PM
63struct link_util
64{
65 struct link_util *next;
66 const char *id;
67 int maxattr;
68 int (*parse_opt)(struct link_util *, int, char **,
69 struct nlmsghdr *);
70 void (*print_opt)(struct link_util *, FILE *,
71 struct rtattr *[]);
72 void (*print_xstats)(struct link_util *, FILE *,
73 struct rtattr *);
74};
75
76struct link_util *get_link_kind(const char *kind);
0dc34c77 77int get_netns_fd(const char *name);
1d934839 78
141bb606
MN
79#ifndef INFINITY_LIFE_TIME
80#define INFINITY_LIFE_TIME 0xFFFFFFFFU
81#endif