neightbl.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * netlink/route/neightbl.h Neighbour Tables
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation version 2.1
  7. * of the License.
  8. *
  9. * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
  10. */
  11. #ifndef NETLINK_NEIGHTBL_H_
  12. #define NETLINK_NEIGHTBL_H_
  13. #include <netlink/netlink.h>
  14. #include <netlink/cache.h>
  15. #include <netlink/addr.h>
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. struct rtnl_neightbl;
  20. extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
  21. extern void rtnl_neightbl_put(struct rtnl_neightbl *);
  22. extern void rtnl_neightbl_free(struct rtnl_neightbl *);
  23. extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **);
  24. extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
  25. const char *, int);
  26. extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
  27. struct nl_dump_params *);
  28. extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
  29. struct rtnl_neightbl *,
  30. struct nl_msg **);
  31. extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *,
  32. struct rtnl_neightbl *);
  33. extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
  34. extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
  35. extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
  36. extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
  37. extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t);
  38. extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
  39. extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
  40. extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
  41. extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
  42. extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
  43. extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
  44. extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
  45. extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
  46. uint64_t);
  47. extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
  48. extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
  49. extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
  50. uint64_t);
  51. extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
  52. extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
  53. extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
  54. #ifdef __cplusplus
  55. }
  56. #endif
  57. #endif