File: wrap.h

package info (click to toggle)
mcvs 1.0.13-8
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 668 kB
  • ctags: 648
  • sloc: lisp: 5,091; ansic: 223; sh: 190; makefile: 58
file content (61 lines) | stat: -rw-r--r-- 1,763 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <dirent.h>

#define MCVS_WRAP(FUNC, RETTYPE, ARGNAMES, ARGDECLS) \
RETTYPE mcvs_ ## FUNC ARGDECLS;

MCVS_WRAP(strerror, char *, (errnum), (int errnum))
MCVS_WRAP(opendir, DIR *, (name), (const char *name))
MCVS_WRAP(closedir, int, (dir), (DIR *dir))
MCVS_WRAP(open, int, (pathname, flags), (const char *pathname, int flags))
MCVS_WRAP(close, int, (fd), (int fd))
MCVS_WRAP(chdir, int, (path), (const char *path))
MCVS_WRAP(fchdir, int, (fd), (int fd))
MCVS_WRAP(link, int, (oldpath, newpath), (const char *oldpath, const char *newpath))
MCVS_WRAP(symlink, int, (oldpath, newpath), (const char *oldpath, const char *newpath))
MCVS_WRAP(unlink, int, (pathname), (const char *pathname))
MCVS_WRAP(rmdir, int, (pathname), (const char *pathname))
MCVS_WRAP(chmod, int, (path, mode), (const char *path, mode_t mode))

int mcvs_null_pointer_p(void *ptr);
int mcvs_get_errno(void);
int mcvs_set_errno(int value);

typedef struct {
  unsigned long d_ino;
  char d_name[1024];
} mcvs_dirent;

mcvs_dirent *mcvs_readdir(DIR *dir);

struct mcvs_stat {
  unsigned long dev;
  unsigned long ino;
  unsigned long mode;
  unsigned int nlink;
  unsigned int uid;
  unsigned int gid;
  unsigned long rdev;
  unsigned long blksize;
  unsigned long blocks;
  unsigned long atime;
  unsigned long mtime;
  unsigned long ctime;
};

#define IMPL_STAT(FUNC, ARGTYPE) \
int mcvs_ ## FUNC(ARGTYPE arg, struct mcvs_stat *buf);

IMPL_STAT(stat, const char *)
IMPL_STAT(lstat, const char *)
IMPL_STAT(fstat, int)

char *mcvs_readlink(const char *path);
const char *mcvs_getcwd(void);
void mcvs_default_sigchld();
char *mcvs_ctermid(void);

#ifdef __CYGWIN__
int mcvs_spawn(const char *name, const char *const *argv);
#else
int mcvs_spawn(const char *name, char *const *argv);
#endif