[funini.com] -> [kei@sodan] -> Kernel Reading

root/include/net/nexthop.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. rtnh_ok
  2. rtnh_next
  3. rtnh_attrs
  4. rtnh_attrlen

#ifndef __NET_NEXTHOP_H
#define __NET_NEXTHOP_H

#include <linux/rtnetlink.h>
#include <net/netlink.h>

static inline int rtnh_ok(const struct rtnexthop *rtnh, int remaining)
{
        return remaining >= sizeof(*rtnh) &&
               rtnh->rtnh_len >= sizeof(*rtnh) &&
               rtnh->rtnh_len <= remaining;
}

static inline struct rtnexthop *rtnh_next(const struct rtnexthop *rtnh,
                                         int *remaining)
{
        int totlen = NLA_ALIGN(rtnh->rtnh_len);

        *remaining -= totlen;
        return (struct rtnexthop *) ((char *) rtnh + totlen);
}

static inline struct nlattr *rtnh_attrs(const struct rtnexthop *rtnh)
{
        return (struct nlattr *) ((char *) rtnh + NLA_ALIGN(sizeof(*rtnh)));
}

static inline int rtnh_attrlen(const struct rtnexthop *rtnh)
{
        return rtnh->rtnh_len - NLA_ALIGN(sizeof(*rtnh));
}

#endif

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading