Annotation of /trunk/mkinitrd-magellan/busybox/networking/libiproute/utils.h
Parent Directory | Revision Log
Revision 532 -
(hide annotations)
(download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 2475 byte(s)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File MIME type: text/plain
File size: 2475 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | niro | 532 | /* vi: set sw=4 ts=4: */ |
2 | #ifndef __UTILS_H__ | ||
3 | #define __UTILS_H__ 1 | ||
4 | |||
5 | #include "libbb.h" | ||
6 | |||
7 | #include "libnetlink.h" | ||
8 | #include "ll_map.h" | ||
9 | #include "rtm_map.h" | ||
10 | |||
11 | extern int preferred_family; | ||
12 | extern int show_stats; | ||
13 | extern int show_details; | ||
14 | extern int show_raw; | ||
15 | extern int resolve_hosts; | ||
16 | extern int oneline; | ||
17 | extern 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 | |||
29 | extern void incomplete_command(void) ATTRIBUTE_NORETURN; | ||
30 | |||
31 | #define NEXT_ARG() do { argv++; if (--argc <= 0) incomplete_command(); } while (0) | ||
32 | |||
33 | typedef struct | ||
34 | { | ||
35 | uint8_t family; | ||
36 | uint8_t bytelen; | ||
37 | int16_t bitlen; | ||
38 | uint32_t data[4]; | ||
39 | } inet_prefix; | ||
40 | |||
41 | #define DN_MAXADDL 20 | ||
42 | #ifndef AF_DECnet | ||
43 | #define AF_DECnet 12 | ||
44 | #endif | ||
45 | |||
46 | struct dn_naddr | ||
47 | { | ||
48 | unsigned short a_len; | ||
49 | unsigned char a_addr[DN_MAXADDL]; | ||
50 | }; | ||
51 | |||
52 | #define IPX_NODE_LEN 6 | ||
53 | |||
54 | struct ipx_addr { | ||
55 | uint32_t ipx_net; | ||
56 | uint8_t ipx_node[IPX_NODE_LEN]; | ||
57 | }; | ||
58 | |||
59 | extern uint32_t get_addr32(char *name); | ||
60 | extern int get_addr_1(inet_prefix *dst, char *arg, int family); | ||
61 | extern int get_prefix_1(inet_prefix *dst, char *arg, int family); | ||
62 | extern int get_addr(inet_prefix *dst, char *arg, int family); | ||
63 | extern int get_prefix(inet_prefix *dst, char *arg, int family); | ||
64 | |||
65 | extern int get_integer(int *val, char *arg, int base); | ||
66 | extern int get_unsigned(unsigned *val, char *arg, int base); | ||
67 | #define get_byte get_u8 | ||
68 | #define get_ushort get_u16 | ||
69 | #define get_short get_s16 | ||
70 | extern int get_u32(uint32_t *val, char *arg, int base); | ||
71 | extern int get_u16(uint16_t *val, char *arg, int base); | ||
72 | extern int get_s16(int16_t *val, char *arg, int base); | ||
73 | extern int get_u8(uint8_t *val, char *arg, int base); | ||
74 | extern int get_s8(int8_t *val, char *arg, int base); | ||
75 | |||
76 | extern const char *format_host(int af, int len, void *addr, char *buf, int buflen); | ||
77 | extern const char *rt_addr_n2a(int af, int len, void *addr, char *buf, int buflen); | ||
78 | |||
79 | void invarg(const char * const, const char * const) ATTRIBUTE_NORETURN; | ||
80 | void duparg(char *, char *) ATTRIBUTE_NORETURN; | ||
81 | void duparg2(char *, char *) ATTRIBUTE_NORETURN; | ||
82 | int matches(char *arg, char *pattern); | ||
83 | extern int inet_addr_match(inet_prefix *a, inet_prefix *b, int bits); | ||
84 | |||
85 | const char *dnet_ntop(int af, const void *addr, char *str, size_t len); | ||
86 | int dnet_pton(int af, const char *src, void *addr); | ||
87 | |||
88 | const char *ipx_ntop(int af, const void *addr, char *str, size_t len); | ||
89 | int ipx_pton(int af, const char *src, void *addr); | ||
90 | |||
91 | #endif /* __UTILS_H__ */ |