[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/plat/inc/oss/oss_fs.h b/cp/ps/plat/inc/oss/oss_fs.h
new file mode 100644
index 0000000..2ed7e13
--- /dev/null
+++ b/cp/ps/plat/inc/oss/oss_fs.h
@@ -0,0 +1,147 @@
+/**************************************************************************
+*
+* Copyright (c) 2012 ZTE Corporation.
+*
+***************************************************************************
+* Ä£ ¿é Ãû : P98C_OSS
+* ÎÄ ¼þ Ãû : oss_fs.h
+* Ïà¹ØÎļþ :
+* ʵÏÖ¹¦ÄÜ : Îļþϵͳ
+* ×÷ Õß : chenxingfang
+* °æ ±¾ : V1.0
+* Íê³ÉÈÕÆÚ : 2012-08-10
+* ÆäËü˵Ã÷ :
+**************************************************************************/
+
+/**************************************************************************
+* Ð޸ļǼ
+**************************************************************************/
+#ifndef _OSS_FS_H
+#define _OSS_FS_H
+
+/**************************************************************************
+* #includeÇø
+**************************************************************************/
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**************************************************************************
+* ³£Á¿¶¨ÒåÇø
+**************************************************************************/
+/* ¶ÁдλÖà */
+#define ZOSS_SEEK_SET 0x0 /* set to offset */
+#define ZOSS_SEEK_CUR 0x1 /* set to current position plus offset */
+#define ZOSS_SEEK_END 0x2 /* set to the size of the file plus offset */
+
+/* ÅäÖòÎÊý */
+#define ZOSS_MAX_FILENAME_LEN 255 /* Îļþ¡¢Ä¿Â¼Ãû×î´ó³¤¶È, °üº¬Â·¾¶ */
+
+/* Îļþ¡¢Ä¿Â¼ÊôÐÔ£¬°Ë½øÖƱíʾ */
+#define ZOSS_ATTR_IFDIR 040000 /* Ŀ¼λ */
+
+#define ZOSS_ATTR_RD_USR 0400 /* user¶Á */
+#define ZOSS_ATTR_WR_USR 0200 /* userд */
+#define ZOSS_ATTR_EX_USR 0100 /* userÖ´ÐÐ */
+
+#define ZOSS_ATTR_RD_GRP 0040 /* group¶Á */
+#define ZOSS_ATTR_WR_GRP 0020 /* groupд */
+#define ZOSS_ATTR_EX_GRP 0010 /* groupÖ´ÐÐ */
+
+#define ZOSS_ATTR_RD_OTH 0004 /* other¶Á */
+#define ZOSS_ATTR_WR_OTH 0002 /* otherд */
+#define ZOSS_ATTR_EX_OTH 0001 /* otherÖ´ÐÐ */
+
+#define ZOSS_ATTR_RWX_USR 0700 /* userµÄ¶ÁдִÐÐ */
+#define ZOSS_ATTR_RWX_GRP 0070 /* groupµÄ¶ÁдִÐÐ */
+#define ZOSS_ATTR_RWX_OTH 0007 /* otherµÄ¶ÁдִÐÐ */
+
+#define ZOSS_ATTR_RD_ALL 0444 /* user,group,otherµÄ¶Á */
+#define ZOSS_ATTR_WR_ALL 0222 /* user,group,otherµÄд */
+#define ZOSS_ATTR_EX_ALL 0111 /* user£¬group,otherµÄÖ´ÐÐ */
+
+#define ZOSS_ATTR_RWX_ALL 0777 /* user£¬group,otherµÄ¶ÁдִÐÐ */
+
+#ifdef _OS_LINUX
+# define FILE int
+#endif
+
+/**************************************************************************
+* Êý¾Ý½á¹¹¶¨ÒåÇø
+**************************************************************************/
+typedef struct
+{
+#if defined(_OS_TOS) && defined(CYGPKG_FILEIO_DIRENT_DTYPE)
+ mode_t d_type;
+#endif
+
+ CHAR d_name[ZOSS_MAX_FILENAME_LEN + 1];
+}ZOSS_S_DIRENT;
+
+typedef struct
+{
+ UINT32 st_dev; /* Device ID number */
+ UINT32 st_ino; /* File serial number */
+ mode_t st_mode; /* Mode of file */
+ UINT16 st_nlink; /* Number of hard links to file */
+ UINT32 st_uid; /* User ID of file */
+ UINT32 st_gid; /* Group ID of file */
+ UINT32 st_rdev; /* Device ID if special file */
+ UINT32 st_size; /* File size in bytes */
+ time_t st_atime; /* Time of last access */
+ time_t st_mtime; /* Time of last modification */
+ time_t st_ctime; /* Time of last status change */
+}ZOSS_S_STAT;
+
+/**************************************************************************
+* º¯ÊýÉùÃ÷Çø
+**************************************************************************/
+UINT32 zOss_FCreate(const CHAR *filename);
+FILE *zOss_FOpen(const CHAR *filename, const CHAR *mode);
+UINT32 zOss_FSeek(FILE *stream, SINT32 offset, SINT32 whence);
+SSIZE_T zOss_FRead(VOID *data, SSIZE_T size, SSIZE_T count, FILE *stream);
+SSIZE_T zOss_FWrite(const VOID *data, SSIZE_T size, SSIZE_T count, FILE *stream);
+UINT32 zOss_FEof(FILE *stream);
+UINT32 zOss_FError(FILE *stream);
+UINT32 zOss_FTruncate(FILE *stream, UINT32 size);
+UINT32 zOss_FFlush(FILE *stream);
+UINT32 zOss_FTell(FILE *stream);
+UINT32 zOss_FClose(FILE *stream);
+UINT32 zOss_FRename(const CHAR *old_filename, const CHAR *new_filename);
+UINT32 zOss_FDelete(const CHAR *filename);
+UINT32 zOss_FLength(FILE *stream);
+BOOL zOss_FExist(const CHAR *filename);
+UINT32 zOss_Mkdir(const CHAR *dirname);
+UINT32 zOss_Rmdir(const CHAR *dirname);
+UINT32 zOss_Rndir(const CHAR *old_dirname, const CHAR *new_dirname);
+UINT32 zOss_GetPwd(CHAR *dirname, UINT32 dirnamelen);
+UINT32 zOss_ChDir(CHAR *dirname);
+BOOL zOss_IsDir(const CHAR *dirname);
+UINT32 zOss_OpenDir(const CHAR *dirname, VOID **dir_entry_ptr);
+UINT32 zOss_CloseDir(VOID **dir_entry_ptr);
+UINT32 zOss_ReadDir(VOID **dir_entry_ptr, ZOSS_S_DIRENT *dir_item_ptr);
+VOID zOss_Rewinddir(VOID *dir_entry_ptr);
+UINT32 zOss_ChMod(const CHAR *pathname, mode_t attrs);
+UINT32 zOss_Stat(const CHAR *pathname, ZOSS_S_STAT *buf);
+UINT32 zOss_MountDisk(CHAR diskname);
+UINT32 zOss_UnMountDisk(CHAR diskname);
+UINT32 zOss_UnMountAllDisk(VOID);
+UINT32 zOss_GetDiskFreeSpace(CHAR diskname, UINT64 *space);
+UINT32 zOss_GetDiskCapacity(CHAR diskname, UINT64 *space);
+UINT32 zOss_GetAllDynamicDisk(CHAR *disk, UINT32 size);
+UINT32 zOss_SyncFS(VOID);
+UINT32 zOss_MountDynamicDisk(CHAR *pWinDir, CHAR *pLinuxDir, CHAR *pDevName, char *pFsName);
+UINT32 zOss_UnMountDynamicDisk(CHAR *pWinDir);
+UINT32 zOss_FsMount(VOID);
+
+/**************************************************************************
+* È«¾Ö±äÁ¿ÉùÃ÷Çø
+**************************************************************************/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _OSS_FS_H */
+