| #ifndef __NET_H |
| #define __NET_H |
| |
| int netdial(int, char *, int); |
| int netannounce(int, char *, int); |
| int Nwrite(int, void *, int, int); |
| int Nread(int, void *, int, int); |
| int getsock_tcp_mss(int); |
| int set_tcp_options(int, int, int); |
| int setnonblocking(int); |
| |
| unsigned long long htonll(unsigned long long); |
| unsigned long long ntohll(unsigned long long); |
| |
| /* XXX: Need a better check for byte order */ |
| #if BYTE_ORDER == BIG_ENDIAN |
| #define HTONLL(n) (n) |
| #define NTOHLL(n) (n) |
| #else |
| #define HTONLL(n) ((((unsigned long long)(n) & 0xFF) << 56) | \ |
| (((unsigned long long)(n) & 0xFF00) << 40) | \ |
| (((unsigned long long)(n) & 0xFF0000) << 24) | \ |
| (((unsigned long long)(n) & 0xFF000000) << 8) | \ |
| (((unsigned long long)(n) & 0xFF00000000) >> 8) | \ |
| (((unsigned long long)(n) & 0xFF0000000000) >> 24) | \ |
| (((unsigned long long)(n) & 0xFF000000000000) >> 40) | \ |
| (((unsigned long long)(n) & 0xFF00000000000000) >> 56)) |
| |
| #define NTOHLL(n) ((((unsigned long long)(n) & 0xFF) << 56) | \ |
| (((unsigned long long)(n) & 0xFF00) << 40) | \ |
| (((unsigned long long)(n) & 0xFF0000) << 24) | \ |
| (((unsigned long long)(n) & 0xFF000000) << 8) | \ |
| (((unsigned long long)(n) & 0xFF00000000) >> 8) | \ |
| (((unsigned long long)(n) & 0xFF0000000000) >> 24) | \ |
| (((unsigned long long)(n) & 0xFF000000000000) >> 40) | \ |
| (((unsigned long long)(n) & 0xFF00000000000000) >> 56)) |
| #endif |
| |
| #define htonll(n) HTONLL(n) |
| #define ntohll(n) NTOHLL(n) |
| |
| #endif |
| |