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