In legion build config, updated path to GNU tools and updated deprecated Sun CC flag...
[OpenSPARC-T2-SAM] / sam-t2 / sam / system / util / include / fileutil.h
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: fileutil.h
5* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
7*
8* The above named program is free software; you can redistribute it and/or
9* modify it under the terms of the GNU General Public
10* License version 2 as published by the Free Software Foundation.
11*
12* The above named program is distributed in the hope that it will be
13* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15* General Public License for more details.
16*
17* You should have received a copy of the GNU General Public
18* License along with this work; if not, write to the Free Software
19* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20*
21* ========== Copyright Header End ============================================
22*/
23#ifndef _fileutil_h
24#define _fileutil_h
25
26#include <sys/types.h>
27
28#pragma ident "@(#)1.3 04/03/26 fileutil.h"
29
30FILE *fopen_as_uid(const char *filename, const char *mode);
31FILE *fopen_dir_path(const char *dir, const char *a, const char *b,
32 const char *mode);
33
34void rm_rf_directory(char *dir_name);
35void rm_f_file(char *filename);
36
37int isDir(const char *dirname);
38int isFile(const char *filename);
39
40 // returns false if no such file. Returns true if cannot read parent dir.
41int fileExists(const char *filename);
42
43//
44// Various useful utilities
45//
46char *get_substr_until (char *src, char *tgt, char stop_symbol);
47char *get_quoted_substr (char *src, char *tgt);
48
49typedef struct addr_pair_t
50{
51 uint64_t addr;
52 uint64_t size;
53} AddrPair;
54
55AddrPair * eval_mem_image (FILE *fp, int *ret_size);
56
57
58#endif /* _fileutil_h */