summaryrefslogtreecommitdiff
path: root/Xtransint.h
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2008-03-05 20:48:59 -0500
committerAdam Jackson <ajax@redhat.com>2008-03-05 20:53:35 -0500
commit2afe206ec9569e0d62caa6d91c3fb057b0efa23d (patch)
treedfb3f138fe69a2b4588d77b9f4dec60262609a2d /Xtransint.h
parentc8ed67f16f71042ef134a4d2189c20dd200a0648 (diff)
Add support for the abstract socket namespace under Linux.
Unlike normal unix sockets, the abstract namespace is not bound to the filesystem. This has some notable advantages; /tmp need not exist, the socket directory need not have magic permissions, etc. xtrans servers will listen on both the normal and abstract socket endpoints; clients will attempt to connect to the abstract socket before connecting to the corresponding filesystem socket. Based on a patch by Bill Crawford.
Diffstat (limited to 'Xtransint.h')
-rw-r--r--Xtransint.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Xtransint.h b/Xtransint.h
index 97e8a89..317dbf8 100644
--- a/Xtransint.h
+++ b/Xtransint.h
@@ -369,9 +369,10 @@ typedef struct _Xtransport_table {
#define TRANS_DISABLED (1<<2) /* Don't open this one */
#define TRANS_NOLISTEN (1<<3) /* Don't listen on this one */
#define TRANS_NOUNLINK (1<<4) /* Dont unlink transport endpoints */
+#define TRANS_ABSTRACT (1<<5) /* Use abstract sockets if available */
/* Flags to preserve when setting others */
-#define TRANS_KEEPFLAGS (TRANS_NOUNLINK)
+#define TRANS_KEEPFLAGS (TRANS_NOUNLINK|TRANS_ABSTRACT)
/*
* readv() and writev() don't exist or don't work correctly on some