1
2
3
4
5
6
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
33
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
/****************************************************************************
* *
* GNAT COMPILER COMPONENTS *
* *
* A D A I N T *
* *
* *
* C Header File *
* *
* Copyright (C) 1992-2002 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT 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 distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, *
* MA 02111-1307, USA. *
* *
* As a special exception, if you link this file with other files to *
* produce an executable, this file does not by itself cause the resulting *
* executable to be covered by the GNU General Public License. This except- *
* ion does not however invalidate any other reasons why the executable *
* file might be covered by the GNU Public License. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). *
* *
****************************************************************************/
#include <dirent.h>
extern int __gnat_max_path_len;
extern void __gnat_to_gm_time PARAMS ((int *, int *,
int *, int *,
int *, int *,
int *));
extern int __gnat_get_maximum_file_name_length PARAMS ((void));
extern int __gnat_get_switches_case_sensitive PARAMS ((void));
extern int __gnat_get_file_names_case_sensitive PARAMS ((void));
extern char __gnat_get_default_identifier_character_set PARAMS ((void));
extern void __gnat_get_current_dir PARAMS ((char *, int *));
extern void __gnat_get_object_suffix_ptr PARAMS ((int *,
const char **));
extern void __gnat_get_executable_suffix_ptr PARAMS ((int *,
const char **));
extern void __gnat_get_debuggable_suffix_ptr PARAMS ((int *,
const char **));
extern int __gnat_readlink PARAMS ((char *, char *,
size_t));
extern int __gnat_symlink PARAMS ((char *, char *));
extern int __gnat_try_lock PARAMS ((char *, char *));
extern int __gnat_open_new PARAMS ((char *, int));
extern int __gnat_open_new_temp PARAMS ((char *, int));
extern int __gnat_mkdir PARAMS ((char *));
extern int __gnat_stat PARAMS ((char *,
struct stat *));
extern int __gnat_open_read PARAMS ((char *, int));
extern int __gnat_open_rw PARAMS ((char *, int));
extern int __gnat_open_create PARAMS ((char *, int));
extern int __gnat_open_append PARAMS ((char *, int));
extern long __gnat_file_length PARAMS ((int));
extern void __gnat_tmp_name PARAMS ((char *));
extern char *__gnat_readdir PARAMS ((DIR *, char *));
extern int __gnat_readdir_is_thread_safe PARAMS ((void));
extern time_t __gnat_file_time_name PARAMS ((char *));
extern time_t __gnat_file_time_fd PARAMS ((int));
extern void __gnat_set_file_time_name PARAMS ((char *, time_t));
extern void __gnat_get_env_value_ptr PARAMS ((char *, int *,
char **));
extern int __gnat_file_exists PARAMS ((char *));
extern int __gnat_is_regular_file PARAMS ((char *));
extern int __gnat_is_absolute_path PARAMS ((char *));
extern int __gnat_is_directory PARAMS ((char *));
extern int __gnat_is_writable_file PARAMS ((char *));
extern int __gnat_portable_spawn PARAMS ((char *[]));
extern int __gnat_portable_no_block_spawn PARAMS ((char *[]));
extern int __gnat_portable_wait PARAMS ((int *));
extern int __gnat_waitpid PARAMS ((int));
extern char *__gnat_locate_exec PARAMS ((char *, char *));
extern char *__gnat_locate_exec_on_path PARAMS ((char *));
extern char *__gnat_locate_regular_file PARAMS ((char *, char *));
extern void __gnat_maybe_glob_args PARAMS ((int *, char ***));
extern void __gnat_os_exit PARAMS ((int));
extern void __gnat_set_env_value PARAMS ((char *, char *));
extern char *__gnat_get_libraries_from_registry PARAMS ((void));
extern int __gnat_to_canonical_file_list_init PARAMS ((char *, int));
extern char *__gnat_to_canonical_file_list_next PARAMS ((void));
extern void __gnat_to_canonical_file_list_free PARAMS ((void));
extern char *__gnat_to_canonical_dir_spec PARAMS ((char *, int));
extern char *__gnat_to_canonical_file_spec PARAMS ((char *));
extern char *__gnat_to_host_dir_spec PARAMS ((char *, int));
extern char *__gnat_to_host_file_spec PARAMS ((char *));
extern char *__gnat_to_canonical_path_spec PARAMS ((char *));
extern void __gnat_adjust_os_resource_limits PARAMS ((void));
extern int __gnat_feof PARAMS ((FILE *));
extern int __gnat_ferror PARAMS ((FILE *));
extern int __gnat_fileno PARAMS ((FILE *));
extern int __gnat_is_regular_file_fd PARAMS ((int));
extern FILE *__gnat_constant_stderr PARAMS ((void));
extern FILE *__gnat_constant_stdin PARAMS ((void));
extern FILE *__gnat_constant_stdout PARAMS ((void));
extern char *__gnat_full_name PARAMS ((char *, char *));
extern int __gnat_arg_count PARAMS ((void));
extern int __gnat_len_arg PARAMS ((int));
extern void __gnat_fill_arg PARAMS ((char *, int));
extern int __gnat_env_count PARAMS ((void));
extern int __gnat_len_env PARAMS ((int));
extern void __gnat_fill_env PARAMS ((char *, int));
/* Routines for interface to scanf and printf functions for integer values */
extern int get_int PARAMS ((void));
extern void put_int PARAMS ((int));
extern void put_int_stderr PARAMS ((int));
extern int get_char PARAMS ((void));
extern void put_char PARAMS ((int));
extern void put_char_stderr PARAMS ((int));
extern char *mktemp PARAMS ((char *));
extern void __gnat_set_exit_status PARAMS ((int));
extern int __gnat_expect_fork PARAMS ((void));
extern void __gnat_expect_portable_execvp PARAMS ((char *, char *[]));
extern int __gnat_pipe PARAMS ((int *));
extern int __gnat_expect_poll PARAMS ((int *, int, int,
int *));
extern void __gnat_set_binary_mode PARAMS ((int));
extern void __gnat_set_text_mode PARAMS ((int));
extern char *__gnat_ttyname PARAMS ((int));
#ifdef IN_RTS
/* Portable definition of strdup, which is not available on all systems. */
#define xstrdup(S) strcpy ((char *) malloc (strlen (S) + 1), S)
#endif
|