NETLINK(3)

NOMBRE
netlink - macros netlink

SINOPSIS
#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);

DESCRIPCIÓN
<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.

CONFORME A
These macros are nonstandard Linux extensions.

NOTAS
Normalmente es mejor usar netlink a través de libnetlink que mediante la interfaz de bajo nivel del núcleo.

VÉASE TAMBIÉN
libnetlink(3), netlink(7)

COLOFÓN
Esta página es parte de la versión 5.13 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es> Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 debian-l10n-spanish@lists.debian.org>..