 b48b037fbe
			
		
	
	
		b48b037fbe
		
	
	
	
	
		
			
			servers/hgfs/hgfs_server => servers/hgfs servers/hgfs/libhgfs => lib/libhgfs servers/rs/service => commands/service drivers/memory/memory_driver => drivers/memory drivers/memory/ramdisk => drivers/ramdisk
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Part of libhgfs - (c) 2009, D.C. van Moolenbroek */
 | |
| 
 | |
| #ifndef _HGFS_H
 | |
| #define _HGFS_H
 | |
| 
 | |
| #include <sys/types.h>
 | |
| #include <minix/u64.h>
 | |
| 
 | |
| typedef void *hgfs_file_t;		/* handle to open file */
 | |
| typedef void *hgfs_dir_t;		/* handle to directory search */
 | |
| 
 | |
| struct hgfs_attr {
 | |
|   u32_t a_mask;				/* which fields to retrieve/set */
 | |
|   mode_t a_mode;			/* file type and permissions */
 | |
|   u64_t a_size;				/* file size */
 | |
|   time_t a_crtime;			/* file creation time */
 | |
|   time_t a_atime;			/* file access time */
 | |
|   time_t a_mtime;			/* file modification time */
 | |
|   time_t a_ctime;			/* file change time */
 | |
| };
 | |
| 
 | |
| #define HGFS_ATTR_SIZE		0x01	/* get/set file size */
 | |
| #define HGFS_ATTR_CRTIME	0x02	/* get/set file creation time */
 | |
| #define HGFS_ATTR_ATIME		0x04	/* get/set file access time */
 | |
| #define HGFS_ATTR_MTIME		0x08	/* get/set file modification time */
 | |
| #define HGFS_ATTR_CTIME		0x10	/* get/set file change time */
 | |
| #define HGFS_ATTR_MODE		0x20	/* get/set file mode */
 | |
| #define HGFS_ATTR_ALL	 	\
 | |
| 	(HGFS_ATTR_SIZE | HGFS_ATTR_CRTIME | HGFS_ATTR_ATIME | \
 | |
| 	HGFS_ATTR_MTIME | HGFS_ATTR_CTIME | HGFS_ATTR_MODE)
 | |
| 
 | |
| _PROTOTYPE( int hgfs_init, (void)					);
 | |
| _PROTOTYPE( void hgfs_cleanup, (void)					);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_enabled, (void)					);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_open, (char *path, int flags, int mode,
 | |
| 			hgfs_file_t *handle)				);
 | |
| _PROTOTYPE( int hgfs_read, (hgfs_file_t handle, char *buf, size_t size,
 | |
| 			u64_t offset)					);
 | |
| _PROTOTYPE( int hgfs_write, (hgfs_file_t handle, const char *buf,
 | |
| 			size_t len, u64_t offset, int append)		);
 | |
| _PROTOTYPE( int hgfs_close, (hgfs_file_t handle)			);
 | |
| 
 | |
| _PROTOTYPE( size_t hgfs_readbuf, (char **ptr)				);
 | |
| _PROTOTYPE( size_t hgfs_writebuf, (char **ptr)				);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_opendir, (char *path, hgfs_dir_t *handle)		);
 | |
| _PROTOTYPE( int hgfs_readdir, (hgfs_dir_t handle, unsigned int index,
 | |
| 			char *buf, size_t size, struct hgfs_attr *attr)	);
 | |
| _PROTOTYPE( int hgfs_closedir, (hgfs_dir_t handle)			);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_getattr, (char *path, struct hgfs_attr *attr)	);
 | |
| _PROTOTYPE( int hgfs_setattr, (char *path, struct hgfs_attr *attr)	);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_mkdir, (char *path, int mode)			);
 | |
| _PROTOTYPE( int hgfs_unlink, (char *path)				);
 | |
| _PROTOTYPE( int hgfs_rmdir, (char *path)				);
 | |
| _PROTOTYPE( int hgfs_rename, (char *opath, char *npath)			);
 | |
| 
 | |
| _PROTOTYPE( int hgfs_queryvol, (char *path, u64_t *free, u64_t *total)	);
 | |
| 
 | |
| #endif /* _HGFS_H */
 |