1*1424dfb3Schristos /* gmon_out.h 2*1424dfb3Schristos 3*1424dfb3Schristos Copyright (C) 2000-2020 Free Software Foundation, Inc. 4*1424dfb3Schristos 5*1424dfb3Schristos This file is part of GNU Binutils. 6*1424dfb3Schristos 7*1424dfb3Schristos This program is free software; you can redistribute it and/or modify 8*1424dfb3Schristos it under the terms of the GNU General Public License as published by 9*1424dfb3Schristos the Free Software Foundation; either version 3 of the License, or 10*1424dfb3Schristos (at your option) any later version. 11*1424dfb3Schristos 12*1424dfb3Schristos This program is distributed in the hope that it will be useful, 13*1424dfb3Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 14*1424dfb3Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*1424dfb3Schristos GNU General Public License for more details. 16*1424dfb3Schristos 17*1424dfb3Schristos You should have received a copy of the GNU General Public License 18*1424dfb3Schristos along with this program; if not, write to the Free Software 19*1424dfb3Schristos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 20*1424dfb3Schristos MA 02110-1301, USA. */ 21*1424dfb3Schristos 22*1424dfb3Schristos /* A gmon.out file consists of a header (defined by gmon_hdr) followed 23*1424dfb3Schristos by a sequence of records. Each record starts with a one-byte tag 24*1424dfb3Schristos identifying the type of records, followed by records specific data. */ 25*1424dfb3Schristos #ifndef gmon_out_h 26*1424dfb3Schristos #define gmon_out_h 27*1424dfb3Schristos 28*1424dfb3Schristos #define GMON_MAGIC "gmon" /* magic cookie */ 29*1424dfb3Schristos #define GMON_VERSION 1 /* version number */ 30*1424dfb3Schristos 31*1424dfb3Schristos /* Raw header as it appears on file (without padding). */ 32*1424dfb3Schristos struct gmon_hdr 33*1424dfb3Schristos { 34*1424dfb3Schristos char cookie[4]; 35*1424dfb3Schristos char version[4]; 36*1424dfb3Schristos char spare[3 * 4]; 37*1424dfb3Schristos }; 38*1424dfb3Schristos 39*1424dfb3Schristos /* Types of records in this file. */ 40*1424dfb3Schristos typedef enum 41*1424dfb3Schristos { 42*1424dfb3Schristos GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 43*1424dfb3Schristos } 44*1424dfb3Schristos GMON_Record_Tag; 45*1424dfb3Schristos 46*1424dfb3Schristos #endif /* gmon_out_h */ 47