44 lines
		
	
	
		
			883 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			883 B
		
	
	
	
		
			C
		
	
	
	
| /* 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;
 | |
| }
 |