Всем привет!
Передо мной стоит задача перевести менеджер сетевых пакетов на слаб
аллокаторы. Задача на первый взгляд не сложная, но что бы убедиться,
что я правильно понимаю, как на данный момент происходит работа с
пакетами и все корректно переделать, я решил сначала попробовать
написать простенький тест для отправки пакета и проследить его
"жизненный путь". В итоге ничерта не получилось. Вот код теста:

#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'
И как с этим бороться понятия не имею. Подскажите, пожалуста, в чем я
дурак.

Ответить