* winsup.h: Split out dtable definitions into separate header file.
* dtable.h: New file. * sigproc.h: Eliminate pinfo.h usage here. Use it in source files that need it.
This commit is contained in:
parent
3ee92b51d6
commit
e2ebe11776
|
@ -1,3 +1,10 @@
|
||||||
|
Sat Aug 12 01:33:12 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
|
* winsup.h: Split out dtable definitions into separate header file.
|
||||||
|
* dtable.h: New file.
|
||||||
|
* sigproc.h: Eliminate pinfo.h usage here. Use it in source files that
|
||||||
|
need it.
|
||||||
|
|
||||||
Sat Aug 12 01:08:11 2000 Christopher Faylor <cgf@cygnus.com>
|
Sat Aug 12 01:08:11 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
* Makefile.in: Use dtable.o rather than hinfo.o.
|
* Makefile.in: Use dtable.o rather than hinfo.o.
|
||||||
|
|
|
@ -16,6 +16,8 @@ details. */
|
||||||
#include "dll_init.h"
|
#include "dll_init.h"
|
||||||
#include "autoload.h"
|
#include "autoload.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define MAX_AT_FILE_LEVEL 10
|
#define MAX_AT_FILE_LEVEL 10
|
||||||
|
|
||||||
|
@ -730,7 +732,7 @@ dll_crt0_1 ()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate fdtab */
|
/* Allocate fdtab */
|
||||||
fdtab_init ();
|
dtable_init ();
|
||||||
|
|
||||||
/* Initialize uid, gid. */
|
/* Initialize uid, gid. */
|
||||||
uinfo_init ();
|
uinfo_init ();
|
||||||
|
|
|
@ -10,6 +10,7 @@ details. */
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include "perthread.h"
|
#include "perthread.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
static muto NO_COPY *threadname_lock = NULL;
|
static muto NO_COPY *threadname_lock = NULL;
|
||||||
#define lock_threadname() \
|
#define lock_threadname() \
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define _COMPILING_NEWLIB
|
#define _COMPILING_NEWLIB
|
||||||
#include "dirent.h"
|
#include "dirent.h"
|
||||||
|
|
|
@ -20,12 +20,14 @@ details. */
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
dtable fdtab;
|
dtable fdtab;
|
||||||
|
|
||||||
/* Set aside space for the table of fds */
|
/* Set aside space for the table of fds */
|
||||||
void
|
void
|
||||||
fdtab_init (void)
|
dtable_init (void)
|
||||||
{
|
{
|
||||||
if (!fdtab.size)
|
if (!fdtab.size)
|
||||||
fdtab.extend(NOFILE_INCR);
|
fdtab.extend(NOFILE_INCR);
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* dtable.h: fd table definition.
|
||||||
|
|
||||||
|
Copyright 2000 Red Hat, Inc.
|
||||||
|
|
||||||
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
This software is a copyrighted work licensed under the terms of the
|
||||||
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
class dtable
|
||||||
|
{
|
||||||
|
fhandler_base **fds;
|
||||||
|
fhandler_base **fds_on_hold;
|
||||||
|
int first_fd_for_open;
|
||||||
|
public:
|
||||||
|
size_t size;
|
||||||
|
dtable () {first_fd_for_open = 3;}
|
||||||
|
int vfork_child_dup ();
|
||||||
|
void vfork_parent_restore ();
|
||||||
|
fhandler_base *dup_worker (fhandler_base *oldfh);
|
||||||
|
int extend (int howmuch);
|
||||||
|
void fixup_after_fork (HANDLE);
|
||||||
|
fhandler_base *build_fhandler (int fd, DWORD dev, const char *name,
|
||||||
|
int unit = -1);
|
||||||
|
fhandler_base *build_fhandler (int fd, const char *name, HANDLE h);
|
||||||
|
int not_open (int n);
|
||||||
|
int find_unused_handle (int start);
|
||||||
|
int find_unused_handle () { return find_unused_handle (first_fd_for_open);}
|
||||||
|
void release (int fd);
|
||||||
|
void init_std_file_from_handle (int fd, HANDLE handle, DWORD access, const char *name);
|
||||||
|
int dup2 (int oldfd, int newfd);
|
||||||
|
int linearize_fd_array (unsigned char *buf, int buflen);
|
||||||
|
LPBYTE de_linearize_fd_array (LPBYTE buf);
|
||||||
|
fhandler_base *operator [](int fd) { return fds[fd]; }
|
||||||
|
select_record *select_read (int fd, select_record *s);
|
||||||
|
select_record *select_write (int fd, select_record *s);
|
||||||
|
select_record *select_except (int fd, select_record *s);
|
||||||
|
operator fhandler_base **() {return fds;}
|
||||||
|
};
|
||||||
|
|
||||||
|
void dtable_init (void);
|
||||||
|
void stdio_init (void);
|
||||||
|
extern dtable fdtab;
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern BOOL allow_glob;
|
extern BOOL allow_glob;
|
||||||
extern BOOL allow_ntea;
|
extern BOOL allow_ntea;
|
||||||
|
|
|
@ -15,6 +15,7 @@ details. */
|
||||||
|
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include <imagehlp.h>
|
#include <imagehlp.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
char debugger_command[2 * MAX_PATH + 20];
|
char debugger_command[2 * MAX_PATH + 20];
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
details. */
|
details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
static external_pinfo *
|
static external_pinfo *
|
||||||
fillout_pinfo (pid_t pid, int winpid)
|
fillout_pinfo (pid_t pid, int winpid)
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
int
|
int
|
||||||
|
|
|
@ -22,6 +22,7 @@ details. */
|
||||||
#include <wingdi.h>
|
#include <wingdi.h>
|
||||||
#include <winuser.h>
|
#include <winuser.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scroll the screen context.
|
* Scroll the screen context.
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
/* fhandler_serial */
|
/* fhandler_serial */
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/* Common functions shared by tty/console */
|
/* Common functions shared by tty/console */
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ details. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
/* Tty master stuff */
|
/* Tty master stuff */
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ details. */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "dll_init.h"
|
#include "dll_init.h"
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
DWORD NO_COPY chunksize = 0;
|
DWORD NO_COPY chunksize = 0;
|
||||||
/* Timeout to wait for child to start, parent to init child, etc. */
|
/* Timeout to wait for child to start, parent to init child, etc. */
|
||||||
|
|
|
@ -15,6 +15,7 @@ details. */
|
||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/* Read /etc/group only once for better performance. This is done
|
/* Read /etc/group only once for better performance. This is done
|
||||||
on the first call that needs information from it. */
|
on the first call that needs information from it. */
|
||||||
|
|
|
@ -10,6 +10,7 @@ details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define brksize ((char *) user_data->heaptop - (char *) user_data->heapbase)
|
#define brksize ((char *) user_data->heaptop - (char *) user_data->heapbase)
|
||||||
#define brk (user_data->heapptr)
|
#define brk (user_data->heapptr)
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
int
|
int
|
||||||
|
|
|
@ -13,7 +13,8 @@ details. */
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Simple class used to keep a record of all current
|
* Simple class used to keep a record of all current
|
||||||
|
|
|
@ -23,6 +23,8 @@ details. */
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "autoload.h"
|
#include "autoload.h"
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/* We only want to initialize WinSock in a child process if socket
|
/* We only want to initialize WinSock in a child process if socket
|
||||||
handles are inheritted. This global allows us to know whether this
|
handles are inheritted. This global allows us to know whether this
|
||||||
|
|
|
@ -13,6 +13,8 @@ details. */
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/* Read /etc/passwd only once for better performance. This is done
|
/* Read /etc/passwd only once for better performance. This is done
|
||||||
on the first call that needs information from it. */
|
on the first call that needs information from it. */
|
||||||
|
|
|
@ -81,6 +81,7 @@ details. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <winioctl.h>
|
#include <winioctl.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
static int normalize_win32_path (const char *cwd, const char *src, char *dst);
|
static int normalize_win32_path (const char *cwd, const char *src, char *dst);
|
||||||
static char *getcwd_inner (char *buf, size_t ulen, int posix_p, int with_chroot);
|
static char *getcwd_inner (char *buf, size_t ulen, int posix_p, int with_chroot);
|
||||||
|
|
|
@ -13,6 +13,8 @@ details. */
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
static char NO_COPY pinfo_dummy[sizeof(pinfo)] = {0};
|
static char NO_COPY pinfo_dummy[sizeof(pinfo)] = {0};
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ details. */
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/fcntl.h>
|
#include <sys/fcntl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
make_pipe (int fildes[2], unsigned int psize, int mode)
|
make_pipe (int fildes[2], unsigned int psize, int mode)
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <sys/poll.h>
|
#include <sys/poll.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
int
|
int
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
/* add timeval values */
|
/* add timeval values */
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -22,6 +22,8 @@ details. */
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/acl.h>
|
#include <sys/acl.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern BOOL allow_ntea;
|
extern BOOL allow_ntea;
|
||||||
BOOL allow_ntsec = FALSE;
|
BOOL allow_ntsec = FALSE;
|
||||||
|
|
|
@ -33,6 +33,7 @@ details. */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
#include "select.h"
|
#include "select.h"
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* All these defines below should be in sys/types.h
|
* All these defines below should be in sys/types.h
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define SHAREDVER (unsigned)(cygwin_version.api_major << 16 | \
|
#define SHAREDVER (unsigned)(cygwin_version.api_major << 16 | \
|
||||||
cygwin_version.api_minor)
|
cygwin_version.api_minor)
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
_sig_func_ptr
|
_sig_func_ptr
|
||||||
|
|
|
@ -16,6 +16,7 @@ details. */
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern BOOL allow_ntsec;
|
extern BOOL allow_ntsec;
|
||||||
|
|
||||||
|
|
|
@ -94,8 +94,7 @@ int __stdcall handle_sigsuspend (sigset_t);
|
||||||
|
|
||||||
int __stdcall proc_subproc (DWORD, DWORD);
|
int __stdcall proc_subproc (DWORD, DWORD);
|
||||||
|
|
||||||
#include "pinfo.h"
|
class _pinfo;
|
||||||
|
|
||||||
void __stdcall proc_terminate ();
|
void __stdcall proc_terminate ();
|
||||||
void __stdcall sigproc_init ();
|
void __stdcall sigproc_init ();
|
||||||
void __stdcall subproc_init ();
|
void __stdcall subproc_init ();
|
||||||
|
|
|
@ -19,7 +19,9 @@ details. */
|
||||||
#include <wingdi.h>
|
#include <wingdi.h>
|
||||||
#include <winuser.h>
|
#include <winuser.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "paths.h"
|
#include <paths.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern BOOL allow_ntsec;
|
extern BOOL allow_ntsec;
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
#include <wingdi.h>
|
#include <wingdi.h>
|
||||||
#include <winuser.h>
|
#include <winuser.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define PROTECT(x) x[sizeof(x)-1] = 0
|
#define PROTECT(x) x[sizeof(x)-1] = 0
|
||||||
#define CHECK(x) if (x[sizeof(x)-1] != 0) { small_printf("array bound exceeded %d\n", __LINE__); ExitProcess(1); }
|
#define CHECK(x) if (x[sizeof(x)-1] != 0) { small_printf("array bound exceeded %d\n", __LINE__); ExitProcess(1); }
|
||||||
|
|
|
@ -24,6 +24,8 @@ details. */
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <winnls.h>
|
#include <winnls.h>
|
||||||
#include <lmcons.h> /* for UNLEN */
|
#include <lmcons.h> /* for UNLEN */
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern BOOL allow_ntsec;
|
extern BOOL allow_ntsec;
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
/* sysconf: POSIX 4.8.1.1 */
|
/* sysconf: POSIX 4.8.1.1 */
|
||||||
/* Allows a portable app to determine quantities of resources or
|
/* Allows a portable app to determine quantities of resources or
|
||||||
|
|
|
@ -14,6 +14,7 @@ details. */
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
/* FIXME: These should probably be in the registry. */
|
/* FIXME: These should probably be in the registry. */
|
||||||
/* FIXME: The Win95 path should be whatever slash is */
|
/* FIXME: The Win95 path should be whatever slash is */
|
||||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
|
||||||
/* tcsendbreak: POSIX 7.2.2.1 */
|
/* tcsendbreak: POSIX 7.2.2.1 */
|
||||||
extern "C"
|
extern "C"
|
||||||
|
|
|
@ -18,9 +18,9 @@ details. */
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern int threadsafe;
|
extern int threadsafe;
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ details. */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
#define FACTOR (0x19db1ded53ea710LL)
|
#define FACTOR (0x19db1ded53ea710LL)
|
||||||
#define NSPERSEC 10000000LL
|
#define NSPERSEC 10000000LL
|
||||||
|
|
|
@ -14,6 +14,8 @@ details. */
|
||||||
#include <utmp.h>
|
#include <utmp.h>
|
||||||
#include <wingdi.h>
|
#include <wingdi.h>
|
||||||
#include <winuser.h>
|
#include <winuser.h>
|
||||||
|
#include "dtable.h"
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
extern fhandler_tty_master *tty_master;
|
extern fhandler_tty_master *tty_master;
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ details. */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <lm.h>
|
#include <lm.h>
|
||||||
|
#include "pinfo.h"
|
||||||
|
|
||||||
char *
|
char *
|
||||||
internal_getlogin (_pinfo *pi)
|
internal_getlogin (_pinfo *pi)
|
||||||
|
|
|
@ -113,7 +113,6 @@ extern int dynamically_loaded;
|
||||||
extern HANDLE hMainThread;
|
extern HANDLE hMainThread;
|
||||||
extern HANDLE hMainProc;
|
extern HANDLE hMainProc;
|
||||||
|
|
||||||
/* Now that pinfo has been defined, include... */
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "sync.h"
|
#include "sync.h"
|
||||||
#include "sigproc.h"
|
#include "sigproc.h"
|
||||||
|
@ -131,36 +130,6 @@ extern "C" per_process __cygwin_user_data; /* Pointer into application's static
|
||||||
Do not change this value. */
|
Do not change this value. */
|
||||||
#define SIZEOF_PER_PROCESS (42 * 4)
|
#define SIZEOF_PER_PROCESS (42 * 4)
|
||||||
|
|
||||||
class dtable
|
|
||||||
{
|
|
||||||
fhandler_base **fds;
|
|
||||||
fhandler_base **fds_on_hold;
|
|
||||||
int first_fd_for_open;
|
|
||||||
public:
|
|
||||||
size_t size;
|
|
||||||
dtable () {first_fd_for_open = 3;}
|
|
||||||
int vfork_child_dup ();
|
|
||||||
void vfork_parent_restore ();
|
|
||||||
fhandler_base *dup_worker (fhandler_base *oldfh);
|
|
||||||
int extend (int howmuch);
|
|
||||||
void fixup_after_fork (HANDLE parent);
|
|
||||||
fhandler_base *build_fhandler (int fd, DWORD dev, const char *name,
|
|
||||||
int unit = -1);
|
|
||||||
fhandler_base *build_fhandler (int fd, const char *name, HANDLE h);
|
|
||||||
int not_open (int n);
|
|
||||||
int find_unused_handle (int start);
|
|
||||||
int find_unused_handle () { return find_unused_handle (first_fd_for_open);}
|
|
||||||
void release (int fd);
|
|
||||||
void init_std_file_from_handle (int fd, HANDLE handle, DWORD access, const char *name);
|
|
||||||
int dup2 (int oldfd, int newfd);
|
|
||||||
int linearize_fd_array (unsigned char *buf, int buflen);
|
|
||||||
LPBYTE de_linearize_fd_array (LPBYTE buf);
|
|
||||||
fhandler_base *operator [](int fd) { return fds[fd]; }
|
|
||||||
select_record *select_read (int fd, select_record *s);
|
|
||||||
select_record *select_write (int fd, select_record *s);
|
|
||||||
select_record *select_except (int fd, select_record *s);
|
|
||||||
};
|
|
||||||
|
|
||||||
/******************* Host-dependent constants **********************/
|
/******************* Host-dependent constants **********************/
|
||||||
/* Portions of the cygwin DLL require special constants whose values
|
/* Portions of the cygwin DLL require special constants whose values
|
||||||
are dependent on the host system. Rather than dynamically
|
are dependent on the host system. Rather than dynamically
|
||||||
|
@ -320,11 +289,6 @@ void environ_init (int);
|
||||||
void heap_init (void);
|
void heap_init (void);
|
||||||
void malloc_init (void);
|
void malloc_init (void);
|
||||||
|
|
||||||
/* fd table */
|
|
||||||
void fdtab_init (void);
|
|
||||||
void stdio_init (void);
|
|
||||||
extern dtable fdtab;
|
|
||||||
|
|
||||||
/* UID/GID */
|
/* UID/GID */
|
||||||
void uinfo_init (void);
|
void uinfo_init (void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue