diff options
Diffstat (limited to 'winsup/cygwin/local_includes/fhandler_virtual.h')
-rw-r--r-- | winsup/cygwin/local_includes/fhandler_virtual.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/fhandler_virtual.h b/winsup/cygwin/local_includes/fhandler_virtual.h new file mode 100644 index 000000000..8af99a8a4 --- /dev/null +++ b/winsup/cygwin/local_includes/fhandler_virtual.h @@ -0,0 +1,43 @@ +/* fhandler_virtual.h: Header for virtual fhandlers + +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. */ + +struct virt_tab_t { + const char *name; + size_t name_len; + fh_devices fhandler; + virtual_ftype_t type; + off_t (*format_func)(void *data, char *&); +}; + +#define _VN(s) s, sizeof (s) - 1 + +extern virt_tab_t *virt_tab_search (const char *, bool, const virt_tab_t *, + size_t); + +static inline unsigned char +virt_ftype_to_dtype (virtual_ftype_t type) +{ + unsigned char d_type; + + switch (type) + { + case virt_directory: + d_type = DT_DIR; + break; + case virt_symlink: + d_type = DT_LNK; + break; + case virt_file: + d_type = DT_REG; + break; + default: + d_type = DT_UNKNOWN; + break; + } + return d_type; +} |