]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
28bf4b0b | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. |
885824d3 | 3 | ** See ../LICENSE for license information. |
4 | ** | |
5 | */ | |
6 | /* | |
7 | ** osd.h | |
8 | */ | |
9 | ||
10 | # ifndef OSD_H | |
11 | # define OSD_H | |
12 | ||
13 | /* Macro to substitute for ## because VAX C currently doesn't allow it. */ | |
14 | # ifdef __STDC__ | |
15 | /* Use an intermediate paste macro so PASTE macro arguments will get */ | |
16 | /* evaluated. Therefore, PASTE(PASTE(a,b),c) will work. */ | |
17 | /*@notfunction@*/ | |
18 | # define IPASTE(L,R) L ## R | |
19 | /*@notfunction@*/ | |
20 | # define PASTE(L,R) IPASTE(L,R) | |
21 | # else | |
22 | /*@notfunction@*/ | |
23 | # define PASTE(L,R ) L/**/R | |
24 | # endif | |
25 | ||
26 | /* Macro to substitute for # because VAX C currently doesn't allow it. */ | |
27 | # ifdef __STDC__ | |
28 | /*@notfunction@*/ | |
29 | # define ISTR(x) # x | |
30 | /*@notfunction@*/ | |
31 | # define STR(x) ISTR(x) | |
32 | # else | |
33 | /*@notfunction@*/ | |
34 | # define ISTR(x) "x" | |
35 | /*@notfunction@*/ | |
36 | # define STR(x) ISTR(x) | |
37 | # endif | |
38 | ||
39 | /* | |
40 | ** MAXPATHLEN defines the longest permissable path length. | |
41 | ** Is defined in <sys/param.h> in MIPS/Ultrix, but it not defined on the VAX. | |
42 | ** Define here so available on both systems. | |
43 | */ | |
44 | ||
45 | /*@constant int MAXPATHLEN; @*/ | |
46 | # define MAXPATHLEN 1024 | |
47 | ||
48 | typedef enum { | |
49 | OSD_FILEFOUND, | |
50 | OSD_FILENOTFOUND, | |
51 | OSD_PATHTOOLONG } filestatus; | |
52 | ||
28bf4b0b | 53 | extern /*@only@*/ cstring LSLRootName (cstring p_filespec) /*@*/ ; |
885824d3 | 54 | |
55 | extern filestatus | |
28bf4b0b | 56 | osd_getPath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath) |
885824d3 | 57 | /*@modifies *p_returnPath@*/ ; |
58 | ||
59 | extern filestatus | |
28bf4b0b | 60 | osd_getExePath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath) |
885824d3 | 61 | /*@modifies *p_returnPath@*/ ; |
62 | ||
28bf4b0b | 63 | extern bool osd_fileExists (cstring p_filespec) /*@*/ ; |
64 | extern /*@observer@*/ cstring | |
65 | osd_getEnvironment (cstring p_env, /*@returned@*/ cstring p_def) /*@*/ ; | |
885824d3 | 66 | |
28bf4b0b | 67 | extern filestatus osd_findOnLarchPath (cstring p_file, /*@out@*/ cstring *p_returnPath) |
885824d3 | 68 | /*@modifies *p_returnPath@*/ ; |
69 | ||
28bf4b0b | 70 | extern /*@observer@*/ cstring osd_getHomeDir (void) /*@*/ ; |
885824d3 | 71 | |
28bf4b0b | 72 | extern /*@observer@*/ cstring osd_getEnvironmentVariable (cstring) ; |
885824d3 | 73 | |
74 | # ifndef NOLCL | |
75 | /*@constant int CALL_SUCCESS@*/ | |
76 | # define CALL_SUCCESS 0 | |
28bf4b0b | 77 | extern int osd_system (cstring p_cmd) /*@modifies fileSystem@*/ ; |
885824d3 | 78 | # endif |
79 | ||
28bf4b0b | 80 | extern int osd_unlink (cstring) /*@modifies fileSystem@*/ ; |
81 | extern cstring osd_fixDefine (cstring); | |
82 | extern bool osd_fileIsReadable (cstring); | |
885824d3 | 83 | |
84 | extern bool osd_isConnectChar (char) /*@*/ ; | |
85 | ||
86 | # ifdef WIN32 | |
87 | extern int osd_getPid (void) ; | |
88 | # else | |
89 | extern int /*pid_t*/ osd_getPid (void) ; | |
90 | # endif | |
91 | ||
92 | # else | |
93 | # error "Multiple include" | |
94 | # endif | |
95 | ||
96 | ||
97 |