Criei um exemplo que faz a chamada diretamente e a mensagem de
controle chega ao kernel
http://pastebin.com/m1c5a96fd
e consigo recuperar essa informação em net/dccp/proto.c
static int dccp_msghdr_parse(struct msghdr *msg, struct sk_buff *skb)
{
...
struct cmsghdr *cmsg = CMSG_FIRSTHDR(msg);
}
O valor retornado para cmsg não é nulo.
No entanto, tentei fazer a mesma coisa utilizando uma versão do
[link=http://www.gnu.org/software/commoncpp/]commoncpp[/link] alterado
por mim, e quando a mensagem chega no kernel a [i]anciliary data[/i]
vem nulo.
Em tentei ver a estrutura [b]msghdr[/b] passada à sendmsg e a saida é
igual tanto no codigo puro quanto utilizando o commoncpp (imprimi a
estrutura, na funçao debugMsg). O que me leva a creer que isso poderia
tersido desabilitado em alguma sockopt no commoncpp.
Em resumo, gostaria de saber se é possível desabilitar a passagem de
[i]anciliary data[/i] via alguma sockopt.
Caso contrário, alguém teria idéia do que está acontecendo?
Vlw
[]'s
--
Ivo Augusto Andrade Rocha Calado
MSc. Candidate
Embedded Systems and Pervasive Computing Lab - http://embedded.ufcg.edu.br
Systems and Computing Department - http://www.dsc.ufcg.edu.br
Electrical Engineering and Informatics Center - http://www.ceei.ufcg.edu.br
Federal University of Campina Grande - http://www.ufcg.edu.br
PGP: 0x03422935
Putt's Law:
Technology is dominated by two types of people:
Those who understand what they do not manage.
Those who manage what they do not understand.