source: MondoRescue/branches/3.3/mindi-busybox/networking/libiproute/utils.h@ 3803

Last change on this file since 3803 was 3621, checked in by Bruno Cornec, 10 years ago

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

File size: 2.3 KB
Line 
1/* vi: set sw=4 ts=4: */
2#ifndef UTILS_H
3#define UTILS_H 1
4
5#include "libnetlink.h"
6#include "ll_map.h"
7#include "rtm_map.h"
8
9PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
10
11extern family_t preferred_family;
12extern smallint show_stats; /* UNUSED */
13extern smallint show_details; /* UNUSED */
14extern smallint show_raw; /* UNUSED */
15extern smallint resolve_hosts; /* UNUSED */
16extern smallint oneline;
17extern char _SL_;
18
19#ifndef IPPROTO_ESP
20#define IPPROTO_ESP 50
21#endif
22#ifndef IPPROTO_AH
23#define IPPROTO_AH 51
24#endif
25
26#define SPRINT_BSIZE 64
27#define SPRINT_BUF(x) char x[SPRINT_BSIZE]
28
29extern void incomplete_command(void) NORETURN;
30
31#define NEXT_ARG() do { if (!*++argv) incomplete_command(); } while (0)
32
33typedef struct {
34 uint8_t family;
35 uint8_t bytelen;
36 int16_t bitlen;
37 uint32_t data[4];
38} inet_prefix;
39
40#define PREFIXLEN_SPECIFIED 1
41
42#define DN_MAXADDL 20
43#ifndef AF_DECnet
44#define AF_DECnet 12
45#endif
46
47struct dn_naddr {
48 unsigned short a_len;
49 unsigned char a_addr[DN_MAXADDL];
50};
51
52#define IPX_NODE_LEN 6
53
54struct ipx_addr {
55 uint32_t ipx_net;
56 uint8_t ipx_node[IPX_NODE_LEN];
57};
58
59extern uint32_t get_addr32(char *name);
60extern int get_addr_1(inet_prefix *dst, char *arg, int family);
61/*extern void get_prefix_1(inet_prefix *dst, char *arg, int family);*/
62extern int get_addr(inet_prefix *dst, char *arg, int family);
63extern void get_prefix(inet_prefix *dst, char *arg, int family);
64
65extern unsigned get_unsigned(char *arg, const char *errmsg);
66extern uint32_t get_u32(char *arg, const char *errmsg);
67extern uint16_t get_u16(char *arg, const char *errmsg);
68
69extern const char *rt_addr_n2a(int af, void *addr);
70#ifdef RESOLVE_HOSTNAMES
71extern const char *format_host(int af, int len, void *addr);
72#else
73#define format_host(af, len, addr) \
74 rt_addr_n2a(af, addr)
75#endif
76
77void invarg_1_to_2(const char *, const char *) NORETURN;
78void duparg(const char *, const char *) NORETURN;
79void duparg2(const char *, const char *) NORETURN;
80int inet_addr_match(const inet_prefix *a, const inet_prefix *b, int bits);
81
82const char *dnet_ntop(int af, const void *addr, char *str, size_t len);
83int dnet_pton(int af, const char *src, void *addr);
84
85const char *ipx_ntop(int af, const void *addr, char *str, size_t len);
86int ipx_pton(int af, const char *src, void *addr);
87
88unsigned get_hz(void);
89
90POP_SAVED_FUNCTION_VISIBILITY
91
92#endif
Note: See TracBrowser for help on using the repository browser.