#!/usr/bin/perl use strict; use warnings; use ExtUtils::H2PM 0.03; module "Linux::SocketFilter"; use_export_ok; include "linux/types.h"; include "linux/filter.h"; include "sys/socket.h"; constant "SO_ATTACH_FILTER"; constant "SO_DETACH_FILTER"; structure "struct sock_filter", members => [ map { $_ => member_numeric } qw( code jt jf k ), ]; constant "BPF_$_" for qw( LD LDX ST STX ALU JMP RET MISC W H B IMM ABS IND MEM LEN MSH ADD SUB MUL DIV OR AND LSH RSH NEG JA JEQ JGT JGE JSET K X A TAX TXA ); constant "SKF_AD_$_" for qw( OFF PROTOCOL PKTTYPE IFINDEX ); constant "SKF_NET_OFF"; constant "SKF_LL_OFF"; write_output $ARGV[0];