X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=net.h;h=965273a86073ff82d4533794093e0aa7aedb916c;hb=7f9340341574044e16e1ffc30f856f13d1e3ba6c;hp=8b5d4a1a8aef2c87fbb0329fedd0b64c7e5528a8;hpb=49c5a95ab4ca28d13c6faff59110447aeb0099a5;p=paraslash.git diff --git a/net.h b/net.h index 8b5d4a1a..965273a8 100644 --- a/net.h +++ b/net.h @@ -16,6 +16,32 @@ #define UNIX_PATH_MAX 108 #endif +/** \cond Userland defines for Linux DCCP support. */ +#ifndef IPPROTO_DCCP +#define IPPROTO_DCCP 33 /**< IANA assigned value */ +#define SOCK_DCCP 6 /**< Linux socket type */ +#define SOL_DCCP 269 /**< Linux socket level */ +#endif +/** \endcond */ + +/** + * Generic socket creation (passive and active sockets). + */ +extern int makesock(unsigned l3type, unsigned l4type, int passive, + const char *host, unsigned short port_number); + +/** + * Functions to support listening sockets. + */ +/** How many pending connections queue of a listening server will hold. */ +#define BACKLOG 10 +extern int para_listen(unsigned l3type, unsigned l4type, unsigned short port); + +/** Pretty-printing of IPv4/6 socket addresses */ +extern char *host_and_port(struct sockaddr *sa, socklen_t len); +extern char *local_name(int sockfd); +extern char *remote_name(int sockfd); + /** used to crypt the communication between para_server and para_client */ typedef void crypt_function(unsigned long len, const unsigned char *indata, unsigned char *outdata, void *private_data);