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