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 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 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 #ifndef _SYS_EXACCT_CATALOG_H 27 #define _SYS_EXACCT_CATALOG_H 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 /* 34 * exacct_catalog.h contains the default catalog for SunOS resource values 35 * reported via the extended accounting facility. Each recorded value written 36 * to an exacct file is identified via its catalog tag, which is the first four 37 * bytes of each object. The exacct catalog tag is a 32-bit integer partitioned 38 * into three fields, as illustrated by the following diagram. 39 * 40 * 31 27 23 0 41 * +-------+-------+----------------------------------------------+ 42 * |type |catalog|id | 43 * +-------+-------+----------------------------------------------+ 44 * 45 * Each of the fields is described in more detail below. 46 */ 47 48 /* 49 * Data type field. These should correspond to the values of an ea_item_type_t, 50 * shifted left 28 bits, plus the special value for a record group. All 51 * unspecified values of this field are reserved for future use. 52 */ 53 #define EXT_TYPE_MASK ((uint_t)0xf << 28) 54 55 #define EXT_NONE ((uint_t)0x0 << 28) 56 #define EXT_UINT8 ((uint_t)0x1 << 28) 57 #define EXT_UINT16 ((uint_t)0x2 << 28) 58 #define EXT_UINT32 ((uint_t)0x3 << 28) 59 #define EXT_UINT64 ((uint_t)0x4 << 28) 60 #define EXT_DOUBLE ((uint_t)0x5 << 28) 61 #define EXT_STRING ((uint_t)0x6 << 28) 62 #define EXT_EXACCT_OBJECT ((uint_t)0x7 << 28) 63 #define EXT_RAW ((uint_t)0x8 << 28) 64 #define EXT_GROUP ((uint_t)0xf << 28) 65 66 /* 67 * The catalog type field is the second four bits of the catalog tag. All 68 * unspecified values of this field are reserved for future use. 69 */ 70 #define EXC_CATALOG_MASK ((uint_t)0xf << 24) 71 72 #define EXC_NONE (0x0 << 24) 73 #define EXC_LOCAL (0x1 << 24) 74 #define EXC_DEFAULT EXC_NONE 75 76 /* 77 * The data id field comprises the final 24 bits of an ea_catalog_t. The 78 * current Solaris data ids defined in this version of the exacct format follow. 79 * All values of this field are reserved if the catalog type is EXC_DEFAULT. If 80 * the catalog type is EXC_LOCAL, this field is application defined. 81 */ 82 #define EXD_DATA_MASK 0xffffff 83 84 #define EXD_NONE 0x000000 85 86 #define EXD_VERSION 0x000001 87 #define EXD_FILETYPE 0x000002 88 #define EXD_CREATOR 0x000003 89 #define EXD_HOSTNAME 0x000004 90 91 #define EXD_GROUP_HEADER 0x0000ff 92 #define EXD_GROUP_PROC 0x000100 93 #define EXD_GROUP_TASK 0x000101 94 #define EXD_GROUP_LWP 0x000102 95 #define EXD_GROUP_PROC_TAG 0x000103 96 #define EXD_GROUP_TASK_TAG 0x000104 97 #define EXD_GROUP_LWP_TAG 0x000105 98 #define EXD_GROUP_PROC_PARTIAL 0x000106 99 #define EXD_GROUP_TASK_PARTIAL 0x000107 100 #define EXD_GROUP_TASK_INTERVAL 0x000108 101 #define EXD_GROUP_FLOW 0x000109 102 #define EXD_GROUP_RFMA 0x00010a 103 #define EXD_GROUP_FMA 0x00010b 104 #define EXD_GROUP_NET_LINK_DESC 0X00010c 105 #define EXD_GROUP_NET_FLOW_DESC 0X00010d 106 #define EXD_GROUP_NET_LINK_STATS 0X00010e 107 #define EXD_GROUP_NET_FLOW_STATS 0X00010f 108 109 #define EXD_PROC_PID 0x001000 110 #define EXD_PROC_UID 0x001001 111 #define EXD_PROC_GID 0x001002 112 #define EXD_PROC_TASKID 0x001003 113 #define EXD_PROC_PROJID 0x001004 114 #define EXD_PROC_HOSTNAME 0x001005 115 #define EXD_PROC_COMMAND 0x001006 116 #define EXD_PROC_START_SEC 0x001007 117 #define EXD_PROC_START_NSEC 0x001008 118 #define EXD_PROC_FINISH_SEC 0x001009 119 #define EXD_PROC_FINISH_NSEC 0x00100a 120 #define EXD_PROC_CPU_USER_SEC 0x00100b 121 #define EXD_PROC_CPU_USER_NSEC 0x00100c 122 #define EXD_PROC_CPU_SYS_SEC 0x00100d 123 #define EXD_PROC_CPU_SYS_NSEC 0x00100e 124 #define EXD_PROC_TTY_MAJOR 0x00100f 125 #define EXD_PROC_TTY_MINOR 0x001010 126 #define EXD_PROC_FAULTS_MAJOR 0x001011 127 #define EXD_PROC_FAULTS_MINOR 0x001012 128 #define EXD_PROC_MESSAGES_RCV 0x001013 129 #define EXD_PROC_MESSAGES_SND 0x001014 130 #define EXD_PROC_BLOCKS_IN 0x001015 131 #define EXD_PROC_BLOCKS_OUT 0x001016 132 #define EXD_PROC_CHARS_RDWR 0x001017 133 #define EXD_PROC_CONTEXT_VOL 0x001018 134 #define EXD_PROC_CONTEXT_INV 0x001019 135 #define EXD_PROC_SIGNALS 0x00101a 136 #define EXD_PROC_SWAPS 0x00101b 137 #define EXD_PROC_SYSCALLS 0x00101c 138 #define EXD_PROC_ACCT_FLAGS 0x00101d 139 #define EXD_PROC_TAG 0x00101e 140 #define EXD_PROC_ANCPID 0x00101f 141 #define EXD_PROC_WAIT_STATUS 0x001020 142 #define EXD_PROC_ZONENAME 0x001021 143 /* 144 * Physical memory usage estimates, in kilobytes. Counts usage due to 145 * both memory used exclusively by the process, and memory shared with 146 * other processes. 147 */ 148 #define EXD_PROC_MEM_RSS_AVG_K 0x001022 149 #define EXD_PROC_MEM_RSS_MAX_K 0x001023 150 151 #define EXD_TASK_TASKID 0x002000 152 #define EXD_TASK_PROJID 0x002001 153 #define EXD_TASK_HOSTNAME 0x002002 154 #define EXD_TASK_START_SEC 0x002003 155 #define EXD_TASK_START_NSEC 0x002004 156 #define EXD_TASK_FINISH_SEC 0x002005 157 #define EXD_TASK_FINISH_NSEC 0x002006 158 #define EXD_TASK_CPU_USER_SEC 0x002007 159 #define EXD_TASK_CPU_USER_NSEC 0x002008 160 #define EXD_TASK_CPU_SYS_SEC 0x002009 161 #define EXD_TASK_CPU_SYS_NSEC 0x00200a 162 #define EXD_TASK_FAULTS_MAJOR 0x00200b 163 #define EXD_TASK_FAULTS_MINOR 0x00200c 164 #define EXD_TASK_MESSAGES_RCV 0x00200d 165 #define EXD_TASK_MESSAGES_SND 0x00200e 166 #define EXD_TASK_BLOCKS_IN 0x00200f 167 #define EXD_TASK_BLOCKS_OUT 0x002010 168 #define EXD_TASK_CHARS_RDWR 0x002011 169 #define EXD_TASK_CONTEXT_VOL 0x002012 170 #define EXD_TASK_CONTEXT_INV 0x002013 171 #define EXD_TASK_SIGNALS 0x002014 172 #define EXD_TASK_SWAPS 0x002015 173 #define EXD_TASK_SYSCALLS 0x002016 174 #define EXD_TASK_TAG 0x002017 175 #define EXD_TASK_ANCTASKID 0x002018 176 #define EXD_TASK_ZONENAME 0x002019 177 178 #define EXD_FLOW_V4SADDR 0x003000 179 #define EXD_FLOW_V4DADDR 0x003001 180 #define EXD_FLOW_V6SADDR 0x003002 181 #define EXD_FLOW_V6DADDR 0x003003 182 #define EXD_FLOW_SPORT 0x003004 183 #define EXD_FLOW_DPORT 0x003005 184 #define EXD_FLOW_PROTOCOL 0x003006 185 #define EXD_FLOW_DSFIELD 0x003007 186 #define EXD_FLOW_NBYTES 0x003008 187 #define EXD_FLOW_NPKTS 0x003009 188 #define EXD_FLOW_CTIME 0x00300a 189 #define EXD_FLOW_LSEEN 0x00300b 190 #define EXD_FLOW_PROJID 0x00300c 191 #define EXD_FLOW_UID 0x00300d 192 #define EXD_FLOW_ANAME 0x00300e 193 194 #define EXD_FMA_LABEL 0x004000 195 #define EXD_FMA_VERSION 0x004001 196 #define EXD_FMA_OSREL 0x004002 197 #define EXD_FMA_OSVER 0x004003 198 #define EXD_FMA_PLAT 0x004004 199 #define EXD_FMA_TODSEC 0x004005 200 #define EXD_FMA_TODNSEC 0x004006 201 #define EXD_FMA_NVLIST 0x004007 202 #define EXD_FMA_MAJOR 0x004008 203 #define EXD_FMA_MINOR 0x004009 204 #define EXD_FMA_INODE 0x00400A 205 #define EXD_FMA_OFFSET 0x00400B 206 #define EXD_FMA_UUID 0x00400C 207 208 /* For EXD_GROUP_FLDESC and EXD_GROUP_LNDESC */ 209 #define EXD_NET_DESC_NAME 0x005001 210 #define EXD_NET_DESC_EHOST 0x005002 211 #define EXD_NET_DESC_EDEST 0x005003 212 #define EXD_NET_DESC_VLAN_TPID 0x005004 213 #define EXD_NET_DESC_VLAN_TCI 0x005005 214 #define EXD_NET_DESC_SAP 0x005006 215 #define EXD_NET_DESC_PRIORITY 0x005007 216 #define EXD_NET_DESC_BWLIMIT 0x005008 217 /* For EXD_GROUP_FLDESC only */ 218 #define EXD_NET_DESC_DEVNAME 0x005009 219 #define EXD_NET_DESC_V4SADDR 0x00500a 220 #define EXD_NET_DESC_V4DADDR 0x00500b 221 #define EXD_NET_DESC_V6SADDR 0x00500c 222 #define EXD_NET_DESC_V6DADDR 0x00500d 223 #define EXD_NET_DESC_SPORT 0x00500e 224 #define EXD_NET_DESC_DPORT 0x00500f 225 #define EXD_NET_DESC_PROTOCOL 0x005010 226 #define EXD_NET_DESC_DSFIELD 0x005011 227 228 /* For EXD_NET_STATS */ 229 #define EXD_NET_STATS_NAME 0x006000 230 #define EXD_NET_STATS_CURTIME 0x006001 231 #define EXD_NET_STATS_IBYTES 0x006002 232 #define EXD_NET_STATS_OBYTES 0x006003 233 #define EXD_NET_STATS_IPKTS 0x006004 234 #define EXD_NET_STATS_OPKTS 0x006005 235 #define EXD_NET_STATS_IERRPKTS 0x006006 236 #define EXD_NET_STATS_OERRPKTS 0x006007 237 238 #ifdef __cplusplus 239 } 240 #endif 241 242 #endif /* _SYS_EXACCT_CATALOG_H */ 243