Является ли структура данных union sockunion
только для FreeBSD или она также действительна для Linux? Если это только для FreeBSD, то что эквивалентно в Linux? Спасибо!
Является ли объединение структур данных sockunion только для FreeBSD или также для Linux?
Ответы (1)
Во FreeBSD он также не представлен в /usr/include, хотя и существует во внутреннем исходном коде libc.
Некоторое другое программное обеспечение, такое как Zebra, также поставляет его.
Как вы наткнулись на это?
person
marcolz
schedule
21.01.2016
некоторые разработали приложение для FreeBSD, и мне нужно, чтобы оно работало на Linux. Спасибо!
- person Pheonix7; 21.01.2016
@Pheonix7: А объединение sockunion не определено в исходном коде приложения?
- person marcolz; 21.01.2016
да, это определяется как: union sockunion { struct sockaddr sa; структура sockaddr_in грех; структура sockaddr_in6 sin6; структура sockaddr_storage сс; }; Могу ли я использовать это, поскольку это iin linux?
- person Pheonix7; 21.01.2016
Я проверил запуск этого приложения в своей системе Linux, и кажется, что sockunion работает. Во время отладки я вижу правильные значения адреса. Как это возможно? Означает ли это, что я могу оставить его, и он будет работать. Учтите, что позади много кода, и если бы мне пришлось его изменить, я бы знал, с чего начать. ценить это
- person Pheonix7; 21.01.2016
@ Pheonix7: Да, если объединение определено в вашем исходном коде, вы сможете использовать его как есть. Это возможно, потому что все структуры, из которых он состоит, существуют как в Linux, так и во FreeBSD.
- person marcolz; 21.01.2016