summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/door.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/door.h')
-rw-r--r--usr/src/uts/common/sys/door.h42
1 files changed, 22 insertions, 20 deletions
diff --git a/usr/src/uts/common/sys/door.h b/usr/src/uts/common/sys/door.h
index e45386270d..7d04847864 100644
--- a/usr/src/uts/common/sys/door.h
+++ b/usr/src/uts/common/sys/door.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -30,12 +30,29 @@
#ifndef _SYS_DOOR_H
#define _SYS_DOOR_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#ifdef __cplusplus
extern "C" {
#endif
+/*
+ * Attributes associated with doors.
+ */
+
+/* Attributes originally obtained from door_create operation */
+#define DOOR_UNREF 0x01 /* Deliver an unref notification with door */
+#define DOOR_PRIVATE 0x02 /* Use a private pool of server threads */
+#define DOOR_UNREF_MULTI 0x10 /* Deliver unref notification more than once */
+#define DOOR_REFUSE_DESC 0x40 /* Do not accept descriptors from callers */
+#define DOOR_NO_CANCEL 0x80 /* No server thread cancel on client abort */
+#define DOOR_NO_DEPLETION_CB 0x100 /* No thread create callbacks on depletion */
+
+/* Attributes (additional) returned with door_info and door_desc_t data */
+#define DOOR_LOCAL 0x04 /* Descriptor is local to current process */
+#define DOOR_REVOKED 0x08 /* Door has been revoked */
+#define DOOR_IS_UNREF 0x20 /* Door is currently unreferenced */
+#define DOOR_PRIVCREATE 0x200 /* Door has a private thread creation func */
+#define DOOR_DEPLETION_CB 0x400 /* Set only during depletion callbacks */
+
#if !defined(_ASM)
#include <sys/types.h>
@@ -62,25 +79,10 @@ typedef struct __door_handle *door_handle_t; /* opaque kernel door handle */
/* Door descriptor passed to door_info to get current thread's binding */
#define DOOR_QUERY -2
-/*
- * Attributes associated with doors.
- */
-
-/* Attributes originally obtained from door_create operation */
-#define DOOR_UNREF 0x01 /* Deliver an unref notification with door */
-#define DOOR_PRIVATE 0x02 /* Use a private pool of server threads */
-#define DOOR_UNREF_MULTI 0x10 /* Deliver unref notification more than once */
-#define DOOR_REFUSE_DESC 0x40 /* Do not accept descriptors from callers */
-#define DOOR_NO_CANCEL 0x80 /* No server thread cancel on client abort */
-
-/* Attributes (additional) returned with door_info and door_desc_t data */
-#define DOOR_LOCAL 0x04 /* Descriptor is local to current process */
-#define DOOR_REVOKED 0x08 /* Door has been revoked */
-#define DOOR_IS_UNREF 0x20 /* Door is currently unreferenced */
-
/* Masks of applicable flags */
#define DOOR_CREATE_MASK (DOOR_UNREF | DOOR_PRIVATE | \
- DOOR_UNREF_MULTI | DOOR_REFUSE_DESC | DOOR_NO_CANCEL)
+ DOOR_UNREF_MULTI | DOOR_REFUSE_DESC | DOOR_NO_CANCEL | \
+ DOOR_NO_DEPLETION_CB | DOOR_PRIVCREATE)
#define DOOR_KI_CREATE_MASK (DOOR_UNREF | DOOR_UNREF_MULTI)
/* Mask of above attributes */