fixlib.h 2.59 KB
Newer Older
korbb's avatar
korbb committed
1 2 3 4 5

/* Install modified versions of certain ANSI-incompatible system header
   files which are fixed to work correctly with ANSI C and placed in a
   directory that GNU C will search.

6
   Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
korbb's avatar
korbb committed
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

This file is part of GNU CC.

GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

#ifndef FIXINCLUDES_FIXLIB_H
#define FIXINCLUDES_FIXLIB_H

#include "auto-host.h"
#include "gansidecl.h"
#include "system.h"

#include "gnu-regex.h"
korbb's avatar
korbb committed
33
#include "machname.h"
korbb's avatar
korbb committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

#ifndef STDIN_FILENO
# define STDIN_FILENO   0
#endif
#ifndef STDOUT_FILENO
# define STDOUT_FILENO  1
#endif

typedef int t_success;

#define FAILURE         (-1)
#define SUCCESS           0
#define PROBLEM           1

#define SUCCEEDED(p)    ((p) == SUCCESS)
#define SUCCESSFUL(p)   SUCCEEDED (p)
#define FAILED(p)       ((p) < SUCCESS)
#define HADGLITCH(p)    ((p) > SUCCESS)


#define tSCC static const char
#define tCC  const char
#define tSC  static char

/* If this particular system's header files define the macro `MAXPATHLEN',
   we happily take advantage of it; otherwise we use a value which ought
   to be large enough.  */
#ifndef MAXPATHLEN
# define MAXPATHLEN     4096
#endif

#ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
#endif
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#endif

#define NUL             '\0'

#ifndef NOPROCESS
#define NOPROCESS	((pid_t) -1)
#define NULLPROCESS	((pid_t)0)

#define EXIT_PANIC	99

80 81
#ifndef HAVE_T_BOOL_ENUM
#define HAVE_T_BOOL_ENUM
korbb's avatar
korbb committed
82 83 84 85
typedef enum
{
  BOOL_FALSE, BOOL_TRUE
} t_bool;
86
#endif
korbb's avatar
korbb committed
87

korbb's avatar
korbb committed
88 89 90 91 92
typedef int apply_fix_p_t;  /* Apply Fix Predicate Type */

#define APPLY_FIX 0
#define SKIP_FIX  1

korbb's avatar
korbb committed
93 94 95 96 97 98 99
#define _P_(p)	()
#endif

/*
 *  Exported procedures
 */
char * load_file_data _P_(( FILE* fp ));
korbb's avatar
korbb committed
100
t_bool is_cxx_header  _P_(( tCC* filename, tCC* filetext ));
101 102
void   compile_re     _P_(( tCC* pat, regex_t* re, int match,
			    tCC *e1, tCC *e2 ));
korbb's avatar
korbb committed
103 104
#ifdef MN_NAME_PAT
void   mn_get_regexps _P_(( regex_t** label_re, regex_t** name_re,
105
			    tCC *who ));
korbb's avatar
korbb committed
106
#endif
korbb's avatar
korbb committed
107
#endif /* FIXINCLUDES_FIXLIB_H */