[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/driver/inc/misc/drvs_disk.h b/cp/ps/driver/inc/misc/drvs_disk.h
new file mode 100644
index 0000000..8a89304
--- /dev/null
+++ b/cp/ps/driver/inc/misc/drvs_disk.h
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (C) 2007, ZTE Corporation.
+ *
+ * File Name:
+ * File Mark:
+ * Description:
+ * Others:
+ * Version:       1.0
+ * Author:        geanfeng
+ * Date:          2013-09-25
+ * History 1:
+ *     Date:
+ *     Version:
+ *     Author:
+ *     Modification:
+ * History 2:
+  ********************************************************************************/
+#ifndef _DRVS_DISK_H
+#define _DRVS_DISK_H
+
+#include "drvs_list.h"
+#include "drvs_io.h"
+#include "drvs_io_dev.h"
+
+
+typedef struct _T_ZDrvDisk_PartDevice T_ZDrvDisk_PartDevice;
+
+typedef struct _T_ZDrvDisk_DevDesc {
+	char dev_name[32];			/* device name */
+	unsigned char	part_type;	/* partition type */
+	unsigned char	target;		/* target SCSI ID */
+	unsigned char	type;		/* device type */
+	unsigned char	removable;	/* removable device */
+	unsigned long		lba;		/* number of blocks */
+	unsigned long	blksz;		/* block size */
+	char		vendor [40+1];	/* IDE model, SCSI Vendor */
+	char		product[20+1];	/* IDE Serial no, SCSI product */
+	char		revision[8+1];	/* firmware revision */
+	
+	T_ZDrvDisk_PartDevice *partition;
+	
+	SINT32	(*block_read)(VOID *priv_data,
+				      UINT32 start,
+				      UINT32 blkcnt,
+				      VOID *buffer);
+	SINT32	(*block_write)(VOID *priv_data,
+				       UINT32 start,
+				       UINT32 blkcnt,
+				       const VOID *buffer);
+	SINT32 (*block_erase)(VOID *priv_data,
+				       UINT32 start,
+				       UINT32 blkcnt);
+	VOID		*priv_data;		/* device private data */
+}T_ZDrvDisk_DevDesc;
+
+
+/* Part types */
+#define PART_TYPE_UNKNOWN	0x00
+#define PART_TYPE_MAC		0x01
+#define PART_TYPE_DOS		0x02
+#define PART_TYPE_ISO		0x03
+#define PART_TYPE_AMIGA		0x04
+#define PART_TYPE_EFI		0x05
+#define PART_TYPE_TSP		0x06
+
+
+/* device types */
+#define DEV_TYPE_UNKNOWN	0xff	/* not connected */
+#define DEV_TYPE_HARDDISK	0x00	/* harddisk */
+#define DEV_TYPE_TAPE		0x01	/* Tape */
+#define DEV_TYPE_CDROM		0x05	/* CD-ROM */
+#define DEV_TYPE_OPDISK		0x07	/* optical disk */
+
+typedef struct _T_ZDrvDisk_Partition {
+	unsigned long	start;		/* # of first block in partition	*/
+	unsigned long	size;		/* number of blocks in partition	*/
+	unsigned long	blksz;		/* block size in bytes			*/
+	unsigned char	name[48];	/* partition name			*/
+	unsigned char	type[32];	/* string type description		*/
+} T_ZDrvDisk_Partition;
+
+typedef struct _T_ZDrvDisk_PartDevice
+{
+    struct list_head 		node;
+    T_ZDrvDisk_Partition	part_info;
+    T_ZDrvDisk_DevDesc    *blk_dev;
+    T_ZDrvIODev_Handle  	   *io_dev;
+}
+T_ZDrvDisk_PartDevice;
+
+SINT32 zDrvDisk_Register(T_ZDrvDisk_DevDesc *dev_desc);
+VOID zDrvDisk_Unregister(T_ZDrvDisk_DevDesc *dev_desc);
+
+#endif /* _DRVS_DISK_H */