ヘッダーファイルをインクルードした後でも 'sockaddr_in6_t'が宣言されていないエラー

私は大規模なプロジェクトでipv6ハンドリングモジュールの一部であるコードの次の単純な部分を持っています。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(){
  sockaddr_in6_t* pSadrIn6 = (sockaddr_in6_t*) malloc(sizeof sockaddr_in6_t);
  return 0;
}

それは私にエラーではない次を与える:

error: ‘sockaddr_in6_t’ undeclared (first use in this function)

ライブラリにアクセスするために特別なライブラリのインストールやリンクが必要ですか?

0
typedef が足りないかどうかを確認するには、 sockaddr_in6_t * の代わりに struct sockaddr_in6 *
追加された 著者 Seth Carnegie,

1 答え

このコードを Linux IPv6 HOWTO は追加のtypedefをコピーしませんでした:

/*
** Type definitions (for convenience).
*/
typedef enum { false = 0, true } boolean;
typedef struct sockaddr_in       sockaddr_in_t;
typedef struct sockaddr_in6      sockaddr_in6_t;

個人的には( struct の入力を避けるために typedefs の代わりに)型をそのまま使用しますが、

3
追加された
ありがとう、それは本当にばかしい間違いでした。
追加された 著者 Amit S,