*** empty log message ***
[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
23#include <pwd.h>
24#include <malloc.h>
25
6bf87eac
GV
26/* Include these headers now so we don't have to worry about include
27 order dependencies in common source files. */
28#include <direct.h>
29#include <io.h>
30#include <stdio.h>
31
32#ifdef sleep
33#undef sleep
34#endif
afffac46 35void sleep(unsigned long seconds);
4eb8218d 36char *getwd (char *dir);
c911543b
GV
37int getppid(void);
38char * getlogin ();
39char * cuserid (char * s);
40int getuid ();
41int setuid (int uid);
42struct passwd * getpwuid (int uid);
43char * getpass (const char * prompt);
44int fchown (int fd, int uid, int gid);
45
46#ifndef BSTRING
47#define bzero(b, l) memset(b, 0, l)
48#define bcopy(s, d, l) memcpy(d, s, l)
49#define bcmp(a, b, l) memcmp(a, b, l)
c911543b
GV
50#endif
51
14fa0be5 52/* redirect or undo interceptions created by config.h */
6bf87eac
GV
53#undef access
54#define access _access
55#undef chdir
56#define chdir _chdir
57#undef chmod
58#define chmod _chmod
59#undef close
60#define close _close
61#undef creat
62#define creat _creat
63#undef ctime
64#undef dup
65#define dup _dup
66#undef dup2
67#define dup2 _dup2
68#undef fopen
69#undef mkdir
70#define mkdir _mkdir
71#undef mktemp
72#define mktemp _mktemp
73#undef open
74#define open _open
75#undef pipe
76#define pipe _pipe
77#undef read
78#define read _read
79#undef rename
80#undef rmdir
81#define rmdir _rmdir
82#undef unlink
83#define unlink _unlink
84#undef write
85#define write _write
86
87/* map to MSVC names */
88#define execlp _execlp
89#define execvp _execvp
90#define fcloseall _fcloseall
91#define fdopen _fdopen
92#define fgetchar _fgetchar
93#define fileno _fileno
94#define flushall _flushall
95#define fputchar _fputchar
96#define getcwd _getcwd
97#define getw _getw
98#define getpid _getpid
99#define isatty _isatty
100#define locking _locking
101#define logb _logb
102#define _longjmp longjmp
103#define lseek _lseek
104#define popen _popen
105#define pclose _pclose
106#define putw _putw
107#define umask _umask
108#define utime _utime
109#define index strchr
110#define rindex strrchr
111
14fa0be5
AI
112/* Make standard winsock definitions available if needed. */
113#undef _WINSOCKAPI_
afffac46 114#undef _WINSOCK_H
14fa0be5 115
c911543b 116/* end of ntlib.h */