* 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:
44
winsup/cygwin/dtable.h
Normal file
44
winsup/cygwin/dtable.h
Normal file
@ -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;
|
Reference in New Issue
Block a user