Was bedeutet doppelter Unterstrich (__const) in C?

extern int ether_hostton (__const char *__hostname, struct ether_addr *__addr)
 __THROW;

Ich habe die obige Funktionsdefinition in /usr/include/netinet/ether.h auf einer Linux-Box gefunden.

Kann jemand erklären, was die doppelten Unterstriche vor const (Schlüsselwort), addr (Bezeichner) und zuletzt __THROW bedeuten.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage