guile-elisp bootstrap (lisp)
[bpt/emacs.git] / lib-src / ntlib.h
... / ...
CommitLineData
1/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
2 Copyright (C) 1994, 2002-2014 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
18
19#include <pwd.h>
20#include <malloc.h>
21
22/* Include these headers now so we don't have to worry about include
23 order dependencies in common source files. */
24#include <direct.h>
25#include <fcntl.h>
26#include <io.h>
27#include <stdio.h>
28
29#ifdef sleep
30#undef sleep
31#endif
32unsigned sleep (unsigned seconds);
33char *getwd (char *dir);
34int getppid (void);
35char * getlogin (void);
36char * cuserid (char * s);
37unsigned getuid (void);
38unsigned geteuid (void);
39unsigned getegid (void);
40unsigned getgid (void);
41int setuid (unsigned uid);
42int setregid (unsigned rgid, unsigned gid);
43char * getpass (const char * prompt);
44int fchown (int fd, unsigned uid, unsigned gid);
45int mkostemp (char * template, int flags);
46
47/* redirect or undo interceptions created by config.h */
48#undef access
49#define access _access
50#undef chdir
51#define chdir _chdir
52#undef chmod
53#define chmod _chmod
54#undef close
55#define close _close
56#undef creat
57#define creat _creat
58#undef ctime
59#undef dup
60#define dup _dup
61#undef dup2
62#define dup2 _dup2
63#undef fopen
64#undef mkdir
65#define mkdir _mkdir
66#undef open
67#define open _open
68#undef pipe
69#define pipe _pipe
70#undef read
71#define read _read
72#undef rmdir
73#define rmdir _rmdir
74#undef unlink
75#define unlink _unlink
76#undef write
77#define write _write
78
79/* map to MSVC names */
80#define execlp _execlp
81#define execvp _execvp
82#define fdopen _fdopen
83#ifndef fileno
84#define fileno _fileno
85#endif
86#define getcwd _getcwd
87#define getw _getw
88#define getpid _getpid
89#define isatty _isatty
90#define locking _locking
91#define logb _logb
92#define _longjmp longjmp
93#define popen _popen
94#define pclose _pclose
95#define umask _umask
96#define utime _utime
97#define index strchr
98#define rindex strrchr
99
100/* Make standard winsock definitions available if needed. */
101#undef _WINSOCKAPI_
102#undef _WINSOCK_H
103
104/* end of ntlib.h */
105