1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-14 09:39:42 +00:00
emacs/lib-src/ntlib.h
Eli Zaretskii 22749e9acb inc/sys/stat.h (struct stat): Change the types of st_uid and st_gid to unsigned.
inc/pwd.h (struct passwd): Change the types of pw_uid and pw_gid to unsigned.
	  (getpwuid): Argument is now unsigned.
	  uid_t is now unsigned.

ntlib.c (setuid): Argument is now unsigned.
	(getuid): Return value is now unsigned.
	(getpwuid): Argument is now unsigned.
	(fchown): UID and GID arguments are now unsigned.

ntlib.h (fchown): UID and GID arguments are now unsigned.
	(getuid): Return value is now unsigned.
	(setuid): Argument is now unsigned.
	(getpwuid): Remove prototype (it's declared in nt/inc/pwd.h).

w32.c   (getpwuid): Change argument type to unsigned.
	(struct w32_id): Change type of `rid' member to unsigned.
	(w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
	argument ID to unsigned.  All callers changed.
	(getuid, geteuid, getgid, getegid): Change return type to unsigned.
2009-03-21 11:31:50 +00:00

114 lines
2.8 KiB
C

/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
Copyright (C) 1994, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009 Free Software Foundation, Inc.
This file is part of GNU Emacs.
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.
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.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <pwd.h>
#include <malloc.h>
/* 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
void sleep(unsigned long seconds);
char *getwd (char *dir);
int getppid(void);
char * getlogin ();
char * cuserid (char * s);
unsigned getuid ();
int setuid (unsigned uid);
char * getpass (const char * prompt);
int fchown (int fd, unsigned uid, unsigned gid);
#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
/* redirect or undo interceptions created by config.h */
#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
#ifndef fileno
#define fileno _fileno
#endif
#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
/* Make standard winsock definitions available if needed. */
#undef _WINSOCKAPI_
#undef _WINSOCK_H
/* end of ntlib.h */
/* arch-tag: 93444f66-7b98-4aa5-a5cd-01444094af28
(do not change this comment) */