struct ifaddr
имеет неполный тип, что означает, что код будет скомпилирован, но если вы отмените указатель на struct iface
или выполните любые другие задания, это даст ошибку. Как было сказано ранее, struct iface
хранится в основной структуре только по причинам, связанным с наследием.
struct ifaddr
{
struct sockaddr ifa_addr; /* Address of interface. */
union
{
struct sockaddr ifu_broadaddr;
struct sockaddr ifu_dstaddr;
} ifa_ifu;
struct iface *ifa_ifp; /* Back-pointer to interface. */
struct manav p[8];
struct ifaddr *ifa_next; /* Next address for interface. */
};
Смотрите также: заголовок dereferencing pointer to incomplete type
iface.h находится в FREEBSD only..not в Linux ?? Не могли бы вы рассказать мне путь iface.h в Linux? – getz