[netfilter-cvslog] r4484 - in trunk/libnetfilter_queue:
include/libnetfilter_queue src
laforge at netfilter.org
laforge at netfilter.org
Sun Nov 6 10:58:04 CET 2005
Author: laforge at netfilter.org
Date: 2005-11-06 10:58:03 +0100 (Sun, 06 Nov 2005)
New Revision: 4484
Modified:
trunk/libnetfilter_queue/include/libnetfilter_queue/libnetfilter_queue.h
trunk/libnetfilter_queue/src/libnetfilter_queue.c
Log:
fix nfq_get_timestamp() to use struct timeval and be endian correct
Modified: trunk/libnetfilter_queue/include/libnetfilter_queue/libnetfilter_queue.h
===================================================================
--- trunk/libnetfilter_queue/include/libnetfilter_queue/libnetfilter_queue.h 2005-11-06 03:48:23 UTC (rev 4483)
+++ trunk/libnetfilter_queue/include/libnetfilter_queue/libnetfilter_queue.h 2005-11-06 09:58:03 UTC (rev 4484)
@@ -68,8 +68,7 @@
extern u_int32_t nfq_get_nfmark(struct nfq_data *nfad);
-extern struct nfq_msg_packet_timestamp *
- nfq_get_timestamp(struct nfq_data *nfad);
+extern int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv);
/* return 0 if not set */
extern u_int32_t nfq_get_indev(struct nfq_data *nfad);
Modified: trunk/libnetfilter_queue/src/libnetfilter_queue.c
===================================================================
--- trunk/libnetfilter_queue/src/libnetfilter_queue.c 2005-11-06 03:48:23 UTC (rev 4483)
+++ trunk/libnetfilter_queue/src/libnetfilter_queue.c 2005-11-06 09:58:03 UTC (rev 4484)
@@ -335,10 +335,18 @@
return ntohl(nfnl_get_data(nfad->data, NFQA_MARK, u_int32_t));
}
-struct nfq_msg_packet_timestamp *nfq_get_timestamp(struct nfq_data *nfad)
+int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv)
{
- return nfnl_get_pointer_to_data(nfad->data, NFQA_TIMESTAMP,
- struct nfq_msg_packet_timestamp);
+ struct nfqnl_msg_packet_timestamp *qpt;
+ qpt = nfnl_get_pointer_to_data(nfad->data, NFQA_TIMESTAMP,
+ struct nfqnl_msg_packet_timestamp);
+ if (!qpt)
+ return -1;
+
+ tv->tv_sec = __be64_to_cpu(qpt->sec);
+ tv->tv_usec = __be64_to_cpu(qpt->usec);
+
+ return 0;
}
/* all nfq_get_*dev() functions return 0 if not set, since linux only allows
More information about the netfilter-cvslog
mailing list