2016-06-30 1 views
0

データが到着したインターフェイスのifindexを受け取りたいとします。私はこの目的のために補助データを使用しています。 私は私のプログラムをコンパイルするとき、私はexplained hereとして補助データ: 'IP_RECVIF'は宣言されていません(この関数では最初に使用されます)

src/igmp_pkt_reciever.c:49:21: error: ‘IP_RECVIF’ undeclared (first use in this function) 

を取得し、定数はsys/socket.hで定義する必要があります。私はこのヘッダファイルをインクルードしましたが、コンパイルエラーが表示されています。誰でも助けてもらえますか?

+0

このWebサイトはSolarisのマニュアルであり、Linuxではありません。 – Barmar

答えて

1

IP_RECVIFはLinuxソケットオプションではありません。リンク先のドキュメントは、OracleのSolarisドキュメントです。 Linux socket(7)

からいくつかの他のBSDソケットの実装は、宛先アドレスと受信データグラムの インターフェイスを取得するためにIP_RCVDSTADDRIP_RECVIFソケットオプションを提供します。同じタスクでは、Linuxの方が一般的です。 IP_PKTINFOです。

代わりにIP_PKTINFOを使用する必要があります。上記のWebページには、その使用方法の詳細が記載されています。

+0

ありがとう、それは働いた。 –

関連する問題