Browse Source

add SUN_LEN macro to sys/un.h under appropriate feature tests

this is ugly and useless, but it seems to be the least-ugly way to
provide it...
Rich Felker 11 years ago
parent
commit
ecf4e24d81
1 changed files with 19 additions and 0 deletions
  1. 19 0
      include/sys/un.h

+ 19 - 0
include/sys/un.h

@@ -1,7 +1,17 @@
 #ifndef	_SYS_UN_H
 #define	_SYS_UN_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+
 #define __NEED_sa_family_t
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define __NEED_size_t
+#endif
+
 #include <bits/alltypes.h>
 
 struct sockaddr_un
@@ -10,4 +20,13 @@ struct sockaddr_un
 	char sun_path[108];
 };
 
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+size_t strlen(const char *);
+#define SUN_LEN(s) (2+strlen((s)->sun_path))
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif