1#ifndef __UTILS_H__
2#define __UTILS_H__ 1
3
4#include <asm/types.h>
5#include <resolv.h>
6
7#include "libnetlink.h"
8#include "ll_map.h"
9
10#define SPRINT_BSIZE 64
11
12#define NEXT_ARG() do { argv++; if (--argc <= 0)  exit(-1); } while(0)
13#define NEXT_ARG_OK() (argc - 1 > 0)
14#define PREV_ARG() do { argv--; argc++; } while(0)
15
16struct inet_prefix
17{
18	unsigned char family;
19	unsigned char bytelen;
20	signed short bitlen;
21	unsigned int flags;
22	unsigned int data[4];
23} ;
24
25#define PREFIXLEN_SPECIFIED 1
26
27extern const char *rt_addr_n2a(int af, int len, const void *addr,
28			       char *buf, int buflen);
29
30extern void invalid_arg(const char *, const char *);
31
32#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
33
34#endif /* __UTILS_H__ */
35