2001-05-28 Philip Blundell <philb@gnu.org>
[binutils.git] / gprof / gmon_io.h
blobb081561bcd8026289ab351538873fd4d209be033
1 /* gmon_io.h
3 Copyright (C) 2000 Free Software Foundation, Inc.
5 This file is part of GNU Binutils.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
21 #ifndef gmon_io_h
22 #define gmon_io_h
24 #include "bfd.h"
25 #include "gmon.h"
27 /* Some platforms need to put stdin into binary mode, to read
28 binary files. */
29 #include "sysdep.h"
30 #ifdef HAVE_SETMODE
31 #ifndef O_BINARY
32 #ifdef _O_BINARY
33 #define O_BINARY _O_BINARY
34 #define setmode _setmode
35 #else
36 #define O_BINARY 0
37 #endif
38 #endif
39 #if O_BINARY
40 #include <io.h>
41 #define SET_BINARY(f) do { if (!isatty(f)) setmode(f,O_BINARY); } while (0)
42 #endif
43 #endif
45 #define INPUT_HISTOGRAM (1 << 0)
46 #define INPUT_CALL_GRAPH (1 << 1)
47 #define INPUT_BB_COUNTS (1 << 2)
49 extern int gmon_input; /* What input did we see? */
50 extern int gmon_file_version; /* File version are we dealing with. */
52 extern bfd_vma get_vma PARAMS ((bfd *, bfd_byte *));
53 extern void put_vma PARAMS ((bfd *, bfd_vma, bfd_byte *));
54 extern void gmon_out_read PARAMS ((const char *));
55 extern void gmon_out_write PARAMS ((const char *));
57 #endif /* gmon_io_h */