root/trunk/lib-src/ntlib.h

Revision 4220, 3.4 kB (checked in by miyoshi, 8 months ago)

Sync up with Emacs22.2.

  • Property svn:eol-style set to native
Line 
1 /* Utility and Unix shadow routines for GNU Emacs support programs on NT.
2    Copyright (C) 1994, 2002, 2003, 2004, 2005,
3                  2006, 2007, 2008 Free Software Foundation, Inc.
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 3, 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
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
19    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20    Boston, MA 02110-1301, USA.
21
22 */
23
24 #include <pwd.h>
25 #include <malloc.h>
26
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
36 void sleep(unsigned long seconds);
37 char *getwd (char *dir);
38 int getppid(void);
39 char * getlogin ();
40 char * cuserid (char * s);
41 int getuid ();
42 int setuid (int uid);
43 struct passwd * getpwuid (int uid);
44 char * getpass (const char * prompt);
45 int 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)
51 #endif
52
53 /* redirect or undo interceptions created by config.h */
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 /* Hacks for Mingw environment */
89 #if defined (__MINGW32__)
90 #include <_mingw.h>
91 /* On Mingw-3.2 or any later version, the following undefinition is
92  required to avoid compilation warnings. */
93 #if __MINGW32_MAJOR_VERSION >= 4 \
94         || __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 2
95 #undef fileno
96 #endif /* __MINGW32_MAJOR_VERSION >= 4
97           || __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 2 */
98 #endif /* ! __MINGW32__ */
99
100 /* map to MSVC names */
101 #define execlp    _execlp
102 #define execvp    _execvp
103 #define fcloseall _fcloseall
104 #define fdopen    _fdopen
105 #define fgetchar  _fgetchar
106 #ifndef fileno
107 #define fileno    _fileno
108 #endif
109 #define flushall  _flushall
110 #define fputchar  _fputchar
111 #define getcwd    _getcwd
112 #define getw      _getw
113 #define getpid    _getpid
114 #define isatty    _isatty
115 #define locking   _locking
116 #define logb      _logb
117 #define _longjmp  longjmp
118 #define lseek     _lseek
119 #define popen     _popen
120 #define pclose    _pclose
121 #define putw      _putw
122 #define umask     _umask
123 #define utime     _utime
124 #define index     strchr
125 #define rindex    strrchr
126
127 /* Make standard winsock definitions available if needed.  */
128 #undef _WINSOCKAPI_
129 #undef _WINSOCK_H
130
131 /* end of ntlib.h */
132
133 /* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
134    (do not change this comment) */
Note: See TracBrowser for help on using the browser.