X-Git-Url: http://git.onelab.eu/?p=iproute2.git;a=blobdiff_plain;f=man%2Fman3%2Flibnetlink.3;fp=man%2Fman3%2Flibnetlink.3;h=0000000000000000000000000000000000000000;hp=145f38d84f560fd9f92da21238ac33d41280b51c;hb=3331a68859fd71047bb1f309048960b48eab2d83;hpb=2bd4a72f2100be7ad7d9518cb1d49bb2a5b71994 diff --git a/man/man3/libnetlink.3 b/man/man3/libnetlink.3 deleted file mode 100644 index 145f38d..0000000 --- a/man/man3/libnetlink.3 +++ /dev/null @@ -1,197 +0,0 @@ -.TH libnetlink 3 -.SH NAME -libnetlink \- A library for accessing the netlink service -.SH SYNOPSIS -.nf -#include -.br -#include -.br -#include -.br -#include -.sp -int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions) -.sp -int rtnl_wilddump_request(struct rtnl_handle *rth, int family, int type) -.sp -int rtnl_send(struct rtnl_handle *rth, char *buf, int len) -.sp -int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) -.sp -int rtnl_dump_filter(struct rtnl_handle *rth, - int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *), - void *arg1, - int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), - void *arg2) -.sp -int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, - unsigned groups, struct nlmsghdr *answer, -.br - int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), -.br - void *jarg) -.sp -int rtnl_listen(struct rtnl_handle *rtnl, - int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *), - void *jarg) -.sp -int rtnl_from_file(FILE *rtnl, - int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *), - void *jarg) -.sp -int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data) -.sp -int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen) -.sp -int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data) -.sp -int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen) -.SH DESCRIPTION -libnetlink provides a higher level interface to -.BR rtnetlink(7). -The read functions return 0 on success and a negative errno on failure. -The send functions return the amount of data sent, or -1 on error. -.TP -rtnl_open -Open a rtnetlink socket and save the state into the -.B rth -handle. This handle is passed to all subsequent calls. -.B subscriptions -is a bitmap of the rtnetlink multicast groups the socket will be -a member of. - -.TP -rtnl_wilddump_request -Request a full dump of the -.B type -database for -.B family -addresses. -.B type -is a rtnetlink message type. -.\" XXX - -.TP -rtnl_dump_request -Request a full dump of the -.B type -data buffer into -.B buf -with maximum length of -.B len. -.B type -is a rtnetlink message type. - -.TP -rtnl_dump_filter -Receive netlink data after a request and filter it. -The -.B filter -callback checks if the received message is wanted. It gets the source -address of the message, the message itself and -.B arg1 -as arguments. 0 as return means that the filter passed, a negative -value is returned -by -.I rtnl_dump_filter -in case of error. NULL for -.I filter -means to not use a filter. -.B junk -is used to filter messages not destined to the local socket. -Only one message bundle is received. Unless there is no message -pending, this function does not block. - -.TP -rtnl_listen -Receive netlink data after a request and pass it to -.I handler. -.B handler -is a callback that gets the message source address, the message itself, -and the -.B jarg -cookie as arguments. It will get called for all received messages. -Only one message bundle is received. Unless there is no message -pending this function does not block. - -.TP -rtnl_from_file -Works like -.I rtnl_listen, -but reads a netlink message bundle from the file -.B file -and passes the messages to -.B handler -for parsing. The file contains raw data as received from a rtnetlink socket. -.PP -The following functions are useful to construct custom rtnetlink messages. For -simple database dumping with filtering it is better to use the higher level -functions above. See -.BR rtnetlink(3) -and -.BR netlink(3) -on how to generate a rtnetlink message. The following utility functions -require a continuous buffer that already contains a netlink message header -and a rtnetlink request. - -.TP -rtnl_send -Send the rtnetlink message in -.B buf -of length -.B len -to handle -.B rth. - -.TP -addattr32 -Add a __u32 attribute of type -.B type -and with value -.B data -to netlink message -.B n, -which is part of a buffer of length -.B maxlen. - -.TP -addattr_l -Add a variable length attribute of type -.B type -and with value -.B data -and -.B alen -length to netlink message -.B n, -which is part of a buffer of length -.B maxlen. -.B data -is copied. - -.TP -rta_addattr32 -Initialize the rtnetlink attribute -.B rta -with a __u32 data value. - -.TP -rta_addattr32 -Initialize the rtnetlink attribute -.B rta -with a variable length data value. - -.SH BUGS -The functions sometimes use fprintf and exit when a fatal error occurs. -This library should be named librtnetlink. - -.SH AUTHORS -netlink/rtnetlink was designed and writen by Alexey Kuznetsov. -Andi Kleen wrote the man page. - -.SH SEE ALSO -.BR netlink(7), -.BR rtnetlink(7) -.br -/usr/include/linux/rtnetlink.h