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