ntlib.h 2.84 KB
Newer Older
Geoff Voelker's avatar
Geoff Voelker committed
1
/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
2
   Copyright (C) 1994, 2002, 2003, 2004, 2005, 2006, 2007,
3
                 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Geoff Voelker's avatar
Geoff Voelker committed
4

5
This file is part of GNU Emacs.
Geoff Voelker's avatar
Geoff Voelker committed
6

7 8 9 10
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Geoff Voelker's avatar
Geoff Voelker committed
11

12 13 14 15
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
Geoff Voelker's avatar
Geoff Voelker committed
16

17 18
You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
Geoff Voelker's avatar
Geoff Voelker committed
19 20 21 22 23


#include <pwd.h>
#include <malloc.h>

Geoff Voelker's avatar
Geoff Voelker committed
24 25 26 27 28 29 30 31 32
/* Include these headers now so we don't have to worry about include
   order dependencies in common source files.  */
#include <direct.h>
#include <io.h>
#include <stdio.h>

#ifdef sleep
#undef sleep
#endif
33
void sleep(unsigned long seconds);
Karl Heuer's avatar
Karl Heuer committed
34
char *getwd (char *dir);
Geoff Voelker's avatar
Geoff Voelker committed
35 36 37
int getppid(void);
char * getlogin ();
char * cuserid (char * s);
38
unsigned getuid ();
39 40
unsigned getegid ();
unsigned getgid ();
41
int setuid (unsigned uid);
42
int setregid (unsigned rgid, unsigned gid);
Geoff Voelker's avatar
Geoff Voelker committed
43
char * getpass (const char * prompt);
44
int fchown (int fd, unsigned uid, unsigned gid);
Geoff Voelker's avatar
Geoff Voelker committed
45 46 47 48 49 50 51

#ifndef BSTRING
#define bzero(b, l) memset(b, 0, l)
#define bcopy(s, d, l) memcpy(d, s, l)
#define bcmp(a, b, l) memcmp(a, b, l)
#endif

Andrew Innes's avatar
Andrew Innes committed
52
/* redirect or undo interceptions created by config.h */
Geoff Voelker's avatar
Geoff Voelker committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
#undef access
#define access  _access
#undef chdir
#define chdir   _chdir
#undef chmod
#define chmod   _chmod
#undef close
#define close   _close
#undef creat
#define creat   _creat
#undef ctime
#undef dup
#define dup     _dup
#undef dup2
#define dup2    _dup2
#undef fopen
#undef mkdir
#define mkdir   _mkdir
#undef mktemp
#define mktemp  _mktemp
#undef open
#define open    _open
#undef pipe
#define pipe    _pipe
#undef read
#define read    _read
#undef rename
#undef rmdir
#define rmdir   _rmdir
#undef unlink
#define unlink  _unlink
#undef write
#define write   _write

/* map to MSVC names */
#define execlp    _execlp
#define execvp    _execvp
#define fdopen	  _fdopen
91
#ifndef fileno
Geoff Voelker's avatar
Geoff Voelker committed
92
#define fileno	  _fileno
93
#endif
Geoff Voelker's avatar
Geoff Voelker committed
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
#define getcwd	  _getcwd
#define getw	  _getw
#define getpid    _getpid
#define isatty    _isatty
#define locking   _locking
#define logb      _logb
#define _longjmp  longjmp
#define lseek     _lseek
#define popen     _popen
#define pclose    _pclose
#define umask	  _umask
#define utime	  _utime
#define index     strchr
#define rindex    strrchr

Andrew Innes's avatar
Andrew Innes committed
109 110
/* Make standard winsock definitions available if needed.  */
#undef _WINSOCKAPI_
111
#undef _WINSOCK_H
Andrew Innes's avatar
Andrew Innes committed
112

Geoff Voelker's avatar
Geoff Voelker committed
113
/* end of ntlib.h */
Miles Bader's avatar
Miles Bader committed
114 115 116

/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
   (do not change this comment) */