summaryrefslogtreecommitdiffstats
path: root/examples/nfacct-add.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2011-10-17 00:19:41 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2011-10-17 00:19:41 +0200
commit47ab85f4c36c713f66bd909d76295f81867b9982 (patch)
treef92a62b65de60686e5d79cd26ed4e88e56d31e79 /examples/nfacct-add.c
parent1c8a0cdeab6b1a86e9e12587089bfa6d36ae1aae (diff)
src: improve nfacct-add example
Now it takes the name of the accouting zone as argument.
Diffstat (limited to 'examples/nfacct-add.c')
-rw-r--r--examples/nfacct-add.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/nfacct-add.c b/examples/nfacct-add.c
index df3175e..8132ade 100644
--- a/examples/nfacct-add.c
+++ b/examples/nfacct-add.c
@@ -1,21 +1,25 @@
#include <stdlib.h>
#include <time.h>
+#include <string.h>
#include <libmnl/libmnl.h>
#include <libnetfilter_acct/libnetfilter_acct.h>
-int main(void)
+int main(int argc, char *argv[])
{
struct mnl_socket *nl;
char buf[MNL_SOCKET_BUFFER_SIZE];
struct nlmsghdr *nlh;
uint32_t portid, seq;
- struct nfacct nfacct = {
- .name = "example",
- .pkts = 10,
- .bytes = 10,
- };
+ struct nfacct nfacct;
int ret;
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s [name]\n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ strncpy(nfacct.name, argv[1], NFACCT_NAME_MAX);
+ nfacct.name[NFACCT_NAME_MAX-1] = '\0';
+
nlh = nfacct_add(buf, &nfacct);
seq = nlh->nlmsg_seq = time(NULL);