73 #define RT_ATTR 9
74 #define RT_DATASET 10
75 #define RT_LIMITPRIV 11 /* really a property, but for info ... */
76 #define RT_BOOTARGS 12 /* really a property, but for info ... */
77 #define RT_BRAND 13 /* really a property, but for info ... */
78 #define RT_DCPU 14
79 #define RT_MCAP 15
80 #define RT_MAXLWPS 16 /* really a rctl alias property, but for info */
81 #define RT_MAXSHMMEM 17 /* really a rctl alias property, but for info */
82 #define RT_MAXSHMIDS 18 /* really a rctl alias property, but for info */
83 #define RT_MAXMSGIDS 19 /* really a rctl alias property, but for info */
84 #define RT_MAXSEMIDS 20 /* really a rctl alias property, but for info */
85 #define RT_SHARES 21 /* really a rctl alias property, but for info */
86 #define RT_SCHED 22 /* really a property, but for info ... */
87 #define RT_IPTYPE 23 /* really a property, but for info ... */
88 #define RT_PCAP 24
89 #define RT_HOSTID 25 /* really a property, but for info ... */
90 #define RT_ADMIN 26
91 #define RT_FS_ALLOWED 27
92 #define RT_MAXPROCS 28 /* really a rctl alias property, but for info */
93
94 #define RT_MIN RT_UNKNOWN
95 #define RT_MAX RT_MAXPROCS
96
97 /* property types: increment PT_MAX when expanding this list */
98 #define PT_UNKNOWN 0
99 #define PT_ZONENAME 1
100 #define PT_ZONEPATH 2
101 #define PT_AUTOBOOT 3
102 #define PT_POOL 4
103 #define PT_DIR 5
104 #define PT_SPECIAL 6
105 #define PT_TYPE 7
106 #define PT_OPTIONS 8
107 #define PT_ADDRESS 9
108 #define PT_PHYSICAL 10
109 #define PT_NAME 11
110 #define PT_VALUE 12
111 #define PT_MATCH 13
112 #define PT_PRIV 14
113 #define PT_LIMIT 15
114 #define PT_ACTION 16
115 #define PT_RAW 17
120 #define PT_IMPORTANCE 22
121 #define PT_SWAP 23
122 #define PT_LOCKED 24
123 #define PT_SHARES 25
124 #define PT_MAXLWPS 26
125 #define PT_MAXSHMMEM 27
126 #define PT_MAXSHMIDS 28
127 #define PT_MAXMSGIDS 29
128 #define PT_MAXSEMIDS 30
129 #define PT_MAXLOCKEDMEM 31
130 #define PT_MAXSWAP 32
131 #define PT_SCHED 33
132 #define PT_IPTYPE 34
133 #define PT_DEFROUTER 35
134 #define PT_HOSTID 36
135 #define PT_USER 37
136 #define PT_AUTHS 38
137 #define PT_FS_ALLOWED 39
138 #define PT_MAXPROCS 40
139 #define PT_ALLOWED_ADDRESS 41
140
141 #define PT_MIN PT_UNKNOWN
142 #define PT_MAX PT_ALLOWED_ADDRESS
143
144 #define MAX_EQ_PROP_PAIRS 3
145
146 #define PROP_VAL_SIMPLE 0
147 #define PROP_VAL_COMPLEX 1
148 #define PROP_VAL_LIST 2
149
150 #define PROP_VAL_MIN PROP_VAL_SIMPLE
151 #define PROP_VAL_MAX PROP_VAL_LIST
152
153 /*
154 * If any subcommand is ever modified to take more than three arguments,
155 * this will need to be incremented.
156 */
157 #define MAX_SUBCMD_ARGS 3
158
159 typedef struct complex_property {
160 int cp_type; /* from the PT_* list above */
161 char *cp_value;
162 struct complex_property *cp_next;
|
73 #define RT_ATTR 9
74 #define RT_DATASET 10
75 #define RT_LIMITPRIV 11 /* really a property, but for info ... */
76 #define RT_BOOTARGS 12 /* really a property, but for info ... */
77 #define RT_BRAND 13 /* really a property, but for info ... */
78 #define RT_DCPU 14
79 #define RT_MCAP 15
80 #define RT_MAXLWPS 16 /* really a rctl alias property, but for info */
81 #define RT_MAXSHMMEM 17 /* really a rctl alias property, but for info */
82 #define RT_MAXSHMIDS 18 /* really a rctl alias property, but for info */
83 #define RT_MAXMSGIDS 19 /* really a rctl alias property, but for info */
84 #define RT_MAXSEMIDS 20 /* really a rctl alias property, but for info */
85 #define RT_SHARES 21 /* really a rctl alias property, but for info */
86 #define RT_SCHED 22 /* really a property, but for info ... */
87 #define RT_IPTYPE 23 /* really a property, but for info ... */
88 #define RT_PCAP 24
89 #define RT_HOSTID 25 /* really a property, but for info ... */
90 #define RT_ADMIN 26
91 #define RT_FS_ALLOWED 27
92 #define RT_MAXPROCS 28 /* really a rctl alias property, but for info */
93 #define RT_SECFLAGS 29
94
95 #define RT_MIN RT_UNKNOWN
96 #define RT_MAX RT_SECFLAGS
97
98 /* property types: increment PT_MAX when expanding this list */
99 #define PT_UNKNOWN 0
100 #define PT_ZONENAME 1
101 #define PT_ZONEPATH 2
102 #define PT_AUTOBOOT 3
103 #define PT_POOL 4
104 #define PT_DIR 5
105 #define PT_SPECIAL 6
106 #define PT_TYPE 7
107 #define PT_OPTIONS 8
108 #define PT_ADDRESS 9
109 #define PT_PHYSICAL 10
110 #define PT_NAME 11
111 #define PT_VALUE 12
112 #define PT_MATCH 13
113 #define PT_PRIV 14
114 #define PT_LIMIT 15
115 #define PT_ACTION 16
116 #define PT_RAW 17
121 #define PT_IMPORTANCE 22
122 #define PT_SWAP 23
123 #define PT_LOCKED 24
124 #define PT_SHARES 25
125 #define PT_MAXLWPS 26
126 #define PT_MAXSHMMEM 27
127 #define PT_MAXSHMIDS 28
128 #define PT_MAXMSGIDS 29
129 #define PT_MAXSEMIDS 30
130 #define PT_MAXLOCKEDMEM 31
131 #define PT_MAXSWAP 32
132 #define PT_SCHED 33
133 #define PT_IPTYPE 34
134 #define PT_DEFROUTER 35
135 #define PT_HOSTID 36
136 #define PT_USER 37
137 #define PT_AUTHS 38
138 #define PT_FS_ALLOWED 39
139 #define PT_MAXPROCS 40
140 #define PT_ALLOWED_ADDRESS 41
141 #define PT_DEFAULT 42
142 #define PT_LOWER 43
143 #define PT_UPPER 44
144
145 #define PT_MIN PT_UNKNOWN
146 #define PT_MAX PT_UPPER
147
148 #define MAX_EQ_PROP_PAIRS 3
149
150 #define PROP_VAL_SIMPLE 0
151 #define PROP_VAL_COMPLEX 1
152 #define PROP_VAL_LIST 2
153
154 #define PROP_VAL_MIN PROP_VAL_SIMPLE
155 #define PROP_VAL_MAX PROP_VAL_LIST
156
157 /*
158 * If any subcommand is ever modified to take more than three arguments,
159 * this will need to be incremented.
160 */
161 #define MAX_SUBCMD_ARGS 3
162
163 typedef struct complex_property {
164 int cp_type; /* from the PT_* list above */
165 char *cp_value;
166 struct complex_property *cp_next;
|