deprecated eval-when situations
[bpt/guile.git] / libguile / filesys.h
CommitLineData
0f2d19dd
JB
1/* classes: h_files */
2
b29058ff
DH
3#ifndef SCM_FILESYS_H
4#define SCM_FILESYS_H
5
fbac7c61 6/* Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2006, 2008, 2009,
26d14806 7 * 2010, 2011, 2013 Free Software Foundation, Inc.
b29058ff 8 *
73be1d9e 9 * This library is free software; you can redistribute it and/or
53befeb7
NJ
10 * modify it under the terms of the GNU Lesser General Public License
11 * as published by the Free Software Foundation; either version 3 of
12 * the License, or (at your option) any later version.
b29058ff 13 *
53befeb7
NJ
14 * This library is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
73be1d9e
MV
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
b29058ff 18 *
73be1d9e
MV
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
53befeb7
NJ
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 * 02110-1301 USA
73be1d9e 23 */
d3a6bc94 24
0f2d19dd
JB
25\f
26
b4309c3c 27#include "libguile/__scm.h"
0f2d19dd
JB
28
29\f
30
33b001fd 31SCM_API scm_t_bits scm_tc16_dir;
30ea841d 32
b9ef8e66 33#define SCM_DIR_FLAG_OPEN (1L << 0)
30ea841d 34
dc7da0be 35#define SCM_DIRP(x) (SCM_HAS_TYP16 (x, scm_tc16_dir))
b9ef8e66 36#define SCM_DIR_OPEN_P(x) (SCM_SMOB_FLAGS (x) & SCM_DIR_FLAG_OPEN)
47457e8a 37
0f2d19dd 38\f
0f2d19dd 39
33b001fd
MV
40SCM_API SCM scm_chown (SCM object, SCM owner, SCM group);
41SCM_API SCM scm_chmod (SCM object, SCM mode);
42SCM_API SCM scm_umask (SCM mode);
43SCM_API SCM scm_open_fdes (SCM path, SCM flags, SCM mode);
44SCM_API SCM scm_open (SCM path, SCM flags, SCM mode);
45SCM_API SCM scm_close (SCM fd_or_port);
46SCM_API SCM scm_close_fdes (SCM fd);
fcb6f5ff 47SCM_API SCM scm_stat (SCM object, SCM exception_on_error);
33b001fd
MV
48SCM_API SCM scm_link (SCM oldpath, SCM newpath);
49SCM_API SCM scm_rename (SCM oldname, SCM newname);
50SCM_API SCM scm_delete_file (SCM str);
51SCM_API SCM scm_mkdir (SCM path, SCM mode);
52SCM_API SCM scm_rmdir (SCM path);
53SCM_API SCM scm_directory_stream_p (SCM obj);
54SCM_API SCM scm_opendir (SCM dirname);
55SCM_API SCM scm_readdir (SCM port);
56SCM_API SCM scm_rewinddir (SCM port);
57SCM_API SCM scm_closedir (SCM port);
58SCM_API SCM scm_chdir (SCM str);
59SCM_API SCM scm_getcwd (void);
60SCM_API SCM scm_select (SCM reads, SCM writes, SCM excepts, SCM secs, SCM msecs);
61SCM_API SCM scm_fcntl (SCM object, SCM cmd, SCM value);
62SCM_API SCM scm_fsync (SCM object);
63SCM_API SCM scm_symlink (SCM oldpath, SCM newpath);
64SCM_API SCM scm_readlink (SCM path);
65SCM_API SCM scm_lstat (SCM str);
66SCM_API SCM scm_copy_file (SCM oldfile, SCM newfile);
67SCM_API SCM scm_dirname (SCM filename);
68SCM_API SCM scm_basename (SCM filename, SCM suffix);
25b82b34 69SCM_API SCM scm_canonicalize_path (SCM path);
fbac7c61 70SCM_API SCM scm_sendfile (SCM out, SCM in, SCM count, SCM offset);
22457d57 71SCM_INTERNAL SCM scm_i_relativize_path (SCM path, SCM in_path);
6a738a25 72
102dbb6f 73SCM_INTERNAL void scm_init_filesys (void);
0f2d19dd 74
b29058ff 75#endif /* SCM_FILESYS_H */
89e00824
ML
76
77/*
78 Local Variables:
79 c-file-style: "gnu"
80 End:
81*/