5 #include <sys/socket.h>
8 static int get_set_getsockopt(void *data, size_t * size)
11 sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
13 exit_error(OTHER_PROBLEM,
14 "Can't open socket to ipset.\n");
16 return getsockopt(sockfd, SOL_IP, SO_IP_SET, data, size);
20 parse_bindings(const char *optarg, struct ipt_set_info *info)
22 char *saved = strdup(optarg);
23 char *ptr, *tmp = saved;
26 while (i < IP_SET_MAX_BINDINGS && tmp != NULL) {
27 ptr = strsep(&tmp, ",");
28 if (strncmp(ptr, "src", 3) == 0)
29 info->flags[i++] |= IPSET_SRC;
30 else if (strncmp(ptr, "dst", 3) == 0)
31 info->flags[i++] |= IPSET_DST;
33 exit_error(PARAMETER_PROBLEM,
34 "You must spefify (the comma separated list of) 'src' or 'dst'.");
38 exit_error(PARAMETER_PROBLEM,
39 "Can't follow bindings deeper than %i.",
45 #endif /*_LIBIPT_SET_H*/