diff options
-rw-r--r-- | lib/sockunion.c | 10 | ||||
-rw-r--r-- | lib/sockunion.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/sockunion.c b/lib/sockunion.c index 6a40f332..f6c060f5 100644 --- a/lib/sockunion.c +++ b/lib/sockunion.c @@ -527,6 +527,16 @@ sockopt_ttl (int family, int sock, int ttl) return 0; } +int +sockopt_cork (int sock, int onoff) +{ +#ifdef TCP_CORK + return setsockopt (sock, IPPROTO_TCP, TCP_CORK, &onoff, sizeof(onoff)); +#else + return 0; +#endif +} + /* If same family and same prefix return 1. */ int sockunion_same (union sockunion *su1, union sockunion *su2) diff --git a/lib/sockunion.h b/lib/sockunion.h index 96b9a0d4..91bfbc7f 100644 --- a/lib/sockunion.h +++ b/lib/sockunion.h @@ -102,6 +102,7 @@ extern int sockopt_reuseport (int); extern int sockunion_bind (int sock, union sockunion *, unsigned short, union sockunion *); extern int sockopt_ttl (int family, int sock, int ttl); +extern int sockopt_cork (int sock, int onoff); extern int sockunion_socket (union sockunion *su); extern const char *inet_sutop (union sockunion *su, char *str); extern enum connect_result sockunion_connect (int fd, union sockunion *su, |