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