res.c (074e084f) res.c (da14cebe)
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

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

18 *
19 * CDDL HEADER END
20 */
21/*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
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

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

18 *
19 * CDDL HEADER END
20 */
21/*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26#pragma ident "%Z%%M% %I% %E% SMI"
27
28#include <stdlib.h>
29#include <stdio.h>
30#include <libintl.h>
31#include <string.h>
32#include <sys/acctctl.h>
33
34#include "utils.h"
35#include "aconf.h"

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

84 { AC_FLOW, AC_FLOW_NPKTS, "npkts" },
85 { AC_FLOW, AC_FLOW_CTIME, "ctime" },
86 { AC_FLOW, AC_FLOW_LSEEN, "lseen" },
87 { AC_FLOW, AC_FLOW_PROJID, "projid" },
88 { AC_FLOW, AC_FLOW_UID, "uid" },
89 { AC_FLOW, AC_FLOW_ANAME, "action" },
90
91 /*
26#include <stdlib.h>
27#include <stdio.h>
28#include <libintl.h>
29#include <string.h>
30#include <sys/acctctl.h>
31
32#include "utils.h"
33#include "aconf.h"

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

82 { AC_FLOW, AC_FLOW_NPKTS, "npkts" },
83 { AC_FLOW, AC_FLOW_CTIME, "ctime" },
84 { AC_FLOW, AC_FLOW_LSEEN, "lseen" },
85 { AC_FLOW, AC_FLOW_PROJID, "projid" },
86 { AC_FLOW, AC_FLOW_UID, "uid" },
87 { AC_FLOW, AC_FLOW_ANAME, "action" },
88
89 /*
90 * Net accounting resources
91 */
92
93 { AC_NET, AC_NET_NAME, "name" },
94 { AC_NET, AC_NET_EHOST, "ehost" },
95 { AC_NET, AC_NET_EDEST, "edest" },
96 { AC_NET, AC_NET_VLAN_TPID, "vlan_pid" },
97 { AC_NET, AC_NET_VLAN_TCI, "vlan_tci" },
98 { AC_NET, AC_NET_SAP, "sap" },
99 { AC_NET, AC_NET_PRIORITY, "priority" },
100 { AC_NET, AC_NET_BWLIMIT, "bwlimit" },
101 { AC_NET, AC_NET_DEVNAME, "devname" },
102 { AC_NET, AC_NET_SADDR, "src_ip" },
103 { AC_NET, AC_NET_DADDR, "dst_ip" },
104 { AC_NET, AC_NET_SPORT, "src_port" },
105 { AC_NET, AC_NET_DPORT, "dst_port" },
106 { AC_NET, AC_NET_PROTOCOL, "protocol" },
107 { AC_NET, AC_NET_DSFIELD, "dsfield" },
108 { AC_NET, AC_NET_CURTIME, "curtime" },
109 { AC_NET, AC_NET_IBYTES, "ibytes" },
110 { AC_NET, AC_NET_OBYTES, "obytes" },
111 { AC_NET, AC_NET_IPKTS, "ipkts" },
112 { AC_NET, AC_NET_OPKTS, "opkts" },
113 { AC_NET, AC_NET_IERRPKTS, "ierrpkts" },
114 { AC_NET, AC_NET_OERRPKTS, "oerrpkts" },
115
116 /*
92 * These are included for compatibility with old acctadm that
93 * didn't have resource groups for individual accounting types.
94 * It was possible to have resource "pid" enabled for task
95 * accounting even though we couldn't actually track it.
96 */
97 { AC_TASK, AC_NONE, "pid" },
98 { AC_TASK, AC_NONE, "uid" },
99 { AC_TASK, AC_NONE, "gid" },

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

129 { AC_FLOW_SADDR, AC_FLOW_DADDR, AC_FLOW_SPORT, AC_FLOW_DPORT,
130 AC_FLOW_PROTOCOL, AC_FLOW_DSFIELD, AC_FLOW_NBYTES,
131 AC_FLOW_NPKTS, AC_FLOW_ANAME, AC_FLOW_CTIME, AC_FLOW_LSEEN,
132 AC_FLOW_PROJID, AC_FLOW_UID, AC_NONE } },
133 { AC_FLOW, "basic",
134 { AC_FLOW_SADDR, AC_FLOW_DADDR, AC_FLOW_SPORT, AC_FLOW_DPORT,
135 AC_FLOW_PROTOCOL, AC_FLOW_NBYTES, AC_FLOW_NPKTS, AC_FLOW_ANAME,
136 AC_NONE } },
117 * These are included for compatibility with old acctadm that
118 * didn't have resource groups for individual accounting types.
119 * It was possible to have resource "pid" enabled for task
120 * accounting even though we couldn't actually track it.
121 */
122 { AC_TASK, AC_NONE, "pid" },
123 { AC_TASK, AC_NONE, "uid" },
124 { AC_TASK, AC_NONE, "gid" },

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

154 { AC_FLOW_SADDR, AC_FLOW_DADDR, AC_FLOW_SPORT, AC_FLOW_DPORT,
155 AC_FLOW_PROTOCOL, AC_FLOW_DSFIELD, AC_FLOW_NBYTES,
156 AC_FLOW_NPKTS, AC_FLOW_ANAME, AC_FLOW_CTIME, AC_FLOW_LSEEN,
157 AC_FLOW_PROJID, AC_FLOW_UID, AC_NONE } },
158 { AC_FLOW, "basic",
159 { AC_FLOW_SADDR, AC_FLOW_DADDR, AC_FLOW_SPORT, AC_FLOW_DPORT,
160 AC_FLOW_PROTOCOL, AC_FLOW_NBYTES, AC_FLOW_NPKTS, AC_FLOW_ANAME,
161 AC_NONE } },
162 { AC_NET, "extended",
163 { AC_NET_NAME, AC_NET_EHOST, AC_NET_EDEST, AC_NET_VLAN_TPID,
164 AC_NET_VLAN_TCI, AC_NET_SAP, AC_NET_PRIORITY,
165 AC_NET_BWLIMIT, AC_NET_DEVNAME, AC_NET_SADDR, AC_NET_DADDR,
166 AC_NET_SPORT, AC_NET_DPORT, AC_NET_PROTOCOL, AC_NET_DSFIELD,
167 AC_NET_CURTIME, AC_NET_IBYTES, AC_NET_OBYTES, AC_NET_IPKTS,
168 AC_NET_OPKTS, AC_NET_IERRPKTS, AC_NET_OERRPKTS, AC_NONE } },
169 { AC_NET, "basic",
170 { AC_NET_NAME, AC_NET_DEVNAME, AC_NET_EHOST, AC_NET_EDEST,
171 AC_NET_VLAN_TPID, AC_NET_VLAN_TCI, AC_NET_SAP,
172 AC_NET_PRIORITY, AC_NET_BWLIMIT, AC_NET_CURTIME, AC_NET_IBYTES,
173 AC_NET_OBYTES, AC_NET_IPKTS, AC_NET_OPKTS, AC_NET_IERRPKTS,
174 AC_NET_OERRPKTS, AC_NONE } },
137 { AC_NONE, NULL,
138 { AC_NONE } }
139};
140
141/*
142 * this function returns the id of the named resource
143 */
144static int

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

197/*
198 * this function prints the list of resource groups and their members
199 */
200void
201printgroups(int type)
202{
203 int header = 0;
204
175 { AC_NONE, NULL,
176 { AC_NONE } }
177};
178
179/*
180 * this function returns the id of the named resource
181 */
182static int

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

235/*
236 * this function prints the list of resource groups and their members
237 */
238void
239printgroups(int type)
240{
241 int header = 0;
242
205 if ((type & AC_PROC) && (type & AC_TASK) && (type & AC_FLOW))
243 if ((type & AC_PROC) && (type & AC_TASK) && (type & AC_FLOW) &&
244 (type & AC_NET)) {
206 header = 1;
245 header = 1;
207
246 }
208 if (type & AC_PROC) {
209 if (header == 1)
210 (void) printf("process:\n");
211 printgroup(AC_PROC);
212 }
213 if (type & AC_TASK) {
214 if (header == 1)
215 (void) printf("task:\n");
216 printgroup(AC_TASK);
217 }
218 if (type & AC_FLOW) {
219 if (header == 1)
220 (void) printf("flow:\n");
221 printgroup(AC_FLOW);
222 }
247 if (type & AC_PROC) {
248 if (header == 1)
249 (void) printf("process:\n");
250 printgroup(AC_PROC);
251 }
252 if (type & AC_TASK) {
253 if (header == 1)
254 (void) printf("task:\n");
255 printgroup(AC_TASK);
256 }
257 if (type & AC_FLOW) {
258 if (header == 1)
259 (void) printf("flow:\n");
260 printgroup(AC_FLOW);
261 }
262 if (type & AC_NET) {
263 if (header == 1)
264 (void) printf("net:\n");
265 printgroup(AC_NET);
266 }
223}
224
225/*
226 * this function sets the state of the particular resource
227 */
228static void
229resset(ac_res_t *res, int id, int state)
230{

--- 124 unchanged lines hidden ---
267}
268
269/*
270 * this function sets the state of the particular resource
271 */
272static void
273resset(ac_res_t *res, int id, int state)
274{

--- 124 unchanged lines hidden ---