LINUX.ORG.RU

Ребят, помогите!!!


0

0

Фишка такая: тот самый trafd... Он ведь, с*ка, для OpenBSD писан. В связи с чем при попытке откомпилировать его для Linux'а возникают ошибки типа "не тот" .h файл цепляет. Например, яркая картиночка:
если ему дать "#include <time.h>" - компилер ругается, что неправильно куча всего; а на "#include <sys/time.h>" - радостно компилирует.

Теперь наткнулся вот на что: в OpenBSD у структуры ifr_addr (файл if.h) есть поле sa_len, а вот у Linux'а этого поля нет. Ни в <if.h>, ни в <linux/if.h>.


Есть 2 идеи.
1. Намыть "родной" if.h от OpenBSD.
2. Скопировать имеющийся if.h в (кажем) if1.h и поменять ему для ifr_addr тип структуры с sockaddr на что-то аналогичное, у чего есть поле sa_len.

Чем это чревато?

R00T
() автор топика

попробуй - узнаешь.

anonymous
()

Вот оно... SysV vs BSD...
Это не OpenBSD, это BSD 4.4

Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.