sctpのソケットを作成してから、sctp_opt_info()を使用してソケットオプション情報を取得しようとしています。
特定のソケットを正常に作成できましたが、ソケットオプションの取得時に、エラーを示す-1として値を取得しています。エラーは、sctp_opt_info()の無効な引数が原因です。
誰かが私に何が悪いのか教えてもらえますか?この呼び出しで0ではなく-1を取得するのはなぜですか(成功インジケーター)
int socket_desc;
struct sockaddr_in sin[1];
unsigned int len;
int val1,val2;
char s[100];
struct sctp_rtoinfo {
sctp_assoc_t srto_assoc_id;
uint32_t srto_initial;
uint32_t srto_max;
uint32_t srto_min;
}rto;
socket_desc=socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
if (socket_desc==-1)
printf("Socket Fail");
val1 = sctp_opt_info(socket_desc,IPPROTO_SCTP,SCTP_RTOINFO,&rto,&len);
printf("Erro : %d, \n", errno );
perror(s);
printf("Status opt info: %d\n",val1);
val1の値を-1として取得していますが、これは問題があることを示しています。恐怖は、sctp_opt_info()の無効な引数を示しています。私の推測では、この関数の引数2ですが、確かではありません。
どんな助けでもありがたいです。
ありがとう