diff options
author | Lars Müller | 2008-03-01 19:30:38 +0100 |
---|---|---|
committer | Lars Müller | 2008-03-01 19:30:38 +0100 |
commit | 868fec1f8eca7c344fc9ac057b7418331299d9ce (patch) | |
tree | c07cdf11db710dc495c3c7a513cc0f8fd68d6626 /server/net.h | |
download | dnbd-868fec1f8eca7c344fc9ac057b7418331299d9ce.tar.gz dnbd-868fec1f8eca7c344fc9ac057b7418331299d9ce.tar.xz dnbd-868fec1f8eca7c344fc9ac057b7418331299d9ce.zip |
Import dnbd* from the former openslx-contrib repo as of revision 92.
openslx-contrib is currently read only and will get removed in some
days.
git-svn-id: http://svn.openslx.org/svn/openslx/contrib/dnbd/trunk@1592 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'server/net.h')
-rw-r--r-- | server/net.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/server/net.h b/server/net.h new file mode 100644 index 0000000..d0f12c6 --- /dev/null +++ b/server/net.h @@ -0,0 +1,51 @@ +#ifndef LINUX_DNBD_NET_H +#define LINUX_DNBD_NET_H 1 + +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> + +/* network information */ +struct net_info { + int sock; + struct sockaddr_in server; + struct sockaddr_in groupnet; +}; +typedef struct net_info net_info_t; + +/* structure for received network packet */ +struct net_request { + struct sockaddr_in client; + socklen_t clientlen; + dnbd_request_t data; + size_t len; +}; +typedef struct net_request net_request_t; + +/* structure for network packets to be sent */ +struct net_reply { + void *data; + size_t len; +}; +typedef struct net_reply net_reply_t; + + +/* struct net_info_s net_info; */ + +net_info_t * net_init(); + +/* functions */ +void net_tx(net_info_t *net, net_reply_t *reply); +int net_rx(net_info_t * net, net_request_t *request); + +/* network to host byte order */ +#include <endian.h> +#if __BYTE_ORDER == __BIG_ENDIAN +#define ntohll(x) (x) +#else +#define ntohll(x) bswap_64(x) +#endif + + + +#endif |