Здесь нужно скопировать данные из файла enter_data и передать их функции insert (ключ, ключи), но я получаю ошибку сегментации и, более того, я не могу прочитать данные из файла
здесь классификатор является структурой, а packet_filter имеет структуру ip и udp, в которой я хочу ввести адрес src и dst ip и номер порта src и dst
struct classifier
{
int key_node;
struct packet_filter pktFltr;
struct classifier *next;
}__attribute__((packed));
void addrule(struct classifier keys)
{
int key;
FILE *fp;
fp = fopen("enter_data","r");
fread(&keys, sizeof (struct classifier), 3, fp);
insert(key,keys);
fclose(fp);
}
file: enter_data
key = 822;
keys.key_node = 822;
inet_aton("172.28.6.137", &(keys.pktFltr.ip.ip_src));
inet_aton("172.28.6.10",&(keys.pktFltr.ip.ip_dst));
keys.pktFltr.protocol.proto.uh_sport = ntohs(1032);
keys.pktFltr.protocol.proto.uh_dport = ntohs(5000);
keys.next = NULL;
key = 522 ;
keys.key_node = 522;
inet_aton("172.28.6.87", &(keys.pktFltr.ip.ip_src));
inet_aton("172.28.6.110",&(keys.pktFltr.ip.ip_dst));
keys.pktFltr.protocol.proto.uh_sport = ntohs(1032);
keys.pktFltr.protocol.proto.uh_dport = ntohs(5010);
keys.next = NULL;
key = 522 ;
keys.key_node = 522;
inet_aton("172.28.6.87", &(keys.pktFltr.ip.ip_src));
inet_aton("172.28.6.110",&(keys.pktFltr.ip.ip_dst));
keys.pktFltr.protocol.proto.uh_sport = ntohs(1032);
keys.pktFltr.protocol.proto.uh_dport = ntohs(5011);
keys.next = NULL;