annotate lib-src/ntlib.h @ 80402:bc43e42e2fb4

(url-digest-auth): Changed an if so that the interaction between the PROMPT and OVERWRITE arguments can no longer result in the user being queried twice for the same login and password information.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 31 Mar 2008 22:02:24 +0000
parents 5714ff101fd9
children 606f2d163a64 3a4bc081639c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
1 /* Utility and Unix shadow routines for GNU Emacs support programs on NT.
68647
3661e9b3c48f Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64769
diff changeset
2 Copyright (C) 1994, 2002, 2003, 2004, 2005,
79748
5714ff101fd9 Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78257
diff changeset
3 2006, 2007, 2008 Free Software Foundation, Inc.
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
4
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
5 This file is part of GNU Emacs.
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
6
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify it
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
78257
1f2482de3237 Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
9 Free Software Foundation; either version 3, or (at your option) any later
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
10 version.
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
11
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful, but WITHOUT
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
15 more details.
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
16
15742
80562f089595 Fix FSF address in comment.
Karl Heuer <kwzh@gnu.org>
parents: 15674
diff changeset
17 You should have received a copy of the GNU General Public License
80562f089595 Fix FSF address in comment.
Karl Heuer <kwzh@gnu.org>
parents: 15674
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to the
64083
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63018
diff changeset
19 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23a17af379b1 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63018
diff changeset
20 Boston, MA 02110-1301, USA.
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
21
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
22 */
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
23
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
24 #include <pwd.h>
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
25 #include <malloc.h>
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
26
19232
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
27 /* Include these headers now so we don't have to worry about include
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
28 order dependencies in common source files. */
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
29 #include <direct.h>
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
30 #include <io.h>
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
31 #include <stdio.h>
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
32
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
33 #ifdef sleep
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
34 #undef sleep
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
35 #endif
31082
9865d23be9e7 (WIN32): Remove unnecessary definition.
Andrew Innes <andrewi@gnu.org>
parents: 22315
diff changeset
36 void sleep(unsigned long seconds);
15674
772d00a51db0 Correct return type of getwd.
Karl Heuer <kwzh@gnu.org>
parents: 15139
diff changeset
37 char *getwd (char *dir);
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
38 int getppid(void);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
39 char * getlogin ();
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
40 char * cuserid (char * s);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
41 int getuid ();
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
42 int setuid (int uid);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
43 struct passwd * getpwuid (int uid);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
44 char * getpass (const char * prompt);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
45 int fchown (int fd, int uid, int gid);
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
46
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
47 #ifndef BSTRING
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
48 #define bzero(b, l) memset(b, 0, l)
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
49 #define bcopy(s, d, l) memcpy(d, s, l)
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
50 #define bcmp(a, b, l) memcmp(a, b, l)
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
51 #endif
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
52
22315
80daf55e329a Undefine _WINSOCKAPI_.
Andrew Innes <andrewi@gnu.org>
parents: 19232
diff changeset
53 /* redirect or undo interceptions created by config.h */
19232
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
54 #undef access
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
55 #define access _access
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
56 #undef chdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
57 #define chdir _chdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
58 #undef chmod
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
59 #define chmod _chmod
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
60 #undef close
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
61 #define close _close
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
62 #undef creat
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
63 #define creat _creat
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
64 #undef ctime
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
65 #undef dup
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
66 #define dup _dup
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
67 #undef dup2
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
68 #define dup2 _dup2
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
69 #undef fopen
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
70 #undef mkdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
71 #define mkdir _mkdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
72 #undef mktemp
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
73 #define mktemp _mktemp
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
74 #undef open
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
75 #define open _open
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
76 #undef pipe
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
77 #define pipe _pipe
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
78 #undef read
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
79 #define read _read
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
80 #undef rename
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
81 #undef rmdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
82 #define rmdir _rmdir
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
83 #undef unlink
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
84 #define unlink _unlink
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
85 #undef write
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
86 #define write _write
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
87
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
88 /* map to MSVC names */
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
89 #define execlp _execlp
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
90 #define execvp _execvp
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
91 #define fcloseall _fcloseall
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
92 #define fdopen _fdopen
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
93 #define fgetchar _fgetchar
63018
e50e8a19d938 (fileno): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents: 52401
diff changeset
94 #ifndef fileno
19232
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
95 #define fileno _fileno
63018
e50e8a19d938 (fileno): Don't define if already defined.
Eli Zaretskii <eliz@gnu.org>
parents: 52401
diff changeset
96 #endif
19232
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
97 #define flushall _flushall
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
98 #define fputchar _fputchar
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
99 #define getcwd _getcwd
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
100 #define getw _getw
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
101 #define getpid _getpid
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
102 #define isatty _isatty
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
103 #define locking _locking
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
104 #define logb _logb
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
105 #define _longjmp longjmp
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
106 #define lseek _lseek
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
107 #define popen _popen
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
108 #define pclose _pclose
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
109 #define putw _putw
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
110 #define umask _umask
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
111 #define utime _utime
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
112 #define index strchr
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
113 #define rindex strrchr
9b2a1f0c73dc Add includes.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
114
22315
80daf55e329a Undefine _WINSOCKAPI_.
Andrew Innes <andrewi@gnu.org>
parents: 19232
diff changeset
115 /* Make standard winsock definitions available if needed. */
80daf55e329a Undefine _WINSOCKAPI_.
Andrew Innes <andrewi@gnu.org>
parents: 19232
diff changeset
116 #undef _WINSOCKAPI_
31082
9865d23be9e7 (WIN32): Remove unnecessary definition.
Andrew Innes <andrewi@gnu.org>
parents: 22315
diff changeset
117 #undef _WINSOCK_H
22315
80daf55e329a Undefine _WINSOCKAPI_.
Andrew Innes <andrewi@gnu.org>
parents: 19232
diff changeset
118
15139
4d638e5a9e7d Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
119 /* end of ntlib.h */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 31082
diff changeset
120
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 31082
diff changeset
121 /* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 31082
diff changeset
122 (do not change this comment) */