]> andersk Git - splint.git/blame_incremental - src/Headers/osd.h
Merged code tree with Dave Evans's version. Many changes to numberous to list....
[splint.git] / src / Headers / osd.h
... / ...
CommitLineData
1/*
2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
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
48typedef enum {
49 OSD_FILEFOUND,
50 OSD_FILENOTFOUND,
51 OSD_PATHTOOLONG } filestatus;
52
53extern /*@only@*/ cstring LSLRootName (cstring p_filespec) /*@*/ ;
54
55extern filestatus
56 osd_getPath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath)
57 /*@modifies *p_returnPath@*/ ;
58
59extern filestatus
60 osd_getExePath (cstring p_path, cstring p_file, /*@out@*/ cstring *p_returnPath)
61 /*@modifies *p_returnPath@*/ ;
62
63extern bool osd_fileExists (cstring p_filespec) /*@*/ ;
64extern /*@observer@*/ cstring
65 osd_getEnvironment (cstring p_env, /*@returned@*/ cstring p_def) /*@*/ ;
66
67extern filestatus osd_findOnLarchPath (cstring p_file, /*@out@*/ cstring *p_returnPath)
68 /*@modifies *p_returnPath@*/ ;
69
70extern /*@observer@*/ cstring osd_getHomeDir (void) /*@*/ ;
71
72extern /*@observer@*/ cstring osd_getEnvironmentVariable (cstring) ;
73
74# ifndef NOLCL
75/*@constant int CALL_SUCCESS@*/
76# define CALL_SUCCESS 0
77extern int osd_system (cstring p_cmd) /*@modifies fileSystem@*/ ;
78# endif
79
80extern int osd_unlink (cstring) /*@modifies fileSystem@*/ ;
81extern cstring osd_fixDefine (cstring);
82extern bool osd_fileIsReadable (cstring);
83
84extern bool osd_isConnectChar (char) /*@*/ ;
85
86# ifdef WIN32
87extern int osd_getPid (void) ;
88# else
89extern int /*pid_t*/ osd_getPid (void) ;
90# endif
91
92# else
93# error "Multiple include"
94# endif
95
96
97
This page took 0.248422 seconds and 5 git commands to generate.