zcons.h (9d5056ea37dd689d393cb1715ae29551bc0eba2e) zcons.h (1fa2a66491e7d8ae0be84e7da4da8e812480c710)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 19 unchanged lines hidden (view full) ---

28
29#include <sys/types.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/*
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 19 unchanged lines hidden (view full) ---

28
29#include <sys/types.h>
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/*
36 * Minor node name of the global zone side (often called the "master" side)
36 * Minor node name of the global zone side (often called the "manager" side)
37 * of the zcons driver.
38 */
37 * of the zcons driver.
38 */
39#define ZCONS_MASTER_NAME "masterconsole"
39#define ZCONS_MANAGER_NAME "globalconsole"
40
41/*
40
41/*
42 * Minor node name of the non-global zone side (often called the "slave"
43 * side) of the zcons driver. We name it "zoneconsole" since that nameo
42 * Minor node name of the non-global zone side (often called the "subsidiary"
43 * side) of the zcons driver. We name it "zoneconsole" since that name
44 * will show up in 'ps' output, and will make some sense to the global zone
45 * user. Inside the zone, it will simply show up as "console" due to the
46 * links we create.
47 */
44 * will show up in 'ps' output, and will make some sense to the global zone
45 * user. Inside the zone, it will simply show up as "console" due to the
46 * links we create.
47 */
48#define ZCONS_SLAVE_NAME "zoneconsole"
48#define ZCONS_SUBSIDIARY_NAME "zoneconsole"
49
50/*
51 * ZC_IOC forms the base for all zcons ioctls.
52 */
53#define ZC_IOC (('Z' << 24) | ('o' << 16) | ('n' << 8))
54
55/*
49
50/*
51 * ZC_IOC forms the base for all zcons ioctls.
52 */
53#define ZC_IOC (('Z' << 24) | ('o' << 16) | ('n' << 8))
54
55/*
56 * These ioctls instruct the master side of the console to hold or release
57 * a reference to the slave side's vnode. They are meant to be issued by
56 * These ioctls instruct the manager side of the console to hold or release
57 * a reference to the subsidiary side's vnode. They are meant to be issued by
58 * zoneadmd after the console device node is created and before it is destroyed
58 * zoneadmd after the console device node is created and before it is destroyed
59 * so that the slave's STREAMS anchor, ptem, is preserved when ttymon starts
60 * popping STREAMS modules from within the associated zone. This guarantees
61 * that the zone slave console will always have terminal semantics while the
62 * zone is running.
59 * so that the subsidiary's STREAMS anchor, ptem, is preserved when ttymon
60 * starts popping STREAMS modules from within the associated zone. This
61 * guarantees that the zone subsidiary console will always have terminal
62 * semantics while the zone is running.
63 *
64 * A more detailed description can be found in uts/common/io/zcons.c.
65 */
63 *
64 * A more detailed description can be found in uts/common/io/zcons.c.
65 */
66#define ZC_HOLDSLAVE (ZC_IOC | 0) /* get and save slave side reference */
67#define ZC_RELEASESLAVE (ZC_IOC | 1) /* release slave side reference */
66#define ZC_HOLDSUBSID (ZC_IOC | 0)
67#define ZC_RELEASESUBSID (ZC_IOC | 1)
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _SYS_ZCONS_H */
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _SYS_ZCONS_H */