netlink - macros netlink
Biblioteca Estándar C (
libc,
-lc)
#include <asm/types.h>
#include <linux/netlink.h>
int NLMSG_ALIGN(size_t len);
int NLMSG_LENGTH(size_t len);
int NLMSG_SPACE(size_t len);
void *NLMSG_DATA(struct nlmsghdr *nlh);
struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *nlh, int len);
int NLMSG_OK(struct nlmsghdr *nlh, int len);
int NLMSG_PAYLOAD(struct nlmsghdr *nlh, int len);
<linux/netlink.h> define varias macros estándares para
acceder o crear un datagrama netlink. En esencia son similares a las macros
definidas en
cmsg(3) para los datos auxiliares. Se debería
acceder al buffer pasado a y desde un conector netlink usando
únicamente estas macros.
-
NLMSG_ALIGN()
- Redondea la longitud de un mensaje netlink hasta alinearlo
adecuadamente.
-
NLMSG_LENGTH()
- Given the payload length, len, this macro returns
the aligned length to store in the nlmsg_len field of the
nlmsghdr.
-
NLMSG_SPACE()
- Return the number of bytes that a netlink message with
payload of len would occupy.
-
NLMSG_DATA()
- Devuelve un puntero al contenido útil asociado con
el nlmsghdr pasado.
-
NLMSG_NEXT()
- Get the next nlmsghdr in a multipart message. The
caller must check if the current nlmsghdr didn't have the
NLMSG_DONE set—this function doesn't return NULL on end. The
len argument is an lvalue containing the remaining length of the
message buffer. This macro decrements it by the length of the message
header.
-
NLMSG_OK()
- Return true if the netlink message is not truncated and is
in a form suitable for parsing.
-
NLMSG_PAYLOAD()
- Devuelve la longitud del contenido útil asociado con
nlmsghdr.
Estas macros son extensiones no estándar de Linux
Normalmente es mejor usar netlink a través de
libnetlink que
mediante la interfaz de bajo nivel del núcleo.
libnetlink(3),
netlink(7)
La traducción al español de esta página del manual fue
creada por Juan Piernas <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]