2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
13 /* Macro to substitute for ## because VAX C currently doesn't allow it. */
15 /* Use an intermediate paste macro so PASTE macro arguments will get */
16 /* evaluated. Therefore, PASTE(PASTE(a,b),c) will work. */
18 # define IPASTE(L,R) L ## R
20 # define PASTE(L,R) IPASTE(L,R)
23 # define PASTE(L,R ) L/**/R
26 /* Macro to substitute for # because VAX C currently doesn't allow it. */
31 # define STR(x) ISTR(x)
36 # define STR(x) ISTR(x)
40 ** MAXPATHLEN defines the longest permissable path length.
42 ** POSIX defines PATHMAX in limits.h
46 /*@constant size_t MAXPATHLEN; @*/
47 # define MAXPATHLEN PATH_MAX
49 /*@constant size_t MAXPATHLEN; @*/
50 # define MAXPATHLEN 1024
56 OSD_PATHTOOLONG } filestatus;
58 extern /*@only@*/ cstring LSLRootName (cstring p_filespec) /*@*/ ;
61 osd_getPath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath)
62 /*@modifies *p_returnPath@*/ ;
65 osd_getExePath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath)
66 /*@modifies *p_returnPath@*/ ;
68 extern bool osd_fileExists (cstring p_filespec) /*@*/ ;
69 extern /*@observer@*/ cstring
70 osd_getEnvironment (cstring p_env, /*@returned@*/ cstring p_def) /*@*/ ;
72 extern filestatus osd_findOnLarchPath (cstring p_file, /*@out@*/ cstring *p_returnPath)
73 /*@modifies *p_returnPath@*/ ;
75 extern /*@observer@*/ cstring osd_getHomeDir (void) /*@*/ ;
77 extern /*@observer@*/ cstring osd_getEnvironmentVariable (cstring) ;
80 /*@constant int CALL_SUCCESS@*/
81 # define CALL_SUCCESS 0
82 extern int osd_system (cstring p_cmd) /*@modifies fileSystem@*/ ;
85 extern cstring osd_absolutePath (cstring p_cwd, cstring p_filename) /*@*/ ;
86 extern cstring osd_outputPath (cstring p_filename) /*@*/ ;
87 extern void osd_initMod (void) /*@modifies internalState@*/ ;
89 extern bool osd_equalCanonicalPrefix (cstring p_dirpath, cstring p_prefixpath) /*@*/ ;
91 extern int osd_unlink (cstring) /*@modifies fileSystem@*/ ;
92 extern cstring osd_fixDefine (cstring);
93 extern bool osd_fileIsReadable (cstring);
95 extern bool osd_isConnectChar (char) /*@*/ ;
98 extern int osd_getPid (void) ;
100 extern int /*pid_t*/ osd_getPid (void) ;
104 # error "Multiple include"