1 // os.h copyright "Ruurd A. Reitsma" <R.A.Reitsma@wbmt.tudelft.nl>
12 /// Do we need a base class for this?
17 UNIX, // Do we have to distinguish sh and csh?
22 static void init(int * argc, char ** argv[]);
25 static string binpath() {return binpath_;};
28 static string binname() {return binname_;};
30 // system_tempdir actually doesn't belong here.
31 // I put it here only to avoid a global variable.
32 static void setTmpDir(string p) {tmpdir_ = p;};
35 static string getTmpDir() {return tmpdir_;};
38 static string current_root();
41 static os::shell_type shell() {return _shell;};
44 static string::size_type common_path(string const &p1, string const &p2);
46 // no-op on UNIX, '\\'->'/' on OS/2 and Win32, ':'->'/' on MacOS, etc.
47 static string slashify_path(string p);
48 // converts a host OS path to unix style
49 static string external_path(string p);
50 // converts a unix path to host OS style
51 static string internal_path(string p);
52 static void warn(string mesg);
54 static string binpath_;
55 static string binname_;
56 static string tmpdir_;
57 static os::shell_type _shell;
58 // Used only on OS/2 to determine file system encoding.
59 static unsigned long cp_;
61 // Never initialize static variables in the header!
62 // Anyway I bet this class will never be constructed.