Recvmsg가 MSG_CTRUNC를 플래그로 허용하지 않는 이유는 무엇입니까?

Recvmsg가 MSG_CTRUNC를 플래그로 허용하지 않는 이유는 무엇입니까?

가능한 한 man 2 recv recvmsg반환MSG_TRUNC

   MSG_TRUNC
          indicates that the trailing portion of a datagram was dis‐
          carded because the datagram was larger than the buffer sup‐
          plied.

때로는 필드에서 매개변수 MSG_TRUNC로도 사용할 수 있는 할당해야 하는 버퍼의 크기를 알고 싶기 때문입니다.flags

   MSG_TRUNC (since Linux 2.2)
          For raw (AF_PACKET), Internet datagram (since Linux
          2.4.27/2.6.8), netlink (since Linux 2.6.22), and UNIX datagram
          (since Linux 3.4) sockets: return the real length of the
          packet or datagram, even when it was longer than the passed
          buffer.

문서에는 또한 recvmsg반환될 수도 있다고 명시되어 있습니다.MSG_CTRUNC

   MSG_CTRUNC
          indicates that some control data were discarded due to lack of
          space in the buffer for ancillary data.

그러나 보조 데이터의 실제 길이를 얻을 수 있는 방법은 없습니다. Recvmsg가 MSG_CTRUNC이를 수락하면 보조 데이터의 실제 크기를 얻을 수 있지 않나요 ?

관련 정보