17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*da14cebeSEric Cheng  * Common Development and Distribution License (the "License").
6*da14cebeSEric Cheng  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
217c478bd9Sstevel@tonic-gate /*
22*da14cebeSEric Cheng  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
247c478bd9Sstevel@tonic-gate  */
257c478bd9Sstevel@tonic-gate 
267c478bd9Sstevel@tonic-gate #ifndef	_SYS_EXACCT_CATALOG_H
277c478bd9Sstevel@tonic-gate #define	_SYS_EXACCT_CATALOG_H
287c478bd9Sstevel@tonic-gate 
297c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
307c478bd9Sstevel@tonic-gate extern "C" {
317c478bd9Sstevel@tonic-gate #endif
327c478bd9Sstevel@tonic-gate 
337c478bd9Sstevel@tonic-gate /*
347c478bd9Sstevel@tonic-gate  * exacct_catalog.h contains the default catalog for SunOS resource values
357c478bd9Sstevel@tonic-gate  * reported via the extended accounting facility.  Each recorded value written
367c478bd9Sstevel@tonic-gate  * to an exacct file is identified via its catalog tag, which is the first four
377c478bd9Sstevel@tonic-gate  * bytes of each object.  The exacct catalog tag is a 32-bit integer partitioned
387c478bd9Sstevel@tonic-gate  * into three fields, as illustrated by the following diagram.
397c478bd9Sstevel@tonic-gate  *
407c478bd9Sstevel@tonic-gate  * 31	   27	   23						  0
417c478bd9Sstevel@tonic-gate  * +-------+-------+----------------------------------------------+
427c478bd9Sstevel@tonic-gate  * |type   |catalog|id						  |
437c478bd9Sstevel@tonic-gate  * +-------+-------+----------------------------------------------+
447c478bd9Sstevel@tonic-gate  *
457c478bd9Sstevel@tonic-gate  * Each of the fields is described in more detail below.
467c478bd9Sstevel@tonic-gate  */
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate /*
497c478bd9Sstevel@tonic-gate  * Data type field.  These should correspond to the values of an ea_item_type_t,
507c478bd9Sstevel@tonic-gate  * shifted left 28 bits, plus the special value for a record group.  All
517c478bd9Sstevel@tonic-gate  * unspecified values of this field are reserved for future use.
527c478bd9Sstevel@tonic-gate  */
537c478bd9Sstevel@tonic-gate #define	EXT_TYPE_MASK		((uint_t)0xf << 28)
547c478bd9Sstevel@tonic-gate 
557c478bd9Sstevel@tonic-gate #define	EXT_NONE		((uint_t)0x0 << 28)
567c478bd9Sstevel@tonic-gate #define	EXT_UINT8		((uint_t)0x1 << 28)
577c478bd9Sstevel@tonic-gate #define	EXT_UINT16		((uint_t)0x2 << 28)
587c478bd9Sstevel@tonic-gate #define	EXT_UINT32		((uint_t)0x3 << 28)
597c478bd9Sstevel@tonic-gate #define	EXT_UINT64		((uint_t)0x4 << 28)
607c478bd9Sstevel@tonic-gate #define	EXT_DOUBLE		((uint_t)0x5 << 28)
617c478bd9Sstevel@tonic-gate #define	EXT_STRING		((uint_t)0x6 << 28)
627c478bd9Sstevel@tonic-gate #define	EXT_EXACCT_OBJECT	((uint_t)0x7 << 28)
637c478bd9Sstevel@tonic-gate #define	EXT_RAW			((uint_t)0x8 << 28)
647c478bd9Sstevel@tonic-gate #define	EXT_GROUP		((uint_t)0xf << 28)
657c478bd9Sstevel@tonic-gate 
667c478bd9Sstevel@tonic-gate /*
677c478bd9Sstevel@tonic-gate  * The catalog type field is the second four bits of the catalog tag.  All
687c478bd9Sstevel@tonic-gate  * unspecified values of this field are reserved for future use.
697c478bd9Sstevel@tonic-gate  */
707c478bd9Sstevel@tonic-gate #define	EXC_CATALOG_MASK	((uint_t)0xf << 24)
717c478bd9Sstevel@tonic-gate 
727c478bd9Sstevel@tonic-gate #define	EXC_NONE		(0x0 << 24)
737c478bd9Sstevel@tonic-gate #define	EXC_LOCAL		(0x1 << 24)
747c478bd9Sstevel@tonic-gate #define	EXC_DEFAULT		EXC_NONE
757c478bd9Sstevel@tonic-gate 
767c478bd9Sstevel@tonic-gate /*
777c478bd9Sstevel@tonic-gate  * The data id field comprises the final 24 bits of an ea_catalog_t.  The
787c478bd9Sstevel@tonic-gate  * current Solaris data ids defined in this version of the exacct format follow.
797c478bd9Sstevel@tonic-gate  * All values of this field are reserved if the catalog type is EXC_DEFAULT.  If
807c478bd9Sstevel@tonic-gate  * the catalog type is EXC_LOCAL, this field is application defined.
817c478bd9Sstevel@tonic-gate  */
827c478bd9Sstevel@tonic-gate #define	EXD_DATA_MASK		0xffffff
837c478bd9Sstevel@tonic-gate 
847c478bd9Sstevel@tonic-gate #define	EXD_NONE		0x000000
857c478bd9Sstevel@tonic-gate 
867c478bd9Sstevel@tonic-gate #define	EXD_VERSION		0x000001
877c478bd9Sstevel@tonic-gate #define	EXD_FILETYPE		0x000002
887c478bd9Sstevel@tonic-gate #define	EXD_CREATOR		0x000003
897c478bd9Sstevel@tonic-gate #define	EXD_HOSTNAME		0x000004
907c478bd9Sstevel@tonic-gate 
917c478bd9Sstevel@tonic-gate #define	EXD_GROUP_HEADER	0x0000ff
927c478bd9Sstevel@tonic-gate #define	EXD_GROUP_PROC		0x000100
937c478bd9Sstevel@tonic-gate #define	EXD_GROUP_TASK		0x000101
947c478bd9Sstevel@tonic-gate #define	EXD_GROUP_LWP		0x000102
957c478bd9Sstevel@tonic-gate #define	EXD_GROUP_PROC_TAG	0x000103
967c478bd9Sstevel@tonic-gate #define	EXD_GROUP_TASK_TAG	0x000104
977c478bd9Sstevel@tonic-gate #define	EXD_GROUP_LWP_TAG	0x000105
987c478bd9Sstevel@tonic-gate #define	EXD_GROUP_PROC_PARTIAL	0x000106
997c478bd9Sstevel@tonic-gate #define	EXD_GROUP_TASK_PARTIAL	0x000107
1007c478bd9Sstevel@tonic-gate #define	EXD_GROUP_TASK_INTERVAL	0x000108
1017c478bd9Sstevel@tonic-gate #define	EXD_GROUP_FLOW		0x000109
1027c478bd9Sstevel@tonic-gate #define	EXD_GROUP_RFMA		0x00010a
1037c478bd9Sstevel@tonic-gate #define	EXD_GROUP_FMA		0x00010b
104*da14cebeSEric Cheng #define	EXD_GROUP_NET_LINK_DESC	0X00010c
105*da14cebeSEric Cheng #define	EXD_GROUP_NET_FLOW_DESC	0X00010d
106*da14cebeSEric Cheng #define	EXD_GROUP_NET_LINK_STATS	0X00010e
107*da14cebeSEric Cheng #define	EXD_GROUP_NET_FLOW_STATS	0X00010f
1087c478bd9Sstevel@tonic-gate 
1097c478bd9Sstevel@tonic-gate #define	EXD_PROC_PID		0x001000
1107c478bd9Sstevel@tonic-gate #define	EXD_PROC_UID		0x001001
1117c478bd9Sstevel@tonic-gate #define	EXD_PROC_GID		0x001002
1127c478bd9Sstevel@tonic-gate #define	EXD_PROC_TASKID		0x001003
1137c478bd9Sstevel@tonic-gate #define	EXD_PROC_PROJID		0x001004
1147c478bd9Sstevel@tonic-gate #define	EXD_PROC_HOSTNAME	0x001005
1157c478bd9Sstevel@tonic-gate #define	EXD_PROC_COMMAND	0x001006
1167c478bd9Sstevel@tonic-gate #define	EXD_PROC_START_SEC	0x001007
1177c478bd9Sstevel@tonic-gate #define	EXD_PROC_START_NSEC	0x001008
1187c478bd9Sstevel@tonic-gate #define	EXD_PROC_FINISH_SEC	0x001009
1197c478bd9Sstevel@tonic-gate #define	EXD_PROC_FINISH_NSEC	0x00100a
1207c478bd9Sstevel@tonic-gate #define	EXD_PROC_CPU_USER_SEC	0x00100b
1217c478bd9Sstevel@tonic-gate #define	EXD_PROC_CPU_USER_NSEC	0x00100c
1227c478bd9Sstevel@tonic-gate #define	EXD_PROC_CPU_SYS_SEC	0x00100d
1237c478bd9Sstevel@tonic-gate #define	EXD_PROC_CPU_SYS_NSEC	0x00100e
1247c478bd9Sstevel@tonic-gate #define	EXD_PROC_TTY_MAJOR	0x00100f
1257c478bd9Sstevel@tonic-gate #define	EXD_PROC_TTY_MINOR	0x001010
1267c478bd9Sstevel@tonic-gate #define	EXD_PROC_FAULTS_MAJOR	0x001011
1277c478bd9Sstevel@tonic-gate #define	EXD_PROC_FAULTS_MINOR	0x001012
1287c478bd9Sstevel@tonic-gate #define	EXD_PROC_MESSAGES_RCV	0x001013
1297c478bd9Sstevel@tonic-gate #define	EXD_PROC_MESSAGES_SND	0x001014
1307c478bd9Sstevel@tonic-gate #define	EXD_PROC_BLOCKS_IN	0x001015
1317c478bd9Sstevel@tonic-gate #define	EXD_PROC_BLOCKS_OUT	0x001016
1327c478bd9Sstevel@tonic-gate #define	EXD_PROC_CHARS_RDWR	0x001017
1337c478bd9Sstevel@tonic-gate #define	EXD_PROC_CONTEXT_VOL	0x001018
1347c478bd9Sstevel@tonic-gate #define	EXD_PROC_CONTEXT_INV	0x001019
1357c478bd9Sstevel@tonic-gate #define	EXD_PROC_SIGNALS	0x00101a
1367c478bd9Sstevel@tonic-gate #define	EXD_PROC_SWAPS		0x00101b
1377c478bd9Sstevel@tonic-gate #define	EXD_PROC_SYSCALLS	0x00101c
1387c478bd9Sstevel@tonic-gate #define	EXD_PROC_ACCT_FLAGS	0x00101d
1397c478bd9Sstevel@tonic-gate #define	EXD_PROC_TAG		0x00101e
1407c478bd9Sstevel@tonic-gate #define	EXD_PROC_ANCPID		0x00101f
1417c478bd9Sstevel@tonic-gate #define	EXD_PROC_WAIT_STATUS	0x001020
1427c478bd9Sstevel@tonic-gate #define	EXD_PROC_ZONENAME	0x001021
1437c478bd9Sstevel@tonic-gate /*
1447c478bd9Sstevel@tonic-gate  * Physical memory usage estimates, in kilobytes.  Counts usage due to
1457c478bd9Sstevel@tonic-gate  * both memory used exclusively by the process, and memory shared with
1467c478bd9Sstevel@tonic-gate  * other processes.
1477c478bd9Sstevel@tonic-gate  */
1487c478bd9Sstevel@tonic-gate #define	EXD_PROC_MEM_RSS_AVG_K	0x001022
1497c478bd9Sstevel@tonic-gate #define	EXD_PROC_MEM_RSS_MAX_K	0x001023
1507c478bd9Sstevel@tonic-gate 
1517c478bd9Sstevel@tonic-gate #define	EXD_TASK_TASKID		0x002000
1527c478bd9Sstevel@tonic-gate #define	EXD_TASK_PROJID		0x002001
1537c478bd9Sstevel@tonic-gate #define	EXD_TASK_HOSTNAME	0x002002
1547c478bd9Sstevel@tonic-gate #define	EXD_TASK_START_SEC	0x002003
1557c478bd9Sstevel@tonic-gate #define	EXD_TASK_START_NSEC	0x002004
1567c478bd9Sstevel@tonic-gate #define	EXD_TASK_FINISH_SEC	0x002005
1577c478bd9Sstevel@tonic-gate #define	EXD_TASK_FINISH_NSEC	0x002006
1587c478bd9Sstevel@tonic-gate #define	EXD_TASK_CPU_USER_SEC	0x002007
1597c478bd9Sstevel@tonic-gate #define	EXD_TASK_CPU_USER_NSEC	0x002008
1607c478bd9Sstevel@tonic-gate #define	EXD_TASK_CPU_SYS_SEC	0x002009
1617c478bd9Sstevel@tonic-gate #define	EXD_TASK_CPU_SYS_NSEC	0x00200a
1627c478bd9Sstevel@tonic-gate #define	EXD_TASK_FAULTS_MAJOR	0x00200b
1637c478bd9Sstevel@tonic-gate #define	EXD_TASK_FAULTS_MINOR	0x00200c
1647c478bd9Sstevel@tonic-gate #define	EXD_TASK_MESSAGES_RCV	0x00200d
1657c478bd9Sstevel@tonic-gate #define	EXD_TASK_MESSAGES_SND	0x00200e
1667c478bd9Sstevel@tonic-gate #define	EXD_TASK_BLOCKS_IN	0x00200f
1677c478bd9Sstevel@tonic-gate #define	EXD_TASK_BLOCKS_OUT	0x002010
1687c478bd9Sstevel@tonic-gate #define	EXD_TASK_CHARS_RDWR	0x002011
1697c478bd9Sstevel@tonic-gate #define	EXD_TASK_CONTEXT_VOL	0x002012
1707c478bd9Sstevel@tonic-gate #define	EXD_TASK_CONTEXT_INV	0x002013
1717c478bd9Sstevel@tonic-gate #define	EXD_TASK_SIGNALS	0x002014
1727c478bd9Sstevel@tonic-gate #define	EXD_TASK_SWAPS		0x002015
1737c478bd9Sstevel@tonic-gate #define	EXD_TASK_SYSCALLS	0x002016
1747c478bd9Sstevel@tonic-gate #define	EXD_TASK_TAG		0x002017
1757c478bd9Sstevel@tonic-gate #define	EXD_TASK_ANCTASKID	0x002018
1767c478bd9Sstevel@tonic-gate #define	EXD_TASK_ZONENAME	0x002019
1777c478bd9Sstevel@tonic-gate 
1787c478bd9Sstevel@tonic-gate #define	EXD_FLOW_V4SADDR	0x003000
1797c478bd9Sstevel@tonic-gate #define	EXD_FLOW_V4DADDR	0x003001
1807c478bd9Sstevel@tonic-gate #define	EXD_FLOW_V6SADDR	0x003002
1817c478bd9Sstevel@tonic-gate #define	EXD_FLOW_V6DADDR	0x003003
1827c478bd9Sstevel@tonic-gate #define	EXD_FLOW_SPORT		0x003004
1837c478bd9Sstevel@tonic-gate #define	EXD_FLOW_DPORT		0x003005
1847c478bd9Sstevel@tonic-gate #define	EXD_FLOW_PROTOCOL	0x003006
1857c478bd9Sstevel@tonic-gate #define	EXD_FLOW_DSFIELD	0x003007
1867c478bd9Sstevel@tonic-gate #define	EXD_FLOW_NBYTES		0x003008
1877c478bd9Sstevel@tonic-gate #define	EXD_FLOW_NPKTS		0x003009
1887c478bd9Sstevel@tonic-gate #define	EXD_FLOW_CTIME		0x00300a
1897c478bd9Sstevel@tonic-gate #define	EXD_FLOW_LSEEN		0x00300b
1907c478bd9Sstevel@tonic-gate #define	EXD_FLOW_PROJID		0x00300c
1917c478bd9Sstevel@tonic-gate #define	EXD_FLOW_UID		0x00300d
1927c478bd9Sstevel@tonic-gate #define	EXD_FLOW_ANAME		0x00300e
1937c478bd9Sstevel@tonic-gate 
1947c478bd9Sstevel@tonic-gate #define	EXD_FMA_LABEL		0x004000
1957c478bd9Sstevel@tonic-gate #define	EXD_FMA_VERSION		0x004001
1967c478bd9Sstevel@tonic-gate #define	EXD_FMA_OSREL		0x004002
1977c478bd9Sstevel@tonic-gate #define	EXD_FMA_OSVER		0x004003
1987c478bd9Sstevel@tonic-gate #define	EXD_FMA_PLAT		0x004004
1997c478bd9Sstevel@tonic-gate #define	EXD_FMA_TODSEC		0x004005
2007c478bd9Sstevel@tonic-gate #define	EXD_FMA_TODNSEC		0x004006
2017c478bd9Sstevel@tonic-gate #define	EXD_FMA_NVLIST		0x004007
2027c478bd9Sstevel@tonic-gate #define	EXD_FMA_MAJOR		0x004008
2037c478bd9Sstevel@tonic-gate #define	EXD_FMA_MINOR		0x004009
2047c478bd9Sstevel@tonic-gate #define	EXD_FMA_INODE		0x00400A
2057c478bd9Sstevel@tonic-gate #define	EXD_FMA_OFFSET		0x00400B
2067ee93e3bSdilpreet #define	EXD_FMA_UUID		0x00400C
2077c478bd9Sstevel@tonic-gate 
208*da14cebeSEric Cheng /* For EXD_GROUP_FLDESC  and EXD_GROUP_LNDESC */
209*da14cebeSEric Cheng #define	EXD_NET_DESC_NAME	0x005001
210*da14cebeSEric Cheng #define	EXD_NET_DESC_EHOST	0x005002
211*da14cebeSEric Cheng #define	EXD_NET_DESC_EDEST	0x005003
212*da14cebeSEric Cheng #define	EXD_NET_DESC_VLAN_TPID	0x005004
213*da14cebeSEric Cheng #define	EXD_NET_DESC_VLAN_TCI	0x005005
214*da14cebeSEric Cheng #define	EXD_NET_DESC_SAP	0x005006
215*da14cebeSEric Cheng #define	EXD_NET_DESC_PRIORITY	0x005007
216*da14cebeSEric Cheng #define	EXD_NET_DESC_BWLIMIT	0x005008
217*da14cebeSEric Cheng /* For EXD_GROUP_FLDESC  only */
218*da14cebeSEric Cheng #define	EXD_NET_DESC_DEVNAME	0x005009
219*da14cebeSEric Cheng #define	EXD_NET_DESC_V4SADDR	0x00500a
220*da14cebeSEric Cheng #define	EXD_NET_DESC_V4DADDR	0x00500b
221*da14cebeSEric Cheng #define	EXD_NET_DESC_V6SADDR	0x00500c
222*da14cebeSEric Cheng #define	EXD_NET_DESC_V6DADDR	0x00500d
223*da14cebeSEric Cheng #define	EXD_NET_DESC_SPORT	0x00500e
224*da14cebeSEric Cheng #define	EXD_NET_DESC_DPORT	0x00500f
225*da14cebeSEric Cheng #define	EXD_NET_DESC_PROTOCOL	0x005010
226*da14cebeSEric Cheng #define	EXD_NET_DESC_DSFIELD	0x005011
227*da14cebeSEric Cheng 
228*da14cebeSEric Cheng /* For EXD_NET_STATS */
229*da14cebeSEric Cheng #define	EXD_NET_STATS_NAME	0x006000
230*da14cebeSEric Cheng #define	EXD_NET_STATS_CURTIME	0x006001
231*da14cebeSEric Cheng #define	EXD_NET_STATS_IBYTES	0x006002
232*da14cebeSEric Cheng #define	EXD_NET_STATS_OBYTES	0x006003
233*da14cebeSEric Cheng #define	EXD_NET_STATS_IPKTS	0x006004
234*da14cebeSEric Cheng #define	EXD_NET_STATS_OPKTS	0x006005
235*da14cebeSEric Cheng #define	EXD_NET_STATS_IERRPKTS	0x006006
236*da14cebeSEric Cheng #define	EXD_NET_STATS_OERRPKTS	0x006007
237*da14cebeSEric Cheng 
2387c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
2397c478bd9Sstevel@tonic-gate }
2407c478bd9Sstevel@tonic-gate #endif
2417c478bd9Sstevel@tonic-gate 
2427c478bd9Sstevel@tonic-gate #endif	/* _SYS_EXACCT_CATALOG_H */
243