X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=net.h;h=79c5994c43ec2b0b6ae8fee1933b492c9f97a20d;hp=75389aecda5d7a5101771f526d74887f34177513;hb=ef1f130a1f9ac61a51da10ee56c5bd9ef1b52366;hpb=8c488022fea5ba573534585cb7b123836144c6c2 diff --git a/net.h b/net.h index 75389aec..79c5994c 100644 --- a/net.h +++ b/net.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2010 Andre Noll + * Copyright (C) 2006-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -8,13 +8,15 @@ /** \file net.h exported symbols from net.c */ /** - * the buffer size of the sun_path component of struct sockaddr_un + * The buffer size of the sun_path component of struct sockaddr_un. * - * While glibc doesn't define \p UNIX_PATH_MAX, it - * documents it has being limited to 108 bytes. + * While glibc doesn't define \p UNIX_PATH_MAX, it documents it has being + * limited to 108 bytes. On NetBSD it is only 104 bytes though. We trust \p + * UNIX_PATH_MAX if it is defined and use the size of the ->sun_path member + * otherwise. This should be safe everywhere. */ #ifndef UNIX_PATH_MAX -#define UNIX_PATH_MAX 108 +#define UNIX_PATH_MAX (sizeof(((struct sockaddr_un *)0)->sun_path)) #endif /* Userland defines for Linux DCCP support. */ @@ -60,9 +62,9 @@ struct flowopts; extern struct flowopts *flowopt_new(void); extern void flowopt_add(struct flowopts *fo, int level, int opt, - char *name, const void *val, int len); + const char *name, const void *val, int len); extern void flowopt_add_bool(struct flowopts *fo, int lev, int opt, - char *optname, bool on_or_off); + const char *optname, bool on_or_off); /** Flowopt shortcut macros */ #define OPT_ADD(fo, lev, opt, val, len) flowopt_add(fo, lev, opt, #opt, val, len) #define OPT_ENABLE(fo, lev, opt) flowopt_add_bool(fo, lev, opt, #opt, 1)