Update copyright year to 2014 by running admin/update-copyright.
[emacs.git] / lib-src / ntlib.h
blobdbb0195a30b137eeb48464fd0d1c13bc17480626
1 /* Utility and Unix shadow routines for GNU Emacs support programs on NT.
2 Copyright (C) 1994, 2002-2014 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
9 (at 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 getuid (void);
38 unsigned geteuid (void);
39 unsigned getegid (void);
40 unsigned getgid (void);
41 int setuid (unsigned uid);
42 int setregid (unsigned rgid, unsigned gid);
43 char * getpass (const char * prompt);
44 int fchown (int fd, unsigned uid, unsigned gid);
45 int mkostemp (char * template, int flags);
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
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 lseek _lseek
94 #define popen _popen
95 #define pclose _pclose
96 #define umask _umask
97 #define utime _utime
98 #define index strchr
99 #define rindex strrchr
101 /* Make standard winsock definitions available if needed. */
102 #undef _WINSOCKAPI_
103 #undef _WINSOCK_H
105 /* end of ntlib.h */