* [PATCH libmnl, v2] Enable doxygen to generate Function Documentation
@ 2019-09-21 10:25 Duncan Roe
0 siblings, 0 replies; only message in thread
From: Duncan Roe @ 2019-09-21 10:25 UTC (permalink / raw)
To: netfilter-devel
diff --git a/src/attr.c b/src/attr.c
index 0359ba9..00a5354 100644
--- a/src/attr.c
+++ b/src/attr.c
@@ -12,6 +12,42 @@
#include <errno.h>
#include "internal.h"
+EXPORT_SYMBOL(mnl_attr_get_type);
+EXPORT_SYMBOL(mnl_attr_get_len);
+EXPORT_SYMBOL(mnl_attr_get_payload_len);
+EXPORT_SYMBOL(mnl_attr_get_payload);
+EXPORT_SYMBOL(mnl_attr_ok);
+EXPORT_SYMBOL(mnl_attr_next);
+EXPORT_SYMBOL(mnl_attr_type_valid);
+EXPORT_SYMBOL(mnl_attr_validate);
+EXPORT_SYMBOL(mnl_attr_validate2);
+EXPORT_SYMBOL(mnl_attr_parse);
+EXPORT_SYMBOL(mnl_attr_parse_nested);
+EXPORT_SYMBOL(mnl_attr_parse_payload);
+EXPORT_SYMBOL(mnl_attr_get_u8);
+EXPORT_SYMBOL(mnl_attr_get_u16);
+EXPORT_SYMBOL(mnl_attr_get_u32);
+EXPORT_SYMBOL(mnl_attr_get_u64);
+EXPORT_SYMBOL(mnl_attr_get_str);
+EXPORT_SYMBOL(mnl_attr_put);
+EXPORT_SYMBOL(mnl_attr_put_u8);
+EXPORT_SYMBOL(mnl_attr_put_u16);
+EXPORT_SYMBOL(mnl_attr_put_u32);
+EXPORT_SYMBOL(mnl_attr_put_u64);
+EXPORT_SYMBOL(mnl_attr_put_str);
+EXPORT_SYMBOL(mnl_attr_put_strz);
+EXPORT_SYMBOL(mnl_attr_nest_start);
+EXPORT_SYMBOL(mnl_attr_put_check);
+EXPORT_SYMBOL(mnl_attr_put_u8_check);
+EXPORT_SYMBOL(mnl_attr_put_u16_check);
+EXPORT_SYMBOL(mnl_attr_put_u32_check);
+EXPORT_SYMBOL(mnl_attr_put_u64_check);
+EXPORT_SYMBOL(mnl_attr_put_str_check);
+EXPORT_SYMBOL(mnl_attr_put_strz_check);
+EXPORT_SYMBOL(mnl_attr_nest_start_check);
+EXPORT_SYMBOL(mnl_attr_nest_end);
+EXPORT_SYMBOL(mnl_attr_nest_cancel);
+
/**
* \defgroup attr Netlink attribute helpers
*
@@ -35,7 +71,6 @@
*
* This function returns the attribute type.
*/
-EXPORT_SYMBOL(mnl_attr_get_type);
uint16_t mnl_attr_get_type(const struct nlattr *attr)
{
return attr->nla_type & NLA_TYPE_MASK;
@@ -48,7 +83,6 @@ uint16_t mnl_attr_get_type(const struct nlattr *attr)
* This function returns the attribute length that is the attribute header
* plus the attribute payload.
*/
-EXPORT_SYMBOL(mnl_attr_get_len);
uint16_t mnl_attr_get_len(const struct nlattr *attr)
{
return attr->nla_len;
@@ -60,7 +94,6 @@ uint16_t mnl_attr_get_len(const struct nlattr *attr)
*
* This function returns the attribute payload-value length.
*/
-EXPORT_SYMBOL(mnl_attr_get_payload_len);
uint16_t mnl_attr_get_payload_len(const struct nlattr *attr)
{
return attr->nla_len - MNL_ATTR_HDRLEN;
@@ -72,7 +105,6 @@ uint16_t mnl_attr_get_payload_len(const struct nlattr *attr)
*
* This function return a pointer to the attribute payload.
*/
-EXPORT_SYMBOL(mnl_attr_get_payload);
void *mnl_attr_get_payload(const struct nlattr *attr)
{
return (void *)attr + MNL_ATTR_HDRLEN;
@@ -94,7 +126,6 @@ void *mnl_attr_get_payload(const struct nlattr *attr)
* The len parameter may be negative in the case of malformed messages during
* attribute iteration, that is why we use a signed integer.
*/
-EXPORT_SYMBOL(mnl_attr_ok);
bool mnl_attr_ok(const struct nlattr *attr, int len)
{
return len >= (int)sizeof(struct nlattr) &&
@@ -110,7 +141,6 @@ bool mnl_attr_ok(const struct nlattr *attr, int len)
* as parameter. You have to use mnl_attr_ok() to ensure that the next
* attribute is valid.
*/
-EXPORT_SYMBOL(mnl_attr_next);
struct nlattr *mnl_attr_next(const struct nlattr *attr)
{
return (struct nlattr *)((void *)attr + MNL_ALIGN(attr->nla_len));
@@ -130,7 +160,6 @@ struct nlattr *mnl_attr_next(const struct nlattr *attr)
* This leads to backward compatibility breakages in user-space. Better check
* if you support an attribute, if not, skip it.
*/
-EXPORT_SYMBOL(mnl_attr_type_valid);
int mnl_attr_type_valid(const struct nlattr *attr, uint16_t max)
{
if (mnl_attr_get_type(attr) > max) {
@@ -211,7 +240,6 @@ static const size_t mnl_attr_data_type_len[MNL_TYPE_MAX] = {
* integers (u8, u16, u32 and u64) have enough room for them. This function
* returns -1 in case of error, and errno is explicitly set.
*/
-EXPORT_SYMBOL(mnl_attr_validate);
int mnl_attr_validate(const struct nlattr *attr, enum mnl_attr_data_type type)
{
int exp_len;
@@ -234,7 +262,6 @@ int mnl_attr_validate(const struct nlattr *attr, enum mnl_attr_data_type type)
* whose size is variable. If the size of the attribute is not what we expect,
* this functions returns -1 and errno is explicitly set.
*/
-EXPORT_SYMBOL(mnl_attr_validate2);
int mnl_attr_validate2(const struct nlattr *attr, enum mnl_attr_data_type type,
size_t exp_len)
{
@@ -260,7 +287,6 @@ int mnl_attr_validate2(const struct nlattr *attr, enum mnl_attr_data_type type,
* This function propagates the return value of the callback, which can be
* MNL_CB_ERROR, MNL_CB_OK or MNL_CB_STOP.
*/
-EXPORT_SYMBOL(mnl_attr_parse);
int mnl_attr_parse(const struct nlmsghdr *nlh, unsigned int offset,
mnl_attr_cb_t cb, void *data)
{
@@ -287,7 +313,6 @@ int mnl_attr_parse(const struct nlmsghdr *nlh, unsigned int offset,
* This function propagates the return value of the callback, which can be
* MNL_CB_ERROR, MNL_CB_OK or MNL_CB_STOP.
*/
-EXPORT_SYMBOL(mnl_attr_parse_nested);
int mnl_attr_parse_nested(const struct nlattr *nested, mnl_attr_cb_t cb,
void *data)
{
@@ -319,7 +344,6 @@ int mnl_attr_parse_nested(const struct nlattr *nested, mnl_attr_cb_t cb,
* This function propagates the return value of the callback, which can be
* MNL_CB_ERROR, MNL_CB_OK or MNL_CB_STOP.
*/
-EXPORT_SYMBOL(mnl_attr_parse_payload);
int mnl_attr_parse_payload(const void *payload, size_t payload_len,
mnl_attr_cb_t cb, void *data)
{
@@ -338,7 +362,6 @@ int mnl_attr_parse_payload(const void *payload, size_t payload_len,
*
* This function returns the 8-bit value of the attribute payload.
*/
-EXPORT_SYMBOL(mnl_attr_get_u8);
uint8_t mnl_attr_get_u8(const struct nlattr *attr)
{
return *((uint8_t *)mnl_attr_get_payload(attr));
@@ -350,7 +373,6 @@ uint8_t mnl_attr_get_u8(const struct nlattr *attr)
*
* This function returns the 16-bit value of the attribute payload.
*/
-EXPORT_SYMBOL(mnl_attr_get_u16);
uint16_t mnl_attr_get_u16(const struct nlattr *attr)
{
return *((uint16_t *)mnl_attr_get_payload(attr));
@@ -362,7 +384,6 @@ uint16_t mnl_attr_get_u16(const struct nlattr *attr)
*
* This function returns the 32-bit value of the attribute payload.
*/
-EXPORT_SYMBOL(mnl_attr_get_u32);
uint32_t mnl_attr_get_u32(const struct nlattr *attr)
{
return *((uint32_t *)mnl_attr_get_payload(attr));
@@ -376,7 +397,6 @@ uint32_t mnl_attr_get_u32(const struct nlattr *attr)
* function is align-safe, since accessing 64-bit Netlink attributes is a
* common source of alignment issues.
*/
-EXPORT_SYMBOL(mnl_attr_get_u64);
uint64_t mnl_attr_get_u64(const struct nlattr *attr)
{
uint64_t tmp;
@@ -390,7 +410,6 @@ uint64_t mnl_attr_get_u64(const struct nlattr *attr)
*
* This function returns the payload of string attribute value.
*/
-EXPORT_SYMBOL(mnl_attr_get_str);
const char *mnl_attr_get_str(const struct nlattr *attr)
{
return mnl_attr_get_payload(attr);
@@ -406,7 +425,6 @@ const char *mnl_attr_get_str(const struct nlattr *attr)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put);
void mnl_attr_put(struct nlmsghdr *nlh, uint16_t type, size_t len,
const void *data)
{
@@ -433,7 +451,6 @@ void mnl_attr_put(struct nlmsghdr *nlh, uint16_t type, size_t len,
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u8);
void mnl_attr_put_u8(struct nlmsghdr *nlh, uint16_t type, uint8_t data)
{
mnl_attr_put(nlh, type, sizeof(uint8_t), &data);
@@ -448,7 +465,6 @@ void mnl_attr_put_u8(struct nlmsghdr *nlh, uint16_t type, uint8_t data)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u16);
void mnl_attr_put_u16(struct nlmsghdr *nlh, uint16_t type, uint16_t data)
{
mnl_attr_put(nlh, type, sizeof(uint16_t), &data);
@@ -463,7 +479,6 @@ void mnl_attr_put_u16(struct nlmsghdr *nlh, uint16_t type, uint16_t data)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u32);
void mnl_attr_put_u32(struct nlmsghdr *nlh, uint16_t type, uint32_t data)
{
mnl_attr_put(nlh, type, sizeof(uint32_t), &data);
@@ -478,7 +493,6 @@ void mnl_attr_put_u32(struct nlmsghdr *nlh, uint16_t type, uint32_t data)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u64);
void mnl_attr_put_u64(struct nlmsghdr *nlh, uint16_t type, uint64_t data)
{
mnl_attr_put(nlh, type, sizeof(uint64_t), &data);
@@ -493,7 +507,6 @@ void mnl_attr_put_u64(struct nlmsghdr *nlh, uint16_t type, uint64_t data)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_str);
void mnl_attr_put_str(struct nlmsghdr *nlh, uint16_t type, const char *data)
{
mnl_attr_put(nlh, type, strlen(data), data);
@@ -511,7 +524,6 @@ void mnl_attr_put_str(struct nlmsghdr *nlh, uint16_t type, const char *data)
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_strz);
void mnl_attr_put_strz(struct nlmsghdr *nlh, uint16_t type, const char *data)
{
mnl_attr_put(nlh, type, strlen(data)+1, data);
@@ -526,7 +538,6 @@ void mnl_attr_put_strz(struct nlmsghdr *nlh, uint16_t type, const char *data)
* an attribute nest. This function always returns a valid pointer to the
* beginning of the nest.
*/
-EXPORT_SYMBOL(mnl_attr_nest_start);
struct nlattr *mnl_attr_nest_start(struct nlmsghdr *nlh, uint16_t type)
{
struct nlattr *start = mnl_nlmsg_get_payload_tail(nlh);
@@ -552,7 +563,6 @@ struct nlattr *mnl_attr_nest_start(struct nlmsghdr *nlh, uint16_t type)
* attribute. The function returns true if the attribute could be added
* to the message, otherwise false is returned.
*/
-EXPORT_SYMBOL(mnl_attr_put_check);
bool mnl_attr_put_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, size_t len, const void *data)
{
@@ -575,7 +585,6 @@ bool mnl_attr_put_check(struct nlmsghdr *nlh, size_t buflen,
* attribute. The function returns true if the attribute could be added
* to the message, otherwise false is returned.
*/
-EXPORT_SYMBOL(mnl_attr_put_u8_check);
bool mnl_attr_put_u8_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, uint8_t data)
{
@@ -597,7 +606,6 @@ bool mnl_attr_put_u8_check(struct nlmsghdr *nlh, size_t buflen,
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u16_check);
bool mnl_attr_put_u16_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, uint16_t data)
{
@@ -619,7 +627,6 @@ bool mnl_attr_put_u16_check(struct nlmsghdr *nlh, size_t buflen,
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u32_check);
bool mnl_attr_put_u32_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, uint32_t data)
{
@@ -641,7 +648,6 @@ bool mnl_attr_put_u32_check(struct nlmsghdr *nlh, size_t buflen,
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_u64_check);
bool mnl_attr_put_u64_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, uint64_t data)
{
@@ -663,7 +669,6 @@ bool mnl_attr_put_u64_check(struct nlmsghdr *nlh, size_t buflen,
* This function updates the length field of the Netlink message (nlmsg_len)
* by adding the size (header + payload) of the new attribute.
*/
-EXPORT_SYMBOL(mnl_attr_put_str_check);
bool mnl_attr_put_str_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, const char *data)
{
@@ -686,7 +691,6 @@ bool mnl_attr_put_str_check(struct nlmsghdr *nlh, size_t buflen,
* attribute. The function returns true if the attribute could be added
* to the message, otherwise false is returned.
*/
-EXPORT_SYMBOL(mnl_attr_put_strz_check);
bool mnl_attr_put_strz_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type, const char *data)
{
@@ -703,7 +707,6 @@ bool mnl_attr_put_strz_check(struct nlmsghdr *nlh, size_t buflen,
* an attribute nest. If the nested attribute cannot be added then NULL,
* otherwise valid pointer to the beginning of the nest is returned.
*/
-EXPORT_SYMBOL(mnl_attr_nest_start_check);
struct nlattr *mnl_attr_nest_start_check(struct nlmsghdr *nlh, size_t buflen,
uint16_t type)
{
@@ -719,7 +722,6 @@ struct nlattr *mnl_attr_nest_start_check(struct nlmsghdr *nlh, size_t buflen,
*
* This function updates the attribute header that identifies the nest.
*/
-EXPORT_SYMBOL(mnl_attr_nest_end);
void mnl_attr_nest_end(struct nlmsghdr *nlh, struct nlattr *start)
{
start->nla_len = mnl_nlmsg_get_payload_tail(nlh) - (void *)start;
@@ -732,7 +734,6 @@ void mnl_attr_nest_end(struct nlmsghdr *nlh, struct nlattr *start)
*
* This function updates the attribute header that identifies the nest.
*/
-EXPORT_SYMBOL(mnl_attr_nest_cancel);
void mnl_attr_nest_cancel(struct nlmsghdr *nlh, struct nlattr *start)
{
nlh->nlmsg_len -= mnl_nlmsg_get_payload_tail(nlh) - (void *)start;
diff --git a/src/callback.c b/src/callback.c
index 01181e6..b09c386 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -11,6 +11,9 @@
#include <libmnl/libmnl.h>
#include "internal.h"
+EXPORT_SYMBOL(mnl_cb_run2);
+EXPORT_SYMBOL(mnl_cb_run);
+
static int mnl_cb_noop(const struct nlmsghdr *nlh, void *data)
{
return MNL_CB_OK;
@@ -127,7 +130,6 @@ out:
* to EPROTO. If the dump was interrupted, errno is set to EINTR and you should
* request a new fresh dump again.
*/
-EXPORT_SYMBOL(mnl_cb_run2);
int mnl_cb_run2(const void *buf, size_t numbytes, unsigned int seq,
unsigned int portid, mnl_cb_t cb_data, void *data,
const mnl_cb_t *cb_ctl_array, unsigned int cb_ctl_array_len)
@@ -155,7 +157,6 @@ int mnl_cb_run2(const void *buf, size_t numbytes, unsigned int seq,
*
* This function propagates the callback return value.
*/
-EXPORT_SYMBOL(mnl_cb_run);
int mnl_cb_run(const void *buf, size_t numbytes, unsigned int seq,
unsigned int portid, mnl_cb_t cb_data, void *data)
{
diff --git a/src/nlmsg.c b/src/nlmsg.c
index f9448a5..574b66d 100644
--- a/src/nlmsg.c
+++ b/src/nlmsg.c
@@ -15,6 +15,27 @@
#include <libmnl/libmnl.h>
#include "internal.h"
+EXPORT_SYMBOL(mnl_nlmsg_size);
+EXPORT_SYMBOL(mnl_nlmsg_get_payload_len);
+EXPORT_SYMBOL(mnl_nlmsg_put_header);
+EXPORT_SYMBOL(mnl_nlmsg_put_extra_header);
+EXPORT_SYMBOL(mnl_nlmsg_get_payload);
+EXPORT_SYMBOL(mnl_nlmsg_get_payload_offset);
+EXPORT_SYMBOL(mnl_nlmsg_ok);
+EXPORT_SYMBOL(mnl_nlmsg_next);
+EXPORT_SYMBOL(mnl_nlmsg_get_payload_tail);
+EXPORT_SYMBOL(mnl_nlmsg_seq_ok);
+EXPORT_SYMBOL(mnl_nlmsg_portid_ok);
+EXPORT_SYMBOL(mnl_nlmsg_fprintf);
+EXPORT_SYMBOL(mnl_nlmsg_batch_start);
+EXPORT_SYMBOL(mnl_nlmsg_batch_stop);
+EXPORT_SYMBOL(mnl_nlmsg_batch_next);
+EXPORT_SYMBOL(mnl_nlmsg_batch_reset);
+EXPORT_SYMBOL(mnl_nlmsg_batch_size);
+EXPORT_SYMBOL(mnl_nlmsg_batch_head);
+EXPORT_SYMBOL(mnl_nlmsg_batch_current);
+EXPORT_SYMBOL(mnl_nlmsg_batch_is_empty);
+
/**
* \defgroup nlmsg Netlink message helpers
*
@@ -51,7 +72,6 @@
* This function returns the size of a netlink message (header plus payload)
* without alignment.
*/
-EXPORT_SYMBOL(mnl_nlmsg_size);
size_t mnl_nlmsg_size(size_t len)
{
return len + MNL_NLMSG_HDRLEN;
@@ -64,7 +84,6 @@ size_t mnl_nlmsg_size(size_t len)
* This function returns the Length of the netlink payload, ie. the length
* of the full message minus the size of the Netlink header.
*/
-EXPORT_SYMBOL(mnl_nlmsg_get_payload_len);
size_t mnl_nlmsg_get_payload_len(const struct nlmsghdr *nlh)
{
return nlh->nlmsg_len - MNL_NLMSG_HDRLEN;
@@ -79,7 +98,6 @@ size_t mnl_nlmsg_get_payload_len(const struct nlmsghdr *nlh)
* initializes the nlmsg_len field to the size of the Netlink header. This
* function returns a pointer to the Netlink header structure.
*/
-EXPORT_SYMBOL(mnl_nlmsg_put_header);
struct nlmsghdr *mnl_nlmsg_put_header(void *buf)
{
int len = MNL_ALIGN(sizeof(struct nlmsghdr));
@@ -101,7 +119,6 @@ struct nlmsghdr *mnl_nlmsg_put_header(void *buf)
* you call this function. This function returns a pointer to the extra
* header.
*/
-EXPORT_SYMBOL(mnl_nlmsg_put_extra_header);
void *mnl_nlmsg_put_extra_header(struct nlmsghdr *nlh, size_t size)
{
char *ptr = (char *)nlh + nlh->nlmsg_len;
@@ -117,7 +134,6 @@ void *mnl_nlmsg_put_extra_header(struct nlmsghdr *nlh, size_t size)
*
* This function returns a pointer to the payload of the netlink message.
*/
-EXPORT_SYMBOL(mnl_nlmsg_get_payload);
void *mnl_nlmsg_get_payload(const struct nlmsghdr *nlh)
{
return (void *)nlh + MNL_NLMSG_HDRLEN;
@@ -131,7 +147,6 @@ void *mnl_nlmsg_get_payload(const struct nlmsghdr *nlh)
* This function returns a pointer to the payload of the netlink message plus
* a given offset.
*/
-EXPORT_SYMBOL(mnl_nlmsg_get_payload_offset);
void *mnl_nlmsg_get_payload_offset(const struct nlmsghdr *nlh, size_t offset)
{
return (void *)nlh + MNL_NLMSG_HDRLEN + MNL_ALIGN(offset);
@@ -153,7 +168,6 @@ void *mnl_nlmsg_get_payload_offset(const struct nlmsghdr *nlh, size_t offset)
* The len parameter may become negative in malformed messages during message
* iteration, that is why we use a signed integer.
*/
-EXPORT_SYMBOL(mnl_nlmsg_ok);
bool mnl_nlmsg_ok(const struct nlmsghdr *nlh, int len)
{
return len >= (int)sizeof(struct nlmsghdr) &&
@@ -174,7 +188,6 @@ bool mnl_nlmsg_ok(const struct nlmsghdr *nlh, int len)
* You have to use mnl_nlmsg_ok() to check if the next Netlink message is
* valid.
*/
-EXPORT_SYMBOL(mnl_nlmsg_next);
struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, int *len)
{
*len -= MNL_ALIGN(nlh->nlmsg_len);
@@ -189,7 +202,6 @@ struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, int *len)
* to build a message since we continue adding attributes at the end of the
* message.
*/
-EXPORT_SYMBOL(mnl_nlmsg_get_payload_tail);
void *mnl_nlmsg_get_payload_tail(const struct nlmsghdr *nlh)
{
return (void *)nlh + MNL_ALIGN(nlh->nlmsg_len);
@@ -209,7 +221,6 @@ void *mnl_nlmsg_get_payload_tail(const struct nlmsghdr *nlh)
* socket to send commands to kernel-space (that we want to track) and to
* listen to events (that we do not track).
*/
-EXPORT_SYMBOL(mnl_nlmsg_seq_ok);
bool mnl_nlmsg_seq_ok(const struct nlmsghdr *nlh, unsigned int seq)
{
return nlh->nlmsg_seq && seq ? nlh->nlmsg_seq == seq : true;
@@ -229,7 +240,6 @@ bool mnl_nlmsg_seq_ok(const struct nlmsghdr *nlh, unsigned int seq)
* to kernel-space (that we want to track) and to listen to events (that we
* do not track).
*/
-EXPORT_SYMBOL(mnl_nlmsg_portid_ok);
bool mnl_nlmsg_portid_ok(const struct nlmsghdr *nlh, unsigned int portid)
{
return nlh->nlmsg_pid && portid ? nlh->nlmsg_pid == portid : true;
@@ -363,7 +373,6 @@ static void mnl_nlmsg_fprintf_payload(FILE *fd, const struct nlmsghdr *nlh,
* - N, that indicates that NLA_F_NESTED is set.
* - B, that indicates that NLA_F_NET_BYTEORDER is set.
*/
-EXPORT_SYMBOL(mnl_nlmsg_fprintf);
void mnl_nlmsg_fprintf(FILE *fd, const void *data, size_t datalen,
size_t extra_header_size)
{
@@ -377,6 +386,10 @@ void mnl_nlmsg_fprintf(FILE *fd, const void *data, size_t datalen,
}
}
+/**
+ * @}
+ */
+
/**
* \defgroup batch Netlink message batch helpers
*
@@ -433,7 +446,6 @@ struct mnl_nlmsg_batch {
* the heap, no restrictions in this regard. This function returns NULL on
* error.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_start);
struct mnl_nlmsg_batch *mnl_nlmsg_batch_start(void *buf, size_t limit)
{
struct mnl_nlmsg_batch *b;
@@ -457,7 +469,6 @@ struct mnl_nlmsg_batch *mnl_nlmsg_batch_start(void *buf, size_t limit)
*
* This function releases the batch allocated by mnl_nlmsg_batch_start().
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_stop);
void mnl_nlmsg_batch_stop(struct mnl_nlmsg_batch *b)
{
free(b);
@@ -474,7 +485,6 @@ void mnl_nlmsg_batch_stop(struct mnl_nlmsg_batch *b)
* You have to put at least one message in the batch before calling this
* function, otherwise your application is likely to crash.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_next);
bool mnl_nlmsg_batch_next(struct mnl_nlmsg_batch *b)
{
struct nlmsghdr *nlh = b->cur;
@@ -496,7 +506,6 @@ bool mnl_nlmsg_batch_next(struct mnl_nlmsg_batch *b)
* new one. This function moves the last message which does not fit the
* batch to the head of the buffer, if any.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_reset);
void mnl_nlmsg_batch_reset(struct mnl_nlmsg_batch *b)
{
if (b->overflow) {
@@ -517,7 +526,6 @@ void mnl_nlmsg_batch_reset(struct mnl_nlmsg_batch *b)
*
* This function returns the current size of the batch.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_size);
size_t mnl_nlmsg_batch_size(struct mnl_nlmsg_batch *b)
{
return b->buflen;
@@ -530,7 +538,6 @@ size_t mnl_nlmsg_batch_size(struct mnl_nlmsg_batch *b)
* This function returns a pointer to the head of the batch, which is the
* beginning of the buffer that is used.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_head);
void *mnl_nlmsg_batch_head(struct mnl_nlmsg_batch *b)
{
return b->buf;
@@ -543,7 +550,6 @@ void *mnl_nlmsg_batch_head(struct mnl_nlmsg_batch *b)
* This function returns a pointer to the current position in the buffer
* that is used to store the batch.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_current);
void *mnl_nlmsg_batch_current(struct mnl_nlmsg_batch *b)
{
return b->cur;
@@ -555,7 +561,6 @@ void *mnl_nlmsg_batch_current(struct mnl_nlmsg_batch *b)
*
* This function returns true if the batch is empty.
*/
-EXPORT_SYMBOL(mnl_nlmsg_batch_is_empty);
bool mnl_nlmsg_batch_is_empty(struct mnl_nlmsg_batch *b)
{
return b->buflen == 0;
diff --git a/src/socket.c b/src/socket.c
index 31d6fbe..63f0bae 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -16,6 +16,18 @@
#include <errno.h>
#include "internal.h"
+EXPORT_SYMBOL(mnl_socket_get_fd);
+EXPORT_SYMBOL(mnl_socket_get_portid);
+EXPORT_SYMBOL(mnl_socket_open);
+EXPORT_SYMBOL(mnl_socket_open2);
+EXPORT_SYMBOL(mnl_socket_fdopen);
+EXPORT_SYMBOL(mnl_socket_bind);
+EXPORT_SYMBOL(mnl_socket_sendto);
+EXPORT_SYMBOL(mnl_socket_recvfrom);
+EXPORT_SYMBOL(mnl_socket_close);
+EXPORT_SYMBOL(mnl_socket_setsockopt);
+EXPORT_SYMBOL(mnl_socket_getsockopt);
+
/**
* \mainpage
*
@@ -82,7 +94,6 @@ struct mnl_socket {
*
* This function returns the file descriptor of a given netlink socket.
*/
-EXPORT_SYMBOL(mnl_socket_get_fd);
int mnl_socket_get_fd(const struct mnl_socket *nl)
{
return nl->fd;
@@ -97,7 +108,6 @@ int mnl_socket_get_fd(const struct mnl_socket *nl)
* which is not always true. This is the case if you open more than one
* socket that is binded to the same Netlink subsystem from the same process.
*/
-EXPORT_SYMBOL(mnl_socket_get_portid);
unsigned int mnl_socket_get_portid(const struct mnl_socket *nl)
{
return nl->addr.nl_pid;
@@ -127,7 +137,6 @@ static struct mnl_socket *__mnl_socket_open(int bus, int flags)
* On error, it returns NULL and errno is appropriately set. Otherwise, it
* returns a valid pointer to the mnl_socket structure.
*/
-EXPORT_SYMBOL(mnl_socket_open);
struct mnl_socket *mnl_socket_open(int bus)
{
return __mnl_socket_open(bus, 0);
@@ -145,7 +154,6 @@ struct mnl_socket *mnl_socket_open(int bus)
* On error, it returns NULL and errno is appropriately set. Otherwise, it
* returns a valid pointer to the mnl_socket structure.
*/
-EXPORT_SYMBOL(mnl_socket_open2);
struct mnl_socket *mnl_socket_open2(int bus, int flags)
{
return __mnl_socket_open(bus, flags);
@@ -162,7 +170,6 @@ struct mnl_socket *mnl_socket_open2(int bus, int flags)
* Note that mnl_socket_get_portid() returns 0 if this function is used with
* non-netlink socket.
*/
-EXPORT_SYMBOL(mnl_socket_fdopen);
struct mnl_socket *mnl_socket_fdopen(int fd)
{
int ret;
@@ -195,7 +202,6 @@ struct mnl_socket *mnl_socket_fdopen(int fd)
* success, 0 is returned. You can use MNL_SOCKET_AUTOPID which is 0 for
* automatic port ID selection.
*/
-EXPORT_SYMBOL(mnl_socket_bind);
int mnl_socket_bind(struct mnl_socket *nl, unsigned int groups, pid_t pid)
{
int ret;
@@ -234,7 +240,6 @@ int mnl_socket_bind(struct mnl_socket *nl, unsigned int groups, pid_t pid)
* On error, it returns -1 and errno is appropriately set. Otherwise, it
* returns the number of bytes sent.
*/
-EXPORT_SYMBOL(mnl_socket_sendto);
ssize_t mnl_socket_sendto(const struct mnl_socket *nl, const void *buf,
size_t len)
{
@@ -259,7 +264,6 @@ ssize_t mnl_socket_sendto(const struct mnl_socket *nl, const void *buf,
* buffer size ensures that your buffer is big enough to store the netlink
* message without truncating it.
*/
-EXPORT_SYMBOL(mnl_socket_recvfrom);
ssize_t mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf,
size_t bufsiz)
{
@@ -300,7 +304,6 @@ ssize_t mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf,
* On error, this function returns -1 and errno is appropriately set.
* On success, it returns 0.
*/
-EXPORT_SYMBOL(mnl_socket_close);
int mnl_socket_close(struct mnl_socket *nl)
{
int ret = close(nl->fd);
@@ -333,7 +336,6 @@ int mnl_socket_close(struct mnl_socket *nl)
*
* On error, this function returns -1 and errno is appropriately set.
*/
-EXPORT_SYMBOL(mnl_socket_setsockopt);
int mnl_socket_setsockopt(const struct mnl_socket *nl, int type,
void *buf, socklen_t len)
{
@@ -349,7 +351,6 @@ int mnl_socket_setsockopt(const struct mnl_socket *nl, int type,
*
* On error, this function returns -1 and errno is appropriately set.
*/
-EXPORT_SYMBOL(mnl_socket_getsockopt);
int mnl_socket_getsockopt(const struct mnl_socket *nl, int type,
void *buf, socklen_t *len)
{
--
2.14.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-09-21 10:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-21 10:25 [PATCH libmnl, v2] Enable doxygen to generate Function Documentation Duncan Roe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).