2011-04-20 20:33:09 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2009-2011, The Regents of the University of California,
|
|
|
|
* through Lawrence Berkeley National Laboratory (subject to receipt of any
|
|
|
|
* required approvals from the U.S. Dept. of Energy). All rights reserved.
|
|
|
|
*
|
|
|
|
* This code is distributed under a BSD style license, see the LICENSE file
|
|
|
|
* for complete information.
|
|
|
|
*/
|
|
|
|
|
2010-06-28 22:25:03 +00:00
|
|
|
#ifndef __NET_H
|
|
|
|
#define __NET_H
|
|
|
|
|
2010-07-27 20:27:34 +00:00
|
|
|
int netdial(int, int, char *, char *, int);
|
|
|
|
int netannounce(int, int, char *, int);
|
2013-02-18 14:56:37 -08:00
|
|
|
int Nwrite(int, void *, int, int) /* __attribute__((hot)) */;
|
2010-06-30 15:58:16 +00:00
|
|
|
int Nread(int, void *, int, int);
|
2010-06-28 22:25:03 +00:00
|
|
|
int getsock_tcp_mss(int);
|
|
|
|
int set_tcp_options(int, int, int);
|
|
|
|
int setnonblocking(int);
|
|
|
|
|
2013-02-22 15:54:05 -08:00
|
|
|
#define NET_SOFTERROR -1
|
|
|
|
#define NET_HARDERROR -2
|
|
|
|
|
2010-07-14 23:24:58 +00:00
|
|
|
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)
|
|
|
|
|
2010-06-28 22:25:03 +00:00
|
|
|
#endif
|