Bon j’ai compris, je vais rentrer dans les détails ^^.
Je suis en train de développer un programme de surveillance de réseau, en utilisant la librairie libpcap.
Voilà la portion de code qui m’a poussé à faire un test avec getuid().
Dans le cas où on ne lance pas l’application avec l’option --device=eth0 (ou n’importe quoi d’autre), le programme va chercher lui-même une interface sur laquelle agir.
char err_buff[PCAP_ERRBUF_SIZE];
char* device = NULL;
if((device = pcap_lookupdev(err_buff)) == NULL)
{
fprintf(stderr, "pcap_lookupdev : %s\n", err_buff);
return(EXIT_FAILURE);
}
Si le programme est exécuté sans les droits root, lors du passage dans cette boucle, le programme stop et on obtient le message d’erreur suivant :
pcap_lookupdev : no suitable device found
L’erreur n’étant pas forcément très claire, je préfère rajouter un test et vérifier en amont la valeur retournée par getuid(). Si elle est non nulle, le problème viendra, et c’est plus facile d’avertir l’utilisateur en lui disant un truc du genre “are you root ?” que de le laisser avec un “device not found” qui risque de le laisser songeur, et surtout qui peut provenir d’autres raisons plus embêtantes. 
Voilà, vous savez tout ^^
Après, si vous avez mieux comme solution, je reste bien entendu preneur. ;p
Pat’