Всем привет!
Передо мной стоит задача перевести менеджер сетевых пакетов на слаб
аллокаторы. Задача на первый взгляд не сложная, но что бы убедиться,
что я правильно понимаю, как на данный момент происходит работа с
пакетами и все корректно переделать, я решил сначала попробовать
написать простенький тест для отправки пакета и проследить его
"жизненный путь". В итоге ничерта не получилось. Вот код теста:
#include <stdio.h>
#include <embox/test.h>
#include <net/ip.h>
#include <net/socket.h>
EMBOX_TEST(run);
static int run(void) {
char msg[] = "Hello there!\n";
int sock;
struct sockaddr_in addr;
sock = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(3425);
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
sendto(sock, msg, sizeof(msg), 0,
(struct sockaddr *)&addr, sizeof(addr));
close(sock);
return 0;
}
В иитоге после подключения этого теста и попытки запуска проекта,
лезут ошибки - все они связаны с файлом socket.h. Например на эту
строчку
sock = socket(AF_INET, SOCK_DGRAM, 0);
вылазит соощение:
./build/base/obj/src/tests/skbuff_slab/skbuff_slab.o: In function
`run':
D:\MyProjects\Eclipse\workspace\embox/src/tests/skbuff_slab/
skbuff_slab.c:21: undefined reference to `socket'
И как с этим бороться понятия не имею. Подскажите, пожалуста, в чем я
дурак.