summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_virtual.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-01-20 17:22:11 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-01-20 17:22:11 +0000
commit38f50ae4d555fca2b1b976d7802c6abdfe1e72dd (patch)
treef6c7bd4c3a30988fda39279c1f018be634cb0b6f /winsup/cygwin/fhandler_virtual.h
parentf8190b57056cc10ec0da28b0685ec6fe59b1e4cb (diff)
downloadcygnal-38f50ae4d555fca2b1b976d7802c6abdfe1e72dd.tar.gz
cygnal-38f50ae4d555fca2b1b976d7802c6abdfe1e72dd.tar.bz2
cygnal-38f50ae4d555fca2b1b976d7802c6abdfe1e72dd.zip
* devices.h (FH_PROCESSFD): New device type.
* dtable.cc (build_fh_pc): Add case for FH_PROCESSFD. * fhandler.h (class fhandler_virtual): Drop bufalloc member. * fhandler_virtual.h: New header. * fhandler_proc.cc: Remove types proc_type_t and proc_tab_t in favor of types virt_type_t and virt_tab_t from fhandler_virtual.h. Change prototypes of format_XXX functions accordingly. (proc_tab): Drop size member info. (fhandler_proc::fill_filebuf): Don't allocate filebuf here. Allocate it in the format_XXX functions. * fhandler_process.cc: Reorganize global process content data into a new struct virt_tab_t. Accommodate throughout. (format_process_winexename): New function. (format_process_winpid): New function. (format_process_exename): New function. (format_process_root): New function. (format_process_cwd): New function. (format_process_cmdline): New function. (format_process_ppid): New function. (format_process_uid): New function. (format_process_pgid): New function. (format_process_sid): New function. (format_process_gid): New function. (format_process_ctty): New function. (format_process_fd): New function. * fhandler_procnet.cc (fhandler_procnet::fill_filebuf): Don't use bufalloc. * fhandler_registry.cc (fhandler_registry::fill_filebuf): Define bufalloc locally. * fhandler_virtual.cc (fhandler_virtual::fhandler_virtual): Drop initialization of bufalloc. (fhandler_virtual::dup): Drop copying bufalloc.
Diffstat (limited to 'winsup/cygwin/fhandler_virtual.h')
-rw-r--r--winsup/cygwin/fhandler_virtual.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_virtual.h b/winsup/cygwin/fhandler_virtual.h
new file mode 100644
index 000000000..de914eacd
--- /dev/null
+++ b/winsup/cygwin/fhandler_virtual.h
@@ -0,0 +1,27 @@
+/* fhandler_virtual.h: Header for virtual fhandlers
+
+ Copyright 2009 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. */
+
+enum virtual_ftype_t {
+ virt_socket = -4,
+ virt_pipe = -3,
+ virt_symlink = -2,
+ virt_file = -1,
+ virt_none = 0,
+ virt_directory = 1,
+ virt_rootdir = 2
+};
+
+struct virt_tab_t {
+ const char *name;
+ __dev32_t fhandler;
+ virtual_ftype_t type;
+ _off64_t (*format_func)(void *data, char *&);
+};
+