1/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
2   Copyright (C) 1994, 2002, 2003, 2004, 2005,
3                 2006, 2007 Free Software Foundation, Inc.
4
5   This file is part of GNU Emacs.
6
7   GNU Emacs is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2, or (at your option) any later
10   version.
11
12   GNU Emacs is distributed in the hope that it will be useful, but WITHOUT
13   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15   more details.
16
17   You should have received a copy of the GNU General Public License
18   along with GNU Emacs; see the file COPYING.  If not, write to the
19   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20   Boston, MA 02110-1301, USA.
21
22*/
23
24#include <pwd.h>
25#include <malloc.h>
26
27/* Include these headers now so we don't have to worry about include
28   order dependencies in common source files.  */
29#include <direct.h>
30#include <io.h>
31#include <stdio.h>
32
33#ifdef sleep
34#undef sleep
35#endif
36void sleep(unsigned long seconds);
37char *getwd (char *dir);
38int getppid(void);
39char * getlogin ();
40char * cuserid (char * s);
41int getuid ();
42int setuid (int uid);
43struct passwd * getpwuid (int uid);
44char * getpass (const char * prompt);
45int fchown (int fd, int uid, int gid);
46
47#ifndef BSTRING
48#define bzero(b, l) memset(b, 0, l)
49#define bcopy(s, d, l) memcpy(d, s, l)
50#define bcmp(a, b, l) memcmp(a, b, l)
51#endif
52
53/* redirect or undo interceptions created by config.h */
54#undef access
55#define access  _access
56#undef chdir
57#define chdir   _chdir
58#undef chmod
59#define chmod   _chmod
60#undef close
61#define close   _close
62#undef creat
63#define creat   _creat
64#undef ctime
65#undef dup
66#define dup     _dup
67#undef dup2
68#define dup2    _dup2
69#undef fopen
70#undef mkdir
71#define mkdir   _mkdir
72#undef mktemp
73#define mktemp  _mktemp
74#undef open
75#define open    _open
76#undef pipe
77#define pipe    _pipe
78#undef read
79#define read    _read
80#undef rename
81#undef rmdir
82#define rmdir   _rmdir
83#undef unlink
84#define unlink  _unlink
85#undef write
86#define write   _write
87
88/* map to MSVC names */
89#define execlp    _execlp
90#define execvp    _execvp
91#define fcloseall _fcloseall
92#define fdopen	  _fdopen
93#define fgetchar  _fgetchar
94#ifndef fileno
95#define fileno	  _fileno
96#endif
97#define flushall  _flushall
98#define fputchar  _fputchar
99#define getcwd	  _getcwd
100#define getw	  _getw
101#define getpid    _getpid
102#define isatty    _isatty
103#define locking   _locking
104#define logb      _logb
105#define _longjmp  longjmp
106#define lseek     _lseek
107#define popen     _popen
108#define pclose    _pclose
109#define putw	  _putw
110#define umask	  _umask
111#define utime	  _utime
112#define index     strchr
113#define rindex    strrchr
114
115/* Make standard winsock definitions available if needed.  */
116#undef _WINSOCKAPI_
117#undef _WINSOCK_H
118
119/* end of ntlib.h */
120
121/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
122   (do not change this comment) */
123