linux-vrfz:/usr/src/nDPI-1.4.0.r7867_v2/ndpi-netfilter # make KERNEL_DIR=/usr/src/linux make -C ipt make[1]: Entering directory `/usr/src/nDPI-1.4.0.r7867_v2/ndpi-netfilter/ipt' cc -fPIC -I../include -I../lib -I../src -DOPENDPI_NETFILTER_MODULE -O2 -Wall -D_INIT=libxt_ndpi_init -c -o libxt_ndpi.o libxt_ndpi.c; libxt_ndpi.c:40:47: warning: ‘struct xt_entry_match’ declared inside parameter list [enabled by default] ndpi_mt4_save(const void *entry, const struct xt_entry_match *match) ^ libxt_ndpi.c:40:47: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] libxt_ndpi.c: In function ‘ndpi_mt4_save’: libxt_ndpi.c:42:57: error: dereferencing pointer to incomplete type const struct xt_ndpi_mtinfo *info = (const void *)match->data; ^ libxt_ndpi.c: At top level: libxt_ndpi.c:60:19: warning: ‘struct xt_entry_match’ declared inside parameter list [enabled by default] int numeric) ^ libxt_ndpi.c: In function ‘ndpi_mt4_print’: libxt_ndpi.c:62:57: error: dereferencing pointer to incomplete type const struct xt_ndpi_mtinfo *info = (const void *)match->data; ^ libxt_ndpi.c: At top level: libxt_ndpi.c:80:45: warning: ‘struct xt_entry_match’ declared inside parameter list [enabled by default] const void *entry, struct xt_entry_match **match) ^ libxt_ndpi.c: In function ‘ndpi_mt4_parse’: libxt_ndpi.c:82:48: error: dereferencing pointer to incomplete type struct xt_ndpi_mtinfo *info = (void *)(*match)->data; ^ libxt_ndpi.c:100:12: error: ‘false’ undeclared (first use in this function) return false; ^ libxt_ndpi.c:100:12: note: each undeclared identifier is reported only once for each function it appears in libxt_ndpi.c:116:32: error: ‘true’ undeclared (first use in this function) return true; ^ libxt_ndpi.c: In function ‘ndpi_mt_check’: libxt_ndpi.c:131:3: warning: implicit declaration of function ‘exit_error’ [-Wimplicit-function-declaration] xtables_error(PARAMETER_PROBLEM, "xt_ndpi: You need to " ^ libxt_ndpi.c:131:17: error: ‘PARAMETER_PROBLEM’ undeclared (first use in this function) xtables_error(PARAMETER_PROBLEM, "xt_ndpi: You need to " ^ libxt_ndpi.c: At top level: libxt_ndpi.c:152:22: warning: ‘struct xt_entry_match’ declared inside parameter list [enabled by default] ndpi_mt_init (struct xt_entry_match *match) ^ libxt_ndpi.c:167:1: error: variable ‘ndpi_mt4_reg’ has initializer but incomplete type ndpi_mt4_reg = { ^ libxt_ndpi.c:168:2: error: unknown field ‘version’ specified in initializer .version = XTABLES_VERSION, ^ libxt_ndpi.c:168:13: error: ‘XTABLES_VERSION’ undeclared here (not in a function) .version = XTABLES_VERSION, ^ libxt_ndpi.c:168:2: warning: excess elements in struct initializer [enabled by default] .version = XTABLES_VERSION, ^ libxt_ndpi.c:168:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:169:2: error: unknown field ‘name’ specified in initializer .name = "ndpi", ^ libxt_ndpi.c:169:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:169:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:170:2: error: unknown field ‘revision’ specified in initializer .revision = 0, ^ libxt_ndpi.c:170:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:170:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:174:2: error: unknown field ‘family’ specified in initializer .family = NFPROTO_IPV4, ^ libxt_ndpi.c:174:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:174:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:176:2: error: unknown field ‘size’ specified in initializer .size = XT_ALIGN(sizeof(struct xt_ndpi_mtinfo)), ^ libxt_ndpi.c:176:2: warning: implicit declaration of function ‘XT_ALIGN’ [-Wimplicit-function-declaration] libxt_ndpi.c:176:33: warning: excess elements in struct initializer [enabled by default] .size = XT_ALIGN(sizeof(struct xt_ndpi_mtinfo)), ^ libxt_ndpi.c:176:33: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:177:2: error: unknown field ‘userspacesize’ specified in initializer .userspacesize = XT_ALIGN(sizeof(struct xt_ndpi_mtinfo)), ^ libxt_ndpi.c:177:42: warning: excess elements in struct initializer [enabled by default] .userspacesize = XT_ALIGN(sizeof(struct xt_ndpi_mtinfo)), ^ libxt_ndpi.c:177:42: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:178:2: error: unknown field ‘help’ specified in initializer .help = ndpi_mt_help, ^ libxt_ndpi.c:178:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:178:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:179:2: error: unknown field ‘init’ specified in initializer .init = ndpi_mt_init, ^ libxt_ndpi.c:179:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:179:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:180:2: error: unknown field ‘parse’ specified in initializer .parse = ndpi_mt4_parse, ^ libxt_ndpi.c:180:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:180:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:181:2: error: unknown field ‘final_check’ specified in initializer .final_check = ndpi_mt_check, ^ libxt_ndpi.c:181:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:181:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:182:2: error: unknown field ‘print’ specified in initializer .print = ndpi_mt4_print, ^ libxt_ndpi.c:182:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:182:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:183:2: error: unknown field ‘save’ specified in initializer .save = ndpi_mt4_save, ^ libxt_ndpi.c:183:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:183:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:184:2: error: unknown field ‘extra_opts’ specified in initializer .extra_opts = ndpi_mt_opts, ^ libxt_ndpi.c:184:2: warning: excess elements in struct initializer [enabled by default] libxt_ndpi.c:184:2: warning: (near initialization for ‘ndpi_mt4_reg’) [enabled by default] libxt_ndpi.c:218:37: error: array type has incomplete element type static const struct xt_option_entry NDPI_opts[] = { ^ libxt_ndpi.c:219:9: error: field name not in record or union initializer {.name = "value", .id = O_SET_VALUE,.type = XTTYPE_MARKMASK32}, ^ libxt_ndpi.c:219:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:219:9: error: field name not in record or union initializer libxt_ndpi.c:219:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:219:9: error: field name not in record or union initializer libxt_ndpi.c:219:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:219:56: error: ‘XTTYPE_MARKMASK32’ undeclared here (not in a function) {.name = "value", .id = O_SET_VALUE,.type = XTTYPE_MARKMASK32}, ^ libxt_ndpi.c:220:9: error: field name not in record or union initializer {.name = "ndpi-id", .id = O_SET_NDPI, .type = XTTYPE_NONE}, ^ libxt_ndpi.c:220:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:220:9: error: field name not in record or union initializer libxt_ndpi.c:220:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:220:9: error: field name not in record or union initializer libxt_ndpi.c:220:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:220:56: error: ‘XTTYPE_NONE’ undeclared here (not in a function) {.name = "ndpi-id", .id = O_SET_NDPI, .type = XTTYPE_NONE}, ^ libxt_ndpi.c:221:9: error: field name not in record or union initializer {.name = "set-mark", .id = O_SET_MARK, .type = XTTYPE_NONE}, ^ libxt_ndpi.c:221:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:221:9: error: field name not in record or union initializer libxt_ndpi.c:221:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:221:9: error: field name not in record or union initializer libxt_ndpi.c:221:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:222:9: error: field name not in record or union initializer {.name = "set-clsf", .id = O_SET_CLSF, .type = XTTYPE_NONE}, ^ libxt_ndpi.c:222:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:222:9: error: field name not in record or union initializer libxt_ndpi.c:222:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:222:9: error: field name not in record or union initializer libxt_ndpi.c:222:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:223:9: error: field name not in record or union initializer {.name = "ret", .id = O_RET, .type = XTTYPE_NONE, .excl = F_ACCEPT}, ^ libxt_ndpi.c:223:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:223:9: error: field name not in record or union initializer libxt_ndpi.c:223:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:223:9: error: field name not in record or union initializer libxt_ndpi.c:223:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:223:9: error: field name not in record or union initializer libxt_ndpi.c:223:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:224:9: error: field name not in record or union initializer {.name = "accept", .id = O_ACCEPT, .type = XTTYPE_NONE, .excl = F_RET}, ^ libxt_ndpi.c:224:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:224:9: error: field name not in record or union initializer libxt_ndpi.c:224:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:224:9: error: field name not in record or union initializer libxt_ndpi.c:224:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:224:9: error: field name not in record or union initializer libxt_ndpi.c:224:9: error: (near initialization for ‘NDPI_opts’) libxt_ndpi.c:225:9: error: ‘XTOPT_TABLEEND’ undeclared here (not in a function) XTOPT_TABLEEND, ^ libxt_ndpi.c:227:34: warning: ‘struct xt_option_call’ declared inside parameter list [enabled by default] static void NDPI_parse_v0(struct xt_option_call *cb) ^ libxt_ndpi.c: In function ‘NDPI_parse_v0’: libxt_ndpi.c:229:45: error: dereferencing pointer to incomplete type struct xt_ndpi_tginfo *markinfo = cb->data; ^ libxt_ndpi.c:231:9: warning: implicit declaration of function ‘xtables_option_parse’ [-Wimplicit-function-declaration] xtables_option_parse(cb); ^ libxt_ndpi.c:232:19: error: dereferencing pointer to incomplete type switch (cb->entry->id) { ^ libxt_ndpi.c:234:36: error: dereferencing pointer to incomplete type markinfo->mark = cb->val.mark; ^ libxt_ndpi.c:235:37: error: dereferencing pointer to incomplete type markinfo->mask = ~cb->val.mask; ^ libxt_ndpi.c:253:31: error: ‘PARAMETER_PROBLEM’ undeclared (first use in this function) xtables_error(PARAMETER_PROBLEM, ^ libxt_ndpi.c:255:30: error: dereferencing pointer to incomplete type cb->entry->name); ^ libxt_ndpi.c: At top level: libxt_ndpi.c:260:40: warning: ‘struct xt_entry_target’ declared inside parameter list [enabled by default] const struct xt_entry_target *target, int numeric) ^ libxt_ndpi.c: In function ‘NDPI_print_v0’: libxt_ndpi.c:263:54: error: dereferencing pointer to incomplete type (const struct xt_ndpi_tginfo *)target->data; ^ libxt_ndpi.c: At top level: libxt_ndpi.c:288:55: warning: ‘struct xt_entry_target’ declared inside parameter list [enabled by default] static void NDPI_save_v0(const void *ip, const struct xt_entry_target *target) ^ libxt_ndpi.c: In function ‘NDPI_save_v0’: libxt_ndpi.c:291:54: error: dereferencing pointer to incomplete type (const struct xt_ndpi_tginfo *)target->data; ^ libxt_ndpi.c: At top level: libxt_ndpi.c:313:31: warning: ‘struct xt_fcheck_call’ declared inside parameter list [enabled by default] static void NDPI_check(struct xt_fcheck_call *cb) ^ libxt_ndpi.c: In function ‘NDPI_check’: libxt_ndpi.c:315:17: error: dereferencing pointer to incomplete type if (!(cb->xflags & (F_SET_VALUE|F_SET_NDPI))) ^ libxt_ndpi.c:316:31: error: ‘PARAMETER_PROBLEM’ undeclared (first use in this function) xtables_error(PARAMETER_PROBLEM, ^ libxt_ndpi.c:318:48: error: dereferencing pointer to incomplete type " is required %x",cb->xflags); ^ libxt_ndpi.c: At top level: libxt_ndpi.c:321:30: error: array type has incomplete element type static struct xtables_target ndpi_tg_reg[] = { ^ libxt_ndpi.c:323:17: error: field name not in record or union initializer .family = NFPROTO_UNSPEC, ^ libxt_ndpi.c:323:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:324:17: error: field name not in record or union initializer .name = "NDPI", ^ libxt_ndpi.c:324:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:325:17: error: field name not in record or union initializer .version = XTABLES_VERSION, ^ libxt_ndpi.c:325:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:326:17: error: field name not in record or union initializer .revision = 0, ^ libxt_ndpi.c:326:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:327:17: error: field name not in record or union initializer .size = XT_ALIGN(sizeof(struct xt_ndpi_tginfo)), ^ libxt_ndpi.c:327:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:328:17: error: field name not in record or union initializer .userspacesize = XT_ALIGN(sizeof(struct xt_ndpi_tginfo)), ^ libxt_ndpi.c:328:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:329:17: error: field name not in record or union initializer .help = NDPI_help, ^ libxt_ndpi.c:329:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:330:17: error: field name not in record or union initializer .print = NDPI_print_v0, ^ libxt_ndpi.c:330:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:331:17: error: field name not in record or union initializer .save = NDPI_save_v0, ^ libxt_ndpi.c:331:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:332:17: error: field name not in record or union initializer .x6_parse = NDPI_parse_v0, ^ libxt_ndpi.c:332:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:333:17: error: field name not in record or union initializer .x6_fcheck = NDPI_check, ^ libxt_ndpi.c:333:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c:334:17: error: field name not in record or union initializer .x6_options = NDPI_opts, ^ libxt_ndpi.c:334:17: error: (near initialization for ‘ndpi_tg_reg’) libxt_ndpi.c: In function ‘_init’: libxt_ndpi.c:358:2: warning: implicit declaration of function ‘xtables_register_match’ [-Wimplicit-function-declaration] xtables_register_match(&ndpi_mt4_reg); ^ libxt_ndpi.c:359:2: warning: implicit declaration of function ‘xtables_register_targets’ [-Wimplicit-function-declaration] xtables_register_targets(ndpi_tg_reg, ARRAY_SIZE(ndpi_tg_reg)); ^ libxt_ndpi.c: At top level: libxt_ndpi.c:218:37: warning: ‘NDPI_opts’ defined but not used [-Wunused-variable] static const struct xt_option_entry NDPI_opts[] = { ^ libxt_ndpi.c:321:30: warning: ‘ndpi_tg_reg’ defined but not used [-Wunused-variable] static struct xtables_target ndpi_tg_reg[] = { ^ make[1]: *** [libxt_ndpi.o] Error 1 make[1]: Leaving directory `/usr/src/nDPI-1.4.0.r7867_v2/ndpi-netfilter/ipt' make: *** [all] Error 2