aboutsummaryrefslogtreecommitdiff
path: root/src/transport/ipc/ipc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/ipc/ipc.h')
-rw-r--r--src/transport/ipc/ipc.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/transport/ipc/ipc.h b/src/transport/ipc/ipc.h
index 42cbdb08..497fb2b5 100644
--- a/src/transport/ipc/ipc.h
+++ b/src/transport/ipc/ipc.h
@@ -28,4 +28,23 @@ NNG_DECL int nng_ipc_register(void);
// this for security.
#define NNG_OPT_IPC_PERMISSIONS "ipc:permissions"
+// Peer UID. This is only available on POSIX style systems.
+#define NNG_OPT_IPC_PEER_UID "ipc:peer-uid"
+
+// Peer GID (primary group). This is only available on POSIX style systems.
+#define NNG_OPT_IPC_PEER_GID "ipc:peer-gid"
+
+// Peer process ID. Available on Windows, Linux, and SunOS.
+// In theory we could obtain this with the first message sent,
+// but we have elected not to do this for now. (Nice RFE for a FreeBSD
+// guru though.)
+#define NNG_OPT_IPC_PEER_PID "ipc:peer-pid"
+
+// Peer Zone ID. Only on SunOS systems. (Linux containers have no
+// definable kernel identity; they are a user-land fabrication made up
+// from various pieces of different namespaces. FreeBSD does have
+// something called JailIDs, but it isn't obvious how to determine this,
+// or even if processes can use IPC across jail boundaries.)
+#define NNG_OPT_IPC_PEER_ZONEID "ipc:peer-zoneid"
+
#endif // NNG_TRANSPORT_IPC_IPC_H