OSDN Git Service

ff6959d8af409d034d9bfffe903b7c888f7d28c6
[pf3gnuchains/gcc-fork.git] / gcc / ada / adaint.h
1 /****************************************************************************
2  *                                                                          *
3  *                         GNAT COMPILER COMPONENTS                         *
4  *                                                                          *
5  *                               A D A I N T                                *
6  *                                                                          *
7  *                                                                          *
8  *                              C Header File                               *
9  *                                                                          *
10  *          Copyright (C) 1992-2003 Free Software Foundation, Inc.          *
11  *                                                                          *
12  * GNAT is free software;  you can  redistribute it  and/or modify it under *
13  * terms of the  GNU General Public License as published  by the Free Soft- *
14  * ware  Foundation;  either version 2,  or (at your option) any later ver- *
15  * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
16  * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
17  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
18  * for  more details.  You should have  received  a copy of the GNU General *
19  * Public License  distributed with GNAT;  see file COPYING.  If not, write *
20  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
21  * MA 02111-1307, USA.                                                      *
22  *                                                                          *
23  * As a  special  exception,  if you  link  this file  with other  files to *
24  * produce an executable,  this file does not by itself cause the resulting *
25  * executable to be covered by the GNU General Public License. This except- *
26  * ion does not  however invalidate  any other reasons  why the  executable *
27  * file might be covered by the  GNU Public License.                        *
28  *                                                                          *
29  * GNAT was originally developed  by the GNAT team at  New York University. *
30  * Extensive contributions were provided by Ada Core Technologies Inc.      *
31  *                                                                          *
32  ****************************************************************************/
33
34 #include <dirent.h>
35
36 extern int    __gnat_max_path_len;
37 extern void   __gnat_to_gm_time                    PARAMS ((int *, int *,
38                                                             int *, int *,
39                                                             int *, int *,
40                                                             int *));
41 extern int    __gnat_get_maximum_file_name_length  PARAMS ((void));
42 extern int    __gnat_get_switches_case_sensitive   PARAMS ((void));
43 extern int    __gnat_get_file_names_case_sensitive PARAMS ((void));
44 extern char   __gnat_get_default_identifier_character_set PARAMS ((void));
45 extern void   __gnat_get_current_dir               PARAMS ((char *, int *));
46 extern void   __gnat_get_object_suffix_ptr         PARAMS ((int *,
47                                                             const char **));
48 extern void   __gnat_get_executable_suffix_ptr     PARAMS ((int *,
49                                                             const char **));
50 extern void   __gnat_get_debuggable_suffix_ptr     PARAMS ((int *,
51                                                             const char **));
52 extern int    __gnat_readlink                      PARAMS ((char *, char *,
53                                                             size_t));
54 extern int    __gnat_symlink                       PARAMS ((char *, char *));
55 extern int    __gnat_try_lock                      PARAMS ((char *, char *));
56 extern int    __gnat_open_new                      PARAMS ((char *, int));
57 extern int    __gnat_open_new_temp                 PARAMS ((char *, int));
58 extern int    __gnat_mkdir                         PARAMS ((char *));
59 extern int    __gnat_stat                          PARAMS ((char *, 
60                                                             struct stat *));
61 extern int    __gnat_open_read                     PARAMS ((char *, int));
62 extern int    __gnat_open_rw                       PARAMS ((char *, int));
63 extern int    __gnat_open_create                   PARAMS ((char *, int));
64 extern int    __gnat_open_append                   PARAMS ((char *, int));
65 extern long   __gnat_file_length                   PARAMS ((int));
66 extern void   __gnat_tmp_name                      PARAMS ((char *));
67 extern char  *__gnat_readdir                       PARAMS ((DIR *, char *));
68 extern int    __gnat_readdir_is_thread_safe        PARAMS ((void));
69 extern time_t __gnat_file_time_name                PARAMS ((char *));
70 extern time_t __gnat_file_time_fd                  PARAMS ((int));
71 extern void   __gnat_set_file_time_name            PARAMS ((char *, time_t));
72 extern void   __gnat_get_env_value_ptr             PARAMS ((char *, int *,
73                                                             char **));
74 extern int    __gnat_file_exists                   PARAMS ((char *));
75 extern int    __gnat_is_regular_file               PARAMS ((char *));
76 extern int    __gnat_is_absolute_path              PARAMS ((char *));
77 extern int    __gnat_is_directory                  PARAMS ((char *));
78 extern int    __gnat_is_writable_file              PARAMS ((char *));
79 extern int    __gnat_portable_spawn                PARAMS ((char *[]));
80 extern int    __gnat_portable_no_block_spawn       PARAMS ((char *[]));
81 extern int    __gnat_portable_wait                 PARAMS ((int *));
82 extern int    __gnat_waitpid                       PARAMS ((int));
83 extern char  *__gnat_locate_exec                   PARAMS ((char *, char *));
84 extern char  *__gnat_locate_exec_on_path                   PARAMS ((char *));
85 extern char  *__gnat_locate_regular_file           PARAMS ((char *, char *));
86 extern void   __gnat_maybe_glob_args               PARAMS ((int *, char ***));
87 extern void   __gnat_os_exit                       PARAMS ((int));
88 extern void   __gnat_set_env_value                 PARAMS ((char *, char *));
89 extern char  *__gnat_get_libraries_from_registry   PARAMS ((void));
90 extern int    __gnat_to_canonical_file_list_init   PARAMS ((char *, int));
91 extern char  *__gnat_to_canonical_file_list_next   PARAMS ((void));
92 extern void   __gnat_to_canonical_file_list_free   PARAMS ((void));
93 extern char  *__gnat_to_canonical_dir_spec         PARAMS ((char *, int));
94 extern char  *__gnat_to_canonical_file_spec        PARAMS ((char *));
95 extern char  *__gnat_to_host_dir_spec              PARAMS ((char *, int));
96 extern char  *__gnat_to_host_file_spec             PARAMS ((char *));
97 extern char  *__gnat_to_canonical_path_spec        PARAMS ((char *));
98 extern void   __gnat_adjust_os_resource_limits     PARAMS ((void));
99
100 extern int     __gnat_feof                         PARAMS ((FILE *));
101 extern int     __gnat_ferror                       PARAMS ((FILE *));
102 extern int     __gnat_fileno                       PARAMS ((FILE *));
103 extern int     __gnat_is_regular_file_fd           PARAMS ((int));
104 extern FILE *__gnat_constant_stderr                PARAMS ((void));
105 extern FILE *__gnat_constant_stdin                 PARAMS ((void));
106 extern FILE *__gnat_constant_stdout                PARAMS ((void));
107 extern char *__gnat_full_name                      PARAMS ((char *, char *));
108
109 extern int    __gnat_arg_count                     PARAMS ((void));
110 extern int    __gnat_len_arg                       PARAMS ((int));
111 extern void   __gnat_fill_arg                      PARAMS ((char *, int));
112 extern int    __gnat_env_count                     PARAMS ((void));
113 extern int    __gnat_len_env                       PARAMS ((int));
114 extern void   __gnat_fill_env                      PARAMS ((char *, int));
115
116 /* Routines for interface to scanf and printf functions for integer values */
117
118 extern int    get_int                              PARAMS ((void));
119 extern void   put_int                              PARAMS ((int));
120 extern void   put_int_stderr                       PARAMS ((int));
121 extern int    get_char                             PARAMS ((void));
122 extern void   put_char                             PARAMS ((int));
123 extern void   put_char_stderr                      PARAMS ((int));
124 extern char  *mktemp                               PARAMS ((char *));
125
126 extern void   __gnat_set_exit_status               PARAMS ((int));
127
128 extern int    __gnat_expect_fork                   PARAMS ((void));
129 extern void   __gnat_expect_portable_execvp        PARAMS ((char *, char *[]));
130 extern int    __gnat_pipe                          PARAMS ((int *));
131 extern int    __gnat_expect_poll                   PARAMS ((int *, int, int,
132                                                             int *));
133 extern void    __gnat_set_binary_mode              PARAMS ((int));
134 extern void    __gnat_set_text_mode                PARAMS ((int));
135 extern char   *__gnat_ttyname                      PARAMS ((int));
136
137 extern void   convert_addresses                    PARAMS ((char *[], int,
138                                                             void *, int *));
139
140 #ifdef IN_RTS
141 /* Portable definition of strdup, which is not available on all systems.  */
142 #define xstrdup(S)  strcpy ((char *) malloc (strlen (S) + 1), S)
143 #endif