64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef _VOS_FILE_H_
 | |
| #define _VOS_FILE_H_
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /*-----------------------------------------------------------------------------*/
 | |
| /* Including Files                                                                                                                 */
 | |
| /*-----------------------------------------------------------------------------*/
 | |
| #include <kwrap/nvt_type.h>
 | |
| 
 | |
| #if defined(__FREERTOS)
 | |
| #include <fcntl.h>
 | |
| 
 | |
| #elif defined(__LINUX) && defined(__KERNEL__)
 | |
| #include <asm/fcntl.h>
 | |
| 
 | |
| #else
 | |
| #include <fcntl.h>
 | |
| #include <sys/stat.h>
 | |
| #endif
 | |
| 
 | |
| #if VOS_LEGACY_ARCH32
 | |
| typedef int VOS_FILE;
 | |
| #else
 | |
| typedef unsigned long VOS_FILE;
 | |
| #endif
 | |
| 
 | |
| typedef unsigned int vos_mode_t;
 | |
| typedef unsigned long vos_size_t;
 | |
| typedef unsigned long vos_off_t;
 | |
| 
 | |
| #define VOS_FILE_INVALID ((VOS_FILE)-1)
 | |
| 
 | |
| struct vos_stat {
 | |
| 	vos_mode_t st_mode;
 | |
| 	vos_size_t st_size;
 | |
| };
 | |
| 
 | |
| //! Init/Exit flag
 | |
| void  rtos_file_init(void *param);
 | |
| void  rtos_file_exit(void);
 | |
| 
 | |
| //! Common api
 | |
| VOS_FILE vos_file_open(const char *pathname, int flags, vos_mode_t mode); //return (VOS_FILE)(-1) if failed
 | |
| 
 | |
| int vos_file_read(VOS_FILE vos_file, void *p_buf, vos_size_t count);
 | |
| int vos_file_write(VOS_FILE vos_file, const void *p_buf, vos_size_t count);
 | |
| vos_off_t vos_file_lseek(VOS_FILE vos_file, vos_off_t offset, int whence);
 | |
| 
 | |
| int vos_file_fsync(VOS_FILE vos_file);
 | |
| int vos_file_fstat(VOS_FILE vos_file, struct vos_stat *p_stat);
 | |
| 
 | |
| int vos_file_close(VOS_FILE vos_file);
 | |
| 
 | |
| int vos_file_stat(const char *pathname, struct vos_stat *p_stat);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* _VOS_FILE_H_ */
 | |
| 
 | 
