From 444d6dc9020a040957ff585893a7979a89833c76 Mon Sep 17 00:00:00 2001 From: Fernando Fernandez Mancera Date: Wed, 25 Sep 2019 15:14:19 +0200 Subject: src: fix doxygen function documentation Currently clang requires EXPORT_SYMBOL() to be above the function implementation. At the same time doxygen is not generating the proper documentation because of that. This patch solves that problem but EXPORT_SYMBOL looks less like the Linux kernel way exporting symbols. Reported-by: Duncan Roe Signed-off-by: Fernando Fernandez Mancera Signed-off-by: Pablo Neira Ayuso --- src/attr.c | 145 ++++++++++++++++++++++++++----------------------------------- 1 file changed, 62 insertions(+), 83 deletions(-) (limited to 'src/attr.c') diff --git a/src/attr.c b/src/attr.c index 0359ba9..838eab0 100644 --- a/src/attr.c +++ b/src/attr.c @@ -35,8 +35,7 @@ * * This function returns the attribute type. */ -EXPORT_SYMBOL(mnl_attr_get_type); -uint16_t mnl_attr_get_type(const struct nlattr *attr) +EXPORT_SYMBOL uint16_t mnl_attr_get_type(const struct nlattr *attr) { return attr->nla_type & NLA_TYPE_MASK; } @@ -48,8 +47,7 @@ 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) +EXPORT_SYMBOL uint16_t mnl_attr_get_len(const struct nlattr *attr) { return attr->nla_len; } @@ -60,8 +58,7 @@ 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) +EXPORT_SYMBOL uint16_t mnl_attr_get_payload_len(const struct nlattr *attr) { return attr->nla_len - MNL_ATTR_HDRLEN; } @@ -72,8 +69,7 @@ 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) +EXPORT_SYMBOL void *mnl_attr_get_payload(const struct nlattr *attr) { return (void *)attr + MNL_ATTR_HDRLEN; } @@ -94,8 +90,7 @@ 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) +EXPORT_SYMBOL bool mnl_attr_ok(const struct nlattr *attr, int len) { return len >= (int)sizeof(struct nlattr) && attr->nla_len >= sizeof(struct nlattr) && @@ -110,8 +105,7 @@ 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) +EXPORT_SYMBOL struct nlattr *mnl_attr_next(const struct nlattr *attr) { return (struct nlattr *)((void *)attr + MNL_ALIGN(attr->nla_len)); } @@ -130,8 +124,7 @@ 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) +EXPORT_SYMBOL int mnl_attr_type_valid(const struct nlattr *attr, uint16_t max) { if (mnl_attr_get_type(attr) > max) { errno = EOPNOTSUPP; @@ -211,8 +204,7 @@ 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) +EXPORT_SYMBOL int mnl_attr_validate(const struct nlattr *attr, enum mnl_attr_data_type type) { int exp_len; @@ -234,9 +226,9 @@ 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) +EXPORT_SYMBOL int mnl_attr_validate2(const struct nlattr *attr, + enum mnl_attr_data_type type, + size_t exp_len) { if (type >= MNL_TYPE_MAX) { errno = EINVAL; @@ -260,9 +252,9 @@ 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) +EXPORT_SYMBOL int mnl_attr_parse(const struct nlmsghdr *nlh, + unsigned int offset, mnl_attr_cb_t cb, + void *data) { int ret = MNL_CB_OK; const struct nlattr *attr; @@ -287,9 +279,8 @@ 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) +EXPORT_SYMBOL int mnl_attr_parse_nested(const struct nlattr *nested, + mnl_attr_cb_t cb, void *data) { int ret = MNL_CB_OK; const struct nlattr *attr; @@ -319,9 +310,9 @@ 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) +EXPORT_SYMBOL int mnl_attr_parse_payload(const void *payload, + size_t payload_len, + mnl_attr_cb_t cb, void *data) { int ret = MNL_CB_OK; const struct nlattr *attr; @@ -338,8 +329,7 @@ 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) +EXPORT_SYMBOL uint8_t mnl_attr_get_u8(const struct nlattr *attr) { return *((uint8_t *)mnl_attr_get_payload(attr)); } @@ -350,8 +340,7 @@ 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) +EXPORT_SYMBOL uint16_t mnl_attr_get_u16(const struct nlattr *attr) { return *((uint16_t *)mnl_attr_get_payload(attr)); } @@ -362,8 +351,7 @@ 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) +EXPORT_SYMBOL uint32_t mnl_attr_get_u32(const struct nlattr *attr) { return *((uint32_t *)mnl_attr_get_payload(attr)); } @@ -376,8 +364,7 @@ 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) +EXPORT_SYMBOL uint64_t mnl_attr_get_u64(const struct nlattr *attr) { uint64_t tmp; memcpy(&tmp, mnl_attr_get_payload(attr), sizeof(tmp)); @@ -390,8 +377,7 @@ 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) +EXPORT_SYMBOL const char *mnl_attr_get_str(const struct nlattr *attr) { return mnl_attr_get_payload(attr); } @@ -406,9 +392,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put(struct nlmsghdr *nlh, uint16_t type, + size_t len, const void *data) { struct nlattr *attr = mnl_nlmsg_get_payload_tail(nlh); uint16_t payload_len = MNL_ALIGN(sizeof(struct nlattr)) + len; @@ -433,8 +418,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_u8(struct nlmsghdr *nlh, uint16_t type, + uint8_t data) { mnl_attr_put(nlh, type, sizeof(uint8_t), &data); } @@ -448,8 +433,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_u16(struct nlmsghdr *nlh, uint16_t type, + uint16_t data) { mnl_attr_put(nlh, type, sizeof(uint16_t), &data); } @@ -463,8 +448,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_u32(struct nlmsghdr *nlh, uint16_t type, + uint32_t data) { mnl_attr_put(nlh, type, sizeof(uint32_t), &data); } @@ -478,8 +463,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_u64(struct nlmsghdr *nlh, uint16_t type, + uint64_t data) { mnl_attr_put(nlh, type, sizeof(uint64_t), &data); } @@ -493,8 +478,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_str(struct nlmsghdr *nlh, uint16_t type, + const char *data) { mnl_attr_put(nlh, type, strlen(data), data); } @@ -511,8 +496,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_put_strz(struct nlmsghdr *nlh, uint16_t type, + const char *data) { mnl_attr_put(nlh, type, strlen(data)+1, data); } @@ -526,8 +511,8 @@ 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) +EXPORT_SYMBOL struct nlattr *mnl_attr_nest_start(struct nlmsghdr *nlh, + uint16_t type) { struct nlattr *start = mnl_nlmsg_get_payload_tail(nlh); @@ -552,9 +537,9 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, size_t len, + const void *data) { if (nlh->nlmsg_len + MNL_ATTR_HDRLEN + MNL_ALIGN(len) > buflen) return false; @@ -575,9 +560,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_u8_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, uint8_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint8_t), &data); } @@ -597,9 +581,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_u16_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, uint16_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint16_t), &data); } @@ -619,9 +602,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_u32_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, uint32_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint32_t), &data); } @@ -641,9 +623,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_u64_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, uint64_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint64_t), &data); } @@ -663,9 +644,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_str_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, const char *data) { return mnl_attr_put_check(nlh, buflen, type, strlen(data), data); } @@ -686,9 +666,8 @@ 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) +EXPORT_SYMBOL bool mnl_attr_put_strz_check(struct nlmsghdr *nlh, size_t buflen, + uint16_t type, const char *data) { return mnl_attr_put_check(nlh, buflen, type, strlen(data)+1, data); } @@ -703,9 +682,9 @@ 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) +EXPORT_SYMBOL struct nlattr *mnl_attr_nest_start_check(struct nlmsghdr *nlh, + size_t buflen, + uint16_t type) { if (nlh->nlmsg_len + MNL_ATTR_HDRLEN > buflen) return NULL; @@ -719,8 +698,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_nest_end(struct nlmsghdr *nlh, + struct nlattr *start) { start->nla_len = mnl_nlmsg_get_payload_tail(nlh) - (void *)start; } @@ -732,8 +711,8 @@ 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) +EXPORT_SYMBOL void mnl_attr_nest_cancel(struct nlmsghdr *nlh, + struct nlattr *start) { nlh->nlmsg_len -= mnl_nlmsg_get_payload_tail(nlh) - (void *)start; } -- cgit v1.2.3