Die Socket-Funktion gehört zum POSIX-Standard und ist typischerweise in der Form unter *nixen anzutreffen.
AF_INET gibt die Adressfamilie an, die für OSI-Layer 3 genutzt wird, wärend SOCK_STREAM und SOCK_DGRAM das Layer-4-Protokoll angeben. Du kannst z.B. auch IPv6 nutzen (Konstnte dazu müsst ich nachgucken), bzw. sagen, dass Du in Layer 3 bzw. 4 RAW sprechen willst, d.h. dich selber um die Paketerstellung kümmern willst.
Edit: IPv6 ist z.B. ganz simpel: AF_INET6 ... Hätt man auch gleich drauf kommen können ^^
Edit 2: Hier mal einen kurzen Link, der das Prinzip darstellt:
publib.boulder.ibm.c...b6/rzab6uafinet6.htm Ist zwar speziell für IPv6, ist mit den anderen Adressfamilien nicht anders.
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.