extern struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad);
-/* return 0 if problem */
-extern int nfq_get_payload(struct nfq_data *nfad,
- char ** data, unsigned int* datalen);
+/* return -1 if problem, length otherwise */
+extern int nfq_get_payload(struct nfq_data *nfad, char **data);
struct nfqnl_msg_packet_hw);
}
-int nfq_get_payload(struct nfq_data *nfad, char **data,
- unsigned int *datalen)
+int nfq_get_payload(struct nfq_data *nfad, char **data)
{
*data = nfnl_get_pointer_to_data(nfad->data, NFQA_PAYLOAD, char);
- if (*data) {
- *datalen = NFA_PAYLOAD(nfad->data[NFQA_PAYLOAD-1]);
- return 1;
- }
- return 0;
+ if (*data)
+ return NFA_PAYLOAD(nfad->data[NFQA_PAYLOAD-1]);
+
+ return -1;
}
struct nfqnl_msg_packet_hdr *ph;
u_int32_t mark,ifi;
int ret;
- unsigned int datalength;
- char * data;
+ char *data;
ph = nfq_get_msg_packet_hdr(tb);
if (ph){
if (ifi)
printf("outdev=%u ", ifi);
- ret = nfq_get_payload(tb, &data, &datalength);
- if (ret)
- printf("payload_len=%d ", datalength);
+ ret = nfq_get_payload(tb, &data);
+ if (ret >= 0)
+ printf("payload_len=%d ", ret);
fputc('\n', stdout);