diff options
-rw-r--r-- | include/libnetfilter_queue/libnetfilter_queue.h | 9 | ||||
-rw-r--r-- | src/libnetfilter_queue.c | 28 |
2 files changed, 37 insertions, 0 deletions
diff --git a/include/libnetfilter_queue/libnetfilter_queue.h b/include/libnetfilter_queue/libnetfilter_queue.h index e6a8991..6695c3d 100644 --- a/include/libnetfilter_queue/libnetfilter_queue.h +++ b/include/libnetfilter_queue/libnetfilter_queue.h @@ -80,6 +80,15 @@ extern u_int32_t nfq_get_physindev(struct nfq_data *nfad); extern u_int32_t nfq_get_outdev(struct nfq_data *nfad); extern u_int32_t nfq_get_physoutdev(struct nfq_data *nfad); +extern int nfq_get_indev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name); +extern int nfq_get_physindev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name); +extern int nfq_get_outdev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name); +extern int nfq_get_physoutdev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name); + extern struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad); /* return -1 if problem, length otherwise */ diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c index c7bce9e..ef638d6 100644 --- a/src/libnetfilter_queue.c +++ b/src/libnetfilter_queue.c @@ -419,6 +419,34 @@ u_int32_t nfq_get_physoutdev(struct nfq_data *nfad) return ntohl(nfnl_get_data(nfad->data, NFQA_IFINDEX_PHYSOUTDEV, u_int32_t)); } +int nfq_get_indev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name) +{ + u_int32_t ifindex = nfq_get_indev(nfad); + return nlif_index2name(nlif_handle, ifindex, name); +} + +int nfq_get_physindev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name) +{ + u_int32_t ifindex = nfq_get_physindev(nfad); + return nlif_index2name(nlif_handle, ifindex, name); +} + +int nfq_get_outdev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name) +{ + u_int32_t ifindex = nfq_get_outdev(nfad); + return nlif_index2name(nlif_handle, ifindex, name); +} + +int nfq_get_physoutdev_name(struct nlif_handle *nlif_handle, + struct nfq_data *nfad, char *name) +{ + u_int32_t ifindex = nfq_get_physoutdev(nfad); + return nlif_index2name(nlif_handle, ifindex, name); +} + struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad) { return nfnl_get_pointer_to_data(nfad->data, NFQA_HWADDR, |