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