annotate liboctave/system/file-ops.h @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 7854d5752dd2
children 6a5e4ef80a95
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29359
diff changeset
3 // Copyright (C) 1996-2022 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
1765
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
25
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 20713
diff changeset
26 #if ! defined (octave_file_ops_h)
1765
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
27 #define octave_file_ops_h 1
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
28
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21017
diff changeset
29 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21017
diff changeset
30
1765
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
31 #include <string>
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
32
2283
cc9b29d0b43e [project @ 1996-05-27 17:40:57 by jwe]
jwe
parents: 2074
diff changeset
33 #include <sys/types.h>
cc9b29d0b43e [project @ 1996-05-27 17:40:57 by jwe]
jwe
parents: 2074
diff changeset
34
3040
443851377f3f [project @ 1997-06-06 09:29:28 by jwe]
jwe
parents: 2937
diff changeset
35 #include "str-vec.h"
443851377f3f [project @ 1997-06-06 09:29:28 by jwe]
jwe
parents: 2937
diff changeset
36
21734
11af9c03400c write namespace keyword and name on same line in C++ files
John W. Eaton <jwe@octave.org>
parents: 21733
diff changeset
37 namespace octave
1765
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
38 {
21734
11af9c03400c write namespace keyword and name on same line in C++ files
John W. Eaton <jwe@octave.org>
parents: 21733
diff changeset
39 namespace sys
10197
4d433bd2d4dc attempt to avoid trouble with gnulib #defines in a consistent way
John W. Eaton <jwe@octave.org>
parents: 10182
diff changeset
40 {
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
41 namespace file_ops
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
42 {
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
43 typedef std::string (*tilde_expansion_hook) (const std::string&);
4097
596f88296519 [project @ 2002-10-09 20:26:27 by jwe]
jwe
parents: 3710
diff changeset
44
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
45 // If non-null, this contains the address of a function that the
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
46 // application wants called before trying the standard tilde
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
47 // expansions. The function is called with the text sans tilde, and
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
48 // returns a malloc()'ed string which is the expansion, or a NULL
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
49 // pointer if the expansion fails.
22869
f75d289645ec make deleted functions public
John W. Eaton <jwe@octave.org>
parents: 22865
diff changeset
50
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
51 extern OCTAVE_API tilde_expansion_hook tilde_expansion_preexpansion_hook;
22869
f75d289645ec make deleted functions public
John W. Eaton <jwe@octave.org>
parents: 22865
diff changeset
52
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
53 // If non-null, this contains the address of a function to call if the
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
54 // standard meaning for expanding a tilde fails. The function is
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
55 // called with the text (sans tilde, as in "foo"), and returns a
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
56 // malloc()'ed string which is the expansion, or a NULL pointer if
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
57 // there is no expansion.
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
58
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
59 extern OCTAVE_API tilde_expansion_hook tilde_expansion_failure_hook;
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
60
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
61 // When non-null, this is a NULL terminated array of strings which are
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
62 // duplicates for a tilde prefix. Bash uses this to expand '=~' and
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
63 // ':~'.
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
64
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
65 extern OCTAVE_API string_vector tilde_additional_prefixes;
21881
aea1bf9493c0 * file-ops.h, file-ops.cc (file_ops::file_ops): Now protected.
John W. Eaton <jwe@octave.org>
parents: 21752
diff changeset
66
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
67 // When non-null, this is a NULL terminated array of strings which
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
68 // match the end of a username, instead of just "/". Bash sets this
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
69 // to ':' and '=~'.
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
70
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
71 extern OCTAVE_API string_vector tilde_additional_suffixes;
21881
aea1bf9493c0 * file-ops.h, file-ops.cc (file_ops::file_ops): Now protected.
John W. Eaton <jwe@octave.org>
parents: 21752
diff changeset
72
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
73 // Find the start of a tilde expansion in S, and return the index
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
74 // of the tilde which starts the expansion. Place the length of the
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
75 // text which identified this tilde starter in LEN, excluding the
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
76 // tilde itself.
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
77
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
78 extern OCTAVE_API char dev_sep_char (void);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
79
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
80 extern OCTAVE_API bool is_dev_sep (char c);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
81
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
82 extern OCTAVE_API char dir_sep_char (void);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
83
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
84 extern OCTAVE_API std::string dir_sep_str (void);
4101
ea537559ab07 [project @ 2002-10-11 20:57:21 by jwe]
jwe
parents: 4099
diff changeset
85
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
86 extern OCTAVE_API std::string dir_sep_chars (void);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
87
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
88 extern OCTAVE_API bool is_dir_sep (char c);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
89
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
90 // If NAME has a leading ~ or ~user, Unix-style, expand it to the
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
91 // user's home directory. If no ~, or no <pwd.h>, just return NAME.
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
92
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
93 extern OCTAVE_API std::string tilde_expand (const std::string&);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
94
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
95 // A vector version of the above.
10197
4d433bd2d4dc attempt to avoid trouble with gnulib #defines in a consistent way
John W. Eaton <jwe@octave.org>
parents: 10182
diff changeset
96
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
97 extern OCTAVE_API string_vector tilde_expand (const string_vector&);
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
98
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
99 extern OCTAVE_API std::string concat (const std::string&, const std::string&);
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
100
22146
ef91e43f162a set DLL directory when loading DLLs on Windows systems (bug #48511)
John W. Eaton <jwe@octave.org>
parents: 21881
diff changeset
101 // Return the directory part of a filename or an empty string if
ef91e43f162a set DLL directory when loading DLLs on Windows systems (bug #48511)
John W. Eaton <jwe@octave.org>
parents: 21881
diff changeset
102 // there is no directory component. Does not check to see
ef91e43f162a set DLL directory when loading DLLs on Windows systems (bug #48511)
John W. Eaton <jwe@octave.org>
parents: 21881
diff changeset
103 // whether the file exists or is a directory.
ef91e43f162a set DLL directory when loading DLLs on Windows systems (bug #48511)
John W. Eaton <jwe@octave.org>
parents: 21881
diff changeset
104
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
105 extern OCTAVE_API std::string dirname (const std::string& path);
22157
c5842206aaea maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 22146
diff changeset
106
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
107 // Return the tail member of a filename.
10197
4d433bd2d4dc attempt to avoid trouble with gnulib #defines in a consistent way
John W. Eaton <jwe@octave.org>
parents: 10182
diff changeset
108
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
109 extern OCTAVE_API std::string tail (const std::string& path);
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
110
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
111 // Convert path from UNIX type separators to whatever is the
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
112 // system separators.
7272
05ee52d7fad6 [project @ 2007-12-10 07:06:00 by jwe]
jwe
parents: 7017
diff changeset
113
29229
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
114 extern OCTAVE_API std::string
ed5eacd5c3ed Set API tags in files in liboctave/system (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27923
diff changeset
115 native_separator_path (const std::string& path);
23744
ae74608b6a5d don't use singleton pattern for file_ops
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
116 }
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
117
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
118 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
119 mkdir (const std::string&, mode_t);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
120
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
121 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
122 mkdir (const std::string&, mode_t, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
123
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
124 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
125 mkfifo (const std::string&, mode_t);
9182
23af5910e5f5 make load work for derived classses
Robert T. Short <octave@phaselockedsystems.com>
parents: 8920
diff changeset
126
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
127 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
128 mkfifo (const std::string&, mode_t, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
129
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
130 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
131 link (const std::string&, const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
132
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
133 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
134 link (const std::string&, const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
135
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
136 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
137 symlink (const std::string&, const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
138
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
139 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
140 symlink (const std::string&, const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
141
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
142 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
143 readlink (const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
144
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
145 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
146 readlink (const std::string&, std::string&, std::string&);
9182
23af5910e5f5 make load work for derived classses
Robert T. Short <octave@phaselockedsystems.com>
parents: 8920
diff changeset
147
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
148 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
149 rename (const std::string&, const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
150
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
151 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
152 rename (const std::string&, const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
153
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
154 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
155 rmdir (const std::string&);
18410
073fbe7e6a3a Use native separatos in __fltk_getfile__
John Donoghue <john.donoghue@ieee.org>
parents: 17744
diff changeset
156
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
157 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
158 rmdir (const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
159
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
160 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
161 recursive_rmdir (const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
162
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
163 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
164 recursive_rmdir (const std::string&, std::string&);
8007
a2ab20ba78f7 make file_ops a proper singleton class
John W. Eaton <jwe@octave.org>
parents: 7272
diff changeset
165
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
166 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
167 umask (mode_t);
8009
d936b21b3a6b file_ops: use singleton class for static data members
John W. Eaton <jwe@octave.org>
parents: 8007
diff changeset
168
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
169 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
170 unlink (const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
171
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
172 extern OCTAVE_API int
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
173 unlink (const std::string&, std::string&);
13983
7dd7cccf0757 clean up memory allocated for singletons before exit
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
174
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
175 extern OCTAVE_API std::string
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
176 tempnam (const std::string&, const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
177
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
178 extern OCTAVE_API std::string
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
179 tempnam (const std::string&, const std::string&, std::string&);
8009
d936b21b3a6b file_ops: use singleton class for static data members
John W. Eaton <jwe@octave.org>
parents: 8007
diff changeset
180
21733
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
181 extern OCTAVE_API std::string
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
182 canonicalize_file_name (const std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
183
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
184 extern OCTAVE_API std::string
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
185 canonicalize_file_name (const std::string&, std::string&);
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
186 }
cb0fdd941d84 use namespace for system file_ops class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
187 }
8007
a2ab20ba78f7 make file_ops a proper singleton class
John W. Eaton <jwe@octave.org>
parents: 7272
diff changeset
188
1765
a51354c34bea [project @ 1996-01-23 03:33:34 by jwe]
jwe
parents:
diff changeset
189 #endif