{
int ret, len = size, offset = 0;
- ret = snprintf(buf, size,
+ ret = snprintf(buf, len,
"{ \"chain\": {"
"\"name\": \"%s\","
"\"handle\": %"PRIu64","
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (c->flags & (1 << NFT_CHAIN_ATTR_HOOKNUM)) {
- ret = snprintf(buf+offset, size,
+ ret = snprintf(buf+offset, len,
",\"type\": \"%s\","
"\"hooknum\": \"%s\","
"\"prio\": %d,"
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size,
- "}"
- "}");
+ ret = snprintf(buf+offset, len, "}}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;
{
int ret, len = size, offset = 0;
- ret = snprintf(buf, size, "<chain><name>%s</name>"
+ ret = snprintf(buf, len, "<chain><name>%s</name>"
"<handle>%"PRIu64"</handle><bytes>%"PRIu64"</bytes>"
"<packets>%"PRIu64"</packets><table>%s</table>",
c->name, c->handle, c->bytes, c->packets, c->table);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (c->flags & (1 << NFT_CHAIN_ATTR_HOOKNUM)) {
- ret = snprintf(buf+offset, size,
+ ret = snprintf(buf+offset, len,
"<type>%s</type>"
"<hooknum>%s</hooknum>"
"<prio>%d</prio>"
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size, "<family>%s</family></chain>",
+ ret = snprintf(buf+offset, len, "<family>%s</family></chain>",
nft_family2str(c->family));
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
{
int ret, len = size, offset = 0;
- ret = snprintf(buf, size, "%s %s %s",
- nft_family2str(c->family), c->table, c->name);
+ ret = snprintf(buf, len, "%s %s %s",
+ nft_family2str(c->family), c->table, c->name);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (c->flags & (1 << NFT_CHAIN_ATTR_HOOKNUM)) {
- ret = snprintf(buf+offset, size,
+ ret = snprintf(buf+offset, len,
" type %s hook %s prio %d policy %s use %d "
"packets %"PRIu64" bytes %"PRIu64"",
c->type, nft_hooknum2str(c->family, c->hooknum),
int ret, len = size, offset = 0;
struct nft_expr_ct *ct = nft_expr_data(e);
- ret = snprintf(buf, size, "\"dreg\" : %u", ct->dreg);
+ ret = snprintf(buf, len, "\"dreg\" : %u", ct->dreg);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (e->flags & (1 << NFT_EXPR_CT_KEY)) {
- ret = snprintf(buf+offset, size, ", \"key\" : \"%s\"",
+ ret = snprintf(buf+offset, len, ", \"key\" : \"%s\"",
ctkey2str(ct->key));
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
if (e->flags & (1 << NFT_EXPR_CT_DIR)) {
- ret = snprintf(buf+offset, size, ", \"dir\" : %u", ct->dir);
+ ret = snprintf(buf+offset, len, ", \"dir\" : %u", ct->dir);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
int ret, len = size, offset = 0;
struct nft_rule_expr *expr;
- ret = snprintf(buf, size,
+ ret = snprintf(buf, len,
"{ \"rule\": { \"family\" : \"%s\", \"table\" : \"%s\", "
"\"chain\" : \"%s\", \"handle\" : %llu,",
nft_family2str(r->family), r->table, r->chain,
int ret, len = size, offset = 0;
struct nft_rule_expr *expr;
- ret = snprintf(buf, size, "<rule><family>%s</family>"
+ ret = snprintf(buf, len, "<rule><family>%s</family>"
"<table>%s</table><chain>%s</chain>"
"<handle>%llu</handle><flags>%u</flags>",
nft_family2str(r->family), r->table, r->chain,
"<expr type=\"%s\">", expr->ops->name);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = nft_rule_expr_snprintf(buf+offset, size, expr, type, flags);
+ ret = nft_rule_expr_snprintf(buf+offset, len, expr,
+ type, flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = snprintf(buf+offset, len, "</expr>");
struct nft_rule_expr *expr;
int ret, len = size, offset = 0;
- ret = snprintf(buf, size, "%s %s %s %"PRIu64" %"PRIu64"\n",
+ ret = snprintf(buf, len, "%s %s %s %"PRIu64" %"PRIu64"\n",
nft_family2str(r->family), r->table, r->chain,
r->handle, r->position);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = snprintf(buf+offset, len, " [ %s ", expr->ops->name);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = nft_rule_expr_snprintf(buf+offset, size, expr, type, flags);
+ ret = nft_rule_expr_snprintf(buf+offset, len, expr,
+ type, flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = snprintf(buf+offset, len, "]\n");
int len = size, offset = 0, ret;
struct nft_set_elem *elem;
- ret = snprintf(buf, size, "{ \"set\": { \"name\": \"%s\","
+ ret = snprintf(buf, len, "{ \"set\": { \"name\": \"%s\","
"\"table\": \"%s\","
"\"flags\": %u,\"family\": \"%s\","
"\"key_type\": %u,\"key_len\": %u",
if(s->flags & (1 << NFT_SET_ATTR_DATA_TYPE) &&
s->flags & (1 << NFT_SET_ATTR_DATA_LEN)){
- ret = snprintf(buf+offset, size,
+ ret = snprintf(buf+offset, len,
",\"data_type\": %u,\"data_len\": %u",
s->data_type, s->data_len);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
/* Empty set? Skip printinf of elements */
if (list_empty(&s->element_list)){
- ret = snprintf(buf+offset, size, "}}");
+ ret = snprintf(buf+offset, len, "}}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;
}
- ret = snprintf(buf+offset, size, ",\"set_elem\": [");
+ ret = snprintf(buf+offset, len, ",\"set_elem\": [");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
list_for_each_entry(elem, &s->element_list, head) {
- ret = snprintf(buf+offset, size, "{");
+ ret = snprintf(buf+offset, len, "{");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = nft_set_elem_snprintf(buf+offset, size, elem, type, flags);
+ ret = nft_set_elem_snprintf(buf+offset, len, elem, type, flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, "}, ");
+ ret = snprintf(buf+offset, len, "}, ");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset-2, size, "]}}");
+ ret = snprintf(buf+offset, len, "]}}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;
int len = size, offset = 0;
struct nft_set_elem *elem;
- ret = snprintf(buf, size, "%s %s %x",
+ ret = snprintf(buf, len, "%s %s %x",
s->name, s->table, s->set_flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (list_empty(&s->element_list))
return offset;
- ret = snprintf(buf+offset, size, "\n");
+ ret = snprintf(buf+offset, len, "\n");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
list_for_each_entry(elem, &s->element_list, head) {
- ret = snprintf(buf+offset, size, "\t");
+ ret = snprintf(buf+offset, len, "\t");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = nft_set_elem_snprintf(buf+offset, size, elem, type, flags);
+ ret = nft_set_elem_snprintf(buf+offset, len, elem, type, flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
int len = size, offset = 0;
struct nft_set_elem *elem;
- ret = snprintf(buf, size, "<set><family>%s</family>"
+ ret = snprintf(buf, len, "<set><family>%s</family>"
"<table>%s</table>"
"<name>%s</name>"
"<flags>%u</flags>"
if (!list_empty(&s->element_list)) {
list_for_each_entry(elem, &s->element_list, head) {
- ret = nft_set_elem_snprintf(buf+offset, size, elem,
+ ret = nft_set_elem_snprintf(buf+offset, len, elem,
NFT_SET_O_XML, flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
}
- ret = snprintf(buf+offset, size, "</set>");
+ ret = snprintf(buf+offset, len, "</set>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;
{
int ret, len = size, offset = 0, type = -1;
- ret = snprintf(buf, size, "\"flags\": %u", e->set_elem_flags);
+ ret = snprintf(buf, len, "\"flags\": %u", e->set_elem_flags);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, ",\"key\": {");
+ ret = snprintf(buf+offset, len, ",\"key\": {");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = nft_data_reg_snprintf(buf+offset, len, &e->key,
NFT_RULE_O_JSON, flags, DATA_VALUE);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, "}");
+ ret = snprintf(buf+offset, len, "}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (e->flags & (1 << NFT_SET_ELEM_ATTR_DATA))
type = DATA_VERDICT;
if (type != -1) {
- ret = snprintf(buf+offset, size, ",\"data\": {");
+ ret = snprintf(buf+offset, len, ",\"data\": {");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = nft_data_reg_snprintf(buf+offset, len, &e->data,
NFT_RULE_O_JSON, flags, type);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, "}");
+ ret = snprintf(buf+offset, len, "}");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
{
int ret, len = size, offset = 0, i;
- ret = snprintf(buf, size, "element ");
+ ret = snprintf(buf, len, "element ");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(e->key.len, sizeof(uint32_t)); i++) {
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size, " : ");
+ ret = snprintf(buf+offset, len, " : ");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(e->data.len, sizeof(uint32_t)); i++) {
NFT_RULE_O_XML, flags, DATA_VALUE);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, "</key>");
+ ret = snprintf(buf+offset, len, "</key>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
if (e->flags & (1 << NFT_SET_ELEM_ATTR_DATA))
type = DATA_VERDICT;
if (type != DATA_NONE) {
- ret = snprintf(buf+offset, size, "<data>");
+ ret = snprintf(buf+offset, len, "<data>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
ret = nft_data_reg_snprintf(buf+offset, len, &e->data,
NFT_RULE_O_XML, flags, type);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, size, "</data>");
+ ret = snprintf(buf+offset, len, "</data>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
- ret = snprintf(buf+offset, size, "</set_elem>");
+ ret = snprintf(buf+offset, len, "</set_elem>");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
return offset;