Fórum

Cross-platform raw socket programming

More
9 months 2 weeks ago #9 by Robinson
HI,

I have a project in C where I am doing socket programming. I've been doing research and it seems that while most library calls are the same, some differ between Linux/xBSD/yBSD. As an example, when you call socket() in Linux, you want PF_PACKET. You will include linux/if_ether.h to get the sockaddr_11 data structure. In FreeBSD, you use PF_LINK, and the data structure is simply called sockaddr. Is there some way to do this cross-platform without being too messy? I don't want to narrowly focus on Linux and then spend weeks migrating to NetBSD, should that situation arise. The problem is basically that we have to mitigate implementation risks before hardware and OS choice have been decided (a risk in itself).I'm sure it can be handled by lots of fun defines and ifdefs, but I'd rather avoid that if there's a better way.

Any help will be apprecited.

I didn't find the right solution from the Internet.

References:
arstechnica.com/civis/viewtopic.php?t=430245
Home Device Example

Thank you.

Please Přihlásit se or Create an account to join the conversation.

Time to create page: 0.379 seconds

Odmítnutí odpovědnosti

Vlastník, provozovatel, autoři ani další osoby zveřejňující informace na těchto webových stránkách nenesou a ani nemohou nést odpovědnost za případné jakkékoliv ztráty (ale zejména ekonomické a finanční) vzniklé jejich dalším použitím. Není absolutně žádná záruka na přesnost ani kompletnost informací, textů, obrázků, odkazů apod. v obsahu těchto webových stránek.

Obchodování na burzách, s komoditami, na forexovém trhu a dalších trzích s sebou nese vysoké riziko ztrát.