• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/libnl-tiny/include/netlink/addr.h

  1 /*
  2  * netlink/addr.h               Abstract Address
  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 
 12 #ifndef NETLINK_ADDR_H_
 13 #define NETLINK_ADDR_H_
 14 
 15 #include <netlink/netlink.h>
 16 
 17 #ifdef __cplusplus
 18 extern "C" {
 19 #endif
 20 
 21 struct nl_addr;
 22 
 23 /* Creation */
 24 extern struct nl_addr * nl_addr_alloc(size_t);
 25 extern struct nl_addr * nl_addr_alloc_attr(struct nlattr *, int);
 26 extern struct nl_addr * nl_addr_build(int, void *, size_t);
 27 extern int              nl_addr_parse(const char *, int, struct nl_addr **);
 28 extern struct nl_addr * nl_addr_clone(struct nl_addr *);
 29 
 30 /* Destroyage */
 31 extern void             nl_addr_destroy(struct nl_addr *);
 32 
 33 /* Usage Management */
 34 extern struct nl_addr * nl_addr_get(struct nl_addr *);
 35 extern void             nl_addr_put(struct nl_addr *);
 36 extern int              nl_addr_shared(struct nl_addr *);
 37 
 38 extern int              nl_addr_cmp(struct nl_addr *, struct nl_addr *);
 39 extern int              nl_addr_cmp_prefix(struct nl_addr *, struct nl_addr *);
 40 extern int              nl_addr_iszero(struct nl_addr *);
 41 extern int              nl_addr_valid(char *, int);
 42 extern int              nl_addr_guess_family(struct nl_addr *);
 43 extern int              nl_addr_fill_sockaddr(struct nl_addr *,
 44                                               struct sockaddr *, socklen_t *);
 45 extern int              nl_addr_info(struct nl_addr *, struct addrinfo **);
 46 extern int              nl_addr_resolve(struct nl_addr *addr, char *host, size_t hostlen);
 47 
 48 /* Access Functions */
 49 extern void             nl_addr_set_family(struct nl_addr *, int);
 50 extern int              nl_addr_get_family(struct nl_addr *);
 51 extern int              nl_addr_set_binary_addr(struct nl_addr *, void *,
 52                                                 size_t);
 53 extern void *           nl_addr_get_binary_addr(struct nl_addr *);
 54 extern unsigned int     nl_addr_get_len(struct nl_addr *);
 55 extern void             nl_addr_set_prefixlen(struct nl_addr *, int);
 56 extern unsigned int     nl_addr_get_prefixlen(struct nl_addr *);
 57 
 58 /* Address Family Translations */
 59 extern char *           nl_af2str(int, char *, size_t);
 60 extern int              nl_str2af(const char *);
 61 
 62 /* Translations to Strings */
 63 extern char *           nl_addr2str(struct nl_addr *, char *, size_t);
 64 
 65 #ifdef __cplusplus
 66 }
 67 #endif
 68 
 69 #endif
 70 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt