This commit is contained in:
parent
d6d0da58b6
commit
46fc477282
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 16 11:52:34 CEST 2007 - jdelvare@suse.de
|
||||||
|
|
||||||
|
- libnetlink.3 is now part of the upstream package, no need to
|
||||||
|
include our own copy.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jul 11 16:26:49 CEST 2007 - ms@suse.de
|
Wed Jul 11 16:26:49 CEST 2007 - ms@suse.de
|
||||||
|
|
||||||
|
@ -16,13 +16,12 @@ BuildRequires: bison db-devel flex ghostscript-fonts-std ghostscript-x11 glib l
|
|||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: Productivity/Networking/Routing
|
Group: Productivity/Networking/Routing
|
||||||
Provides: iproute
|
Provides: iproute
|
||||||
Autoreqprov: on
|
AutoReqProv: on
|
||||||
Version: 2.6.22
|
Version: 2.6.22
|
||||||
Release: 1
|
Release: 37
|
||||||
Summary: Advanced Routing
|
Summary: Advanced Routing
|
||||||
URL: http://developer.osdl.org/dev/iproute2/
|
Url: http://developer.osdl.org/dev/iproute2/
|
||||||
Source0: %name-%version-%dateversion.tar.bz2
|
Source0: %name-%version-%dateversion.tar.bz2
|
||||||
Source1: libnetlink.3
|
|
||||||
Patch0: %name-2.6.22-pdfdoc.diff
|
Patch0: %name-2.6.22-pdfdoc.diff
|
||||||
Patch1: %name-2.6.22-flushcheckuid.diff
|
Patch1: %name-2.6.22-flushcheckuid.diff
|
||||||
Patch2: %name-2.6.22-fragtimeout.diff
|
Patch2: %name-2.6.22-fragtimeout.diff
|
||||||
@ -31,6 +30,7 @@ Patch4: %name-tc-flex-fixes.diff
|
|||||||
Patch5: %name-resolve-address.diff
|
Patch5: %name-resolve-address.diff
|
||||||
Patch6: %name-2.6.22-070710.diff
|
Patch6: %name-2.6.22-070710.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%package -n libnlink
|
%package -n libnlink
|
||||||
Summary: A Higher Level Interface to the Netlink Service
|
Summary: A Higher Level Interface to the Netlink Service
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
@ -41,7 +41,6 @@ libnetlink provides a higher level interface to rtnetlink(7).
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package provides the tools ip, tc, and rtmon needed to use the new
|
This package provides the tools ip, tc, and rtmon needed to use the new
|
||||||
and advanced routing options of the Linux kernel. The SUSE Linux
|
and advanced routing options of the Linux kernel. The SUSE Linux
|
||||||
@ -75,7 +74,6 @@ make pdf
|
|||||||
install -d $RPM_BUILD_ROOT/{etc/,sbin/,usr/{sbin,share/man/man{3,8}}}
|
install -d $RPM_BUILD_ROOT/{etc/,sbin/,usr/{sbin,share/man/man{3,8}}}
|
||||||
install -d $RPM_BUILD_ROOT/{/usr/include,%_libdir}
|
install -d $RPM_BUILD_ROOT/{/usr/include,%_libdir}
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
install -m644 $RPM_SOURCE_DIR/libnetlink.3 $RPM_BUILD_ROOT/usr/share/man/man3
|
|
||||||
install lib/libnetlink.a $RPM_BUILD_ROOT/%_libdir
|
install lib/libnetlink.a $RPM_BUILD_ROOT/%_libdir
|
||||||
install include/libnetlink.h $RPM_BUILD_ROOT/usr/include
|
install include/libnetlink.h $RPM_BUILD_ROOT/usr/include
|
||||||
mv $RPM_BUILD_ROOT/usr/sbin/ip $RPM_BUILD_ROOT/sbin
|
mv $RPM_BUILD_ROOT/usr/sbin/ip $RPM_BUILD_ROOT/sbin
|
||||||
@ -110,8 +108,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%attr(644,root,root) /usr/include/*
|
%attr(644,root,root) /usr/include/*
|
||||||
%_mandir/man3/libnetlink*
|
%_mandir/man3/libnetlink*
|
||||||
%_libdir/lib*
|
%_libdir/lib*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 16 2007 - jdelvare@suse.de
|
||||||
|
- libnetlink.3 is now part of the upstream package, no need to
|
||||||
|
include our own copy.
|
||||||
* Wed Jul 11 2007 - ms@suse.de
|
* Wed Jul 11 2007 - ms@suse.de
|
||||||
- update to version 2.6.22, fixed (#288551)
|
- update to version 2.6.22, fixed (#288551)
|
||||||
* Kim Woelders <kim@woelders.dk>, various useful fixups: compilation
|
* Kim Woelders <kim@woelders.dk>, various useful fixups: compilation
|
||||||
|
197
libnetlink.3
197
libnetlink.3
@ -1,197 +0,0 @@
|
|||||||
.TH libnetlink 3
|
|
||||||
.SH NAME
|
|
||||||
libnetlink \- A library for accessing the netlink service
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.nf
|
|
||||||
#include <asm/types.h>
|
|
||||||
.br
|
|
||||||
#include <libnetlink.h>
|
|
||||||
.br
|
|
||||||
#include <linux/netlink.h>
|
|
||||||
.br
|
|
||||||
#include <linux/rtnetlink.h>
|
|
||||||
.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
|
|
Loading…
Reference in New Issue
Block a user