Debian Etch
にインストールされているソケットオプションを使用してTCP接続のMTUを読み取ろうとしています(かなり古いですが、現在のところ変更することはできません)。IP_MTU
man 7 ip
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
[CUT]
IP_MTU Retrieve the current known path MTU of the current socket.
Only valid when the socket has been connected. Returns an integer.
Only valid as a getsockopt(2).
問題は、上記のソケットオプションが、マニュアルページで指定されたインクルードファイルのいずれにも存在しないことです。(したがって、私のコードはコンパイルされていません;))
代わりに<linux/in.h>
(grep
あなたの友達です)で定義されていることがわかりました。ソースコードに
追加しようとする<linux/in.h>
と、あらゆる種類の複数の定義/再宣言のコンパイルエラーが発生します。上記のパラメータがヘッダーにない理由と問題を解決する方法を知っている人はいますか?
セルジオ
に感謝します