update copyright dates
[external/binutils.git] / gprof / gmon_io.h
1 /* gmon_io.h
2
3    Copyright 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
4
5 This file is part of GNU Binutils.
6
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.
11
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.
16
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.  */
20 \f
21 #ifndef gmon_io_h
22 #define gmon_io_h
23
24 /* Some platforms need to put stdin into binary mode, to read
25    binary files.  */
26 #include "sysdep.h"
27 #ifdef HAVE_SETMODE
28 #ifndef O_BINARY
29 #ifdef _O_BINARY
30 #define O_BINARY _O_BINARY
31 #define setmode _setmode
32 #else
33 #define O_BINARY 0
34 #endif
35 #endif
36 #if O_BINARY
37 #include <io.h>
38 #define SET_BINARY(f) do { if (!isatty(f)) setmode(f,O_BINARY); } while (0)
39 #endif
40 #endif
41
42 #define INPUT_HISTOGRAM         (1 << 0)
43 #define INPUT_CALL_GRAPH        (1 << 1)
44 #define INPUT_BB_COUNTS         (1 << 2)
45
46 extern int gmon_input;          /* What input did we see?  */
47 extern int gmon_file_version;   /* File version are we dealing with.  */
48
49 extern int gmon_io_read_vma (FILE *ifp, bfd_vma *valp);
50 extern int gmon_io_read_32 (FILE *ifp, unsigned int *valp);
51 extern int gmon_io_read (FILE *ifp, char *buf, size_t n);
52 extern int gmon_io_write_vma (FILE *ifp, bfd_vma val);
53 extern int gmon_io_write_32 (FILE *ifp, unsigned int val);
54 extern int gmon_io_write_8 (FILE *ifp, unsigned int val);
55 extern int gmon_io_write (FILE *ifp, char *buf, size_t n);
56
57 extern void gmon_out_read   (const char *);
58 extern void gmon_out_write  (const char *);
59
60 #endif /* gmon_io_h */