(Vtruncate_partial_width_windows): Improve docstring.
[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);
22749e9a
EZ
38unsigned getuid ();
39int setuid (unsigned uid);
c911543b 40char * getpass (const char * prompt);
22749e9a 41int fchown (int fd, unsigned uid, unsigned gid);
c911543b
GV
42
43#ifndef BSTRING
44#define bzero(b, l) memset(b, 0, l)
45#define bcopy(s, d, l) memcpy(d, s, l)
46#define bcmp(a, b, l) memcmp(a, b, l)
c911543b
GV
47#endif
48
14fa0be5 49/* redirect or undo interceptions created by config.h */
6bf87eac
GV
50#undef access
51#define access _access
52#undef chdir
53#define chdir _chdir
54#undef chmod
55#define chmod _chmod
56#undef close
57#define close _close
58#undef creat
59#define creat _creat
60#undef ctime
61#undef dup
62#define dup _dup
63#undef dup2
64#define dup2 _dup2
65#undef fopen
66#undef mkdir
67#define mkdir _mkdir
68#undef mktemp
69#define mktemp _mktemp
70#undef open
71#define open _open
72#undef pipe
73#define pipe _pipe
74#undef read
75#define read _read
76#undef rename
77#undef rmdir
78#define rmdir _rmdir
79#undef unlink
80#define unlink _unlink
81#undef write
82#define write _write
83
84/* map to MSVC names */
85#define execlp _execlp
86#define execvp _execvp
6bf87eac 87#define fdopen _fdopen
23bf9efb 88#ifndef fileno
6bf87eac 89#define fileno _fileno
23bf9efb 90#endif
6bf87eac
GV
91#define getcwd _getcwd
92#define getw _getw
93#define getpid _getpid
94#define isatty _isatty
95#define locking _locking
96#define logb _logb
97#define _longjmp longjmp
98#define lseek _lseek
99#define popen _popen
100#define pclose _pclose
6bf87eac
GV
101#define umask _umask
102#define utime _utime
103#define index strchr
104#define rindex strrchr
105
14fa0be5
AI
106/* Make standard winsock definitions available if needed. */
107#undef _WINSOCKAPI_
afffac46 108#undef _WINSOCK_H
14fa0be5 109
c911543b 110/* end of ntlib.h */
ab5796a9
MB
111
112/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
113 (do not change this comment) */