Merge from gnus--rel--5.10
[bpt/emacs.git] / lib-src / ntlib.h
CommitLineData
c911543b 1/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
273dc16a 2 Copyright (C) 1994, 2002, 2003, 2004, 2005,
4e6835db 3 2006, 2007 Free Software Foundation, Inc.
c911543b
GV
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
1fb87c77
KH
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
364c38d3
LK
19 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
c911543b
GV
21
22*/
23
24#include <pwd.h>
25#include <malloc.h>
26
6bf87eac
GV
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
afffac46 36void sleep(unsigned long seconds);
4eb8218d 37char *getwd (char *dir);
c911543b
GV
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)
c911543b
GV
51#endif
52
14fa0be5 53/* redirect or undo interceptions created by config.h */
6bf87eac
GV
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
23bf9efb 94#ifndef fileno
6bf87eac 95#define fileno _fileno
23bf9efb 96#endif
6bf87eac
GV
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
14fa0be5
AI
115/* Make standard winsock definitions available if needed. */
116#undef _WINSOCKAPI_
afffac46 117#undef _WINSOCK_H
14fa0be5 118
c911543b 119/* end of ntlib.h */
ab5796a9
MB
120
121/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
122 (do not change this comment) */