gluon-status-page-mesh-batman-adv: fix c indentation

This commit is contained in:
Jan-Niklas Burfeind 2023-01-03 16:10:13 +01:00
parent 051c74b987
commit 10613b9e52

View File

@ -10,116 +10,116 @@
#define XSTR(x) STR(x) #define XSTR(x) STR(x)
struct neigh_netlink_opts { struct neigh_netlink_opts {
struct json_object *obj; struct json_object *obj;
struct batadv_nlquery_opts query_opts; struct batadv_nlquery_opts query_opts;
}; };
static const enum batadv_nl_attrs parse_orig_list_mandatory[] = { static const enum batadv_nl_attrs parse_orig_list_mandatory[] = {
BATADV_ATTR_ORIG_ADDRESS, BATADV_ATTR_ORIG_ADDRESS,
BATADV_ATTR_NEIGH_ADDRESS, BATADV_ATTR_NEIGH_ADDRESS,
BATADV_ATTR_TQ, BATADV_ATTR_TQ,
BATADV_ATTR_HARD_IFINDEX, BATADV_ATTR_HARD_IFINDEX,
BATADV_ATTR_LAST_SEEN_MSECS, BATADV_ATTR_LAST_SEEN_MSECS,
}; };
static int parse_orig_list_netlink_cb(struct nl_msg *msg, void *arg) static int parse_orig_list_netlink_cb(struct nl_msg *msg, void *arg)
{ {
struct nlattr *attrs[BATADV_ATTR_MAX+1]; struct nlattr *attrs[BATADV_ATTR_MAX+1];
struct nlmsghdr *nlh = nlmsg_hdr(msg); struct nlmsghdr *nlh = nlmsg_hdr(msg);
struct batadv_nlquery_opts *query_opts = arg; struct batadv_nlquery_opts *query_opts = arg;
struct genlmsghdr *ghdr; struct genlmsghdr *ghdr;
uint8_t *orig; uint8_t *orig;
uint8_t *dest; uint8_t *dest;
uint8_t tq; uint8_t tq;
uint32_t hardif; uint32_t hardif;
char ifname_buf[IF_NAMESIZE], *ifname; char ifname_buf[IF_NAMESIZE], *ifname;
struct neigh_netlink_opts *opts; struct neigh_netlink_opts *opts;
char mac1[18]; char mac1[18];
opts = batadv_container_of(query_opts, struct neigh_netlink_opts, query_opts); opts = batadv_container_of(query_opts, struct neigh_netlink_opts, query_opts);
if (!genlmsg_valid_hdr(nlh, 0)) if (!genlmsg_valid_hdr(nlh, 0))
return NL_OK; return NL_OK;
ghdr = nlmsg_data(nlh); ghdr = nlmsg_data(nlh);
if (ghdr->cmd != BATADV_CMD_GET_ORIGINATORS) if (ghdr->cmd != BATADV_CMD_GET_ORIGINATORS)
return NL_OK; return NL_OK;
if (nla_parse(attrs, BATADV_ATTR_MAX, genlmsg_attrdata(ghdr, 0), if (nla_parse(attrs, BATADV_ATTR_MAX, genlmsg_attrdata(ghdr, 0),
genlmsg_len(ghdr), batadv_genl_policy)) genlmsg_len(ghdr), batadv_genl_policy))
return NL_OK; return NL_OK;
if (batadv_genl_missing_attrs(attrs, parse_orig_list_mandatory, if (batadv_genl_missing_attrs(attrs, parse_orig_list_mandatory,
BATADV_ARRAY_SIZE(parse_orig_list_mandatory))) BATADV_ARRAY_SIZE(parse_orig_list_mandatory)))
return NL_OK; return NL_OK;
orig = nla_data(attrs[BATADV_ATTR_ORIG_ADDRESS]); orig = nla_data(attrs[BATADV_ATTR_ORIG_ADDRESS]);
dest = nla_data(attrs[BATADV_ATTR_NEIGH_ADDRESS]); dest = nla_data(attrs[BATADV_ATTR_NEIGH_ADDRESS]);
tq = nla_get_u8(attrs[BATADV_ATTR_TQ]); tq = nla_get_u8(attrs[BATADV_ATTR_TQ]);
hardif = nla_get_u32(attrs[BATADV_ATTR_HARD_IFINDEX]); hardif = nla_get_u32(attrs[BATADV_ATTR_HARD_IFINDEX]);
if (memcmp(orig, dest, 6) != 0) if (memcmp(orig, dest, 6) != 0)
return NL_OK; return NL_OK;
ifname = if_indextoname(hardif, ifname_buf); ifname = if_indextoname(hardif, ifname_buf);
if (!ifname) if (!ifname)
return NL_OK; return NL_OK;
sprintf(mac1, "%02x:%02x:%02x:%02x:%02x:%02x", sprintf(mac1, "%02x:%02x:%02x:%02x:%02x:%02x",
orig[0], orig[1], orig[2], orig[3], orig[4], orig[5]); orig[0], orig[1], orig[2], orig[3], orig[4], orig[5]);
struct json_object *neigh = json_object_new_object(); struct json_object *neigh = json_object_new_object();
if (!neigh) if (!neigh)
return NL_OK; return NL_OK;
json_object_object_add(neigh, "tq", json_object_new_int(tq * 100 / 255)); json_object_object_add(neigh, "tq", json_object_new_int(tq * 100 / 255));
json_object_object_add(neigh, "ifname", json_object_new_string(ifname)); json_object_object_add(neigh, "ifname", json_object_new_string(ifname));
json_object_object_add(neigh, "best", json_object_new_boolean(attrs[BATADV_ATTR_FLAG_BEST])); json_object_object_add(neigh, "best", json_object_new_boolean(attrs[BATADV_ATTR_FLAG_BEST]));
json_object_object_add(opts->obj, mac1, neigh); json_object_object_add(opts->obj, mac1, neigh);
return NL_OK; return NL_OK;
} }
static json_object *neighbours(void) { static json_object *neighbours(void) {
struct neigh_netlink_opts opts = { struct neigh_netlink_opts opts = {
.query_opts = { .query_opts = {
.err = 0, .err = 0,
}, },
}; };
int ret; int ret;
opts.obj = json_object_new_object(); opts.obj = json_object_new_object();
if (!opts.obj) if (!opts.obj)
return NULL; return NULL;
ret = batadv_genl_query("bat0", BATADV_CMD_GET_ORIGINATORS, ret = batadv_genl_query("bat0", BATADV_CMD_GET_ORIGINATORS,
parse_orig_list_netlink_cb, NLM_F_DUMP, parse_orig_list_netlink_cb, NLM_F_DUMP,
&opts.query_opts); &opts.query_opts);
if (ret < 0) { if (ret < 0) {
json_object_put(opts.obj); json_object_put(opts.obj);
return NULL; return NULL;
} }
return opts.obj; return opts.obj;
} }
int main(void) { int main(void) {
struct json_object *obj; struct json_object *obj;
printf("Content-type: text/event-stream\n\n"); printf("Content-type: text/event-stream\n\n");
fflush(stdout); fflush(stdout);
while (1) { while (1) {
obj = neighbours(); obj = neighbours();
if (obj) { if (obj) {
printf("data: %s\n\n", json_object_to_json_string_ext(obj, JSON_C_TO_STRING_PLAIN)); printf("data: %s\n\n", json_object_to_json_string_ext(obj, JSON_C_TO_STRING_PLAIN));
fflush(stdout); fflush(stdout);
json_object_put(obj); json_object_put(obj);
} }
sleep(10); sleep(10);
} }
return 0; return 0;
} }