blob: c59e20c520bfc01a18af7bd89fb53a9acd06a5f5 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*******************************************************************************
2 * Copyright (C) 2007, ZTE Corporation.
3 *
4 * File Name:
5 * File Mark:
6 * Description:
7 * Others:
8 * Version: 1.0
9 * Author: geanfeng
10 * Date: 2013-09-25
11 * History 1:
12 * Date:
13 * Version:
14 * Author:
15 * Modification:
16 * History 2:
17 ********************************************************************************/
18
19#ifndef _DRVS_IODEV_H_
20#define _DRVS_IODEV_H_
21
22/****************************************************************************
23* Include files
24****************************************************************************/
25#include "drvs_general.h"
26#include "drvs_io.h"
27
28/****************************************************************************
29* Macros
30****************************************************************************/
31
32
33/****************************************************************************
34* Types
35****************************************************************************/
36/*µ×²ãÉ豸¾ä±ú*/
37typedef void * T_ZDrvIODev_Handle;
38
39
40/*É豸Çý¶¯¹Ò½ÓʵÏÖ½Ó¿Ú*/
41typedef struct _T_ZDrvIODev_Ops
42{
43 SINT32 (*open)(VOID *devData, T_ZDRVIO_FLAGS flags);
44 SINT32 (*read)(VOID *devData, VOID *buffer, UINT32 length);
45 SINT32 (*write)(VOID *devData, const VOID *buffer, UINT32 length);
46 SINT32 (*bread)(VOID *devData, VOID *buffer, UINT32 blkCnt, UINT32 pos);
47 SINT32 (*bwrite)(VOID *devData, const VOID *buffer, UINT32 blkCnt, UINT32 pos);
48 SINT32 (*ctrl)(VOID *devData, T_DRVIO_CTRL_KEY function, VOID* arg);
49 SINT32 (*close)(VOID *devData);
50}
51T_ZDrvIODev_Ops;
52
53
54/****************************************************************************
55* Constants
56****************************************************************************/
57
58/****************************************************************************
59* Global Variables
60****************************************************************************/
61
62/****************************************************************************
63* Function Prototypes
64****************************************************************************/
65
66/*******************************************************************************
67 * Function: zDrvIODev_Connect
68 * Description:install and connect io device to device table.
69 * Input:
70 name: the device name to connect.
71 devData: the device private data to be combined.
72 ops: the device I/O operation.
73 * Output:None
74 *
75 * Returns:
76 T_ZDrvIODev_Handle: none zero.
77 NULL: error.
78 * Others:
79 ********************************************************************************/
80T_ZDrvIODev_Handle zDrvIODev_Connect(const char *name, VOID *devData, T_ZDrvIODev_Ops *ops);
81
82/*******************************************************************************
83 * Function: zDrvIODev_Disconnect
84 * Description:uninstall the io device.
85 * Input:
86 handle: the device handle to disconnect.
87 * Output:None
88 *
89 * Returns:
90 NULL: error.
91 * Others:
92 ********************************************************************************/
93VOID zDrvIODev_Disconnect(T_ZDrvIODev_Handle handle);
94
95/*******************************************************************************
96 * Function: zDrvIODev_Show
97 * Description:show the device debug information.
98 * Input:
99 * Output:None
100 *
101 * Returns:None
102 * Others:
103 ********************************************************************************/
104VOID zDrvIODev_Show(VOID);
105
106/*******************************************************************************
107 * Function: zDrvIODev_Initiate
108 * Description:initialize the io base structure.
109 * Input:
110 * Output:None
111 *
112 * Returns:
113 DRV_SUCCESS: success.
114 DRV_ERROR: error.
115 * Others:
116 ********************************************************************************/
117SINT32 zDrvIODev_Initiate(VOID);
118
119
120
121
122#endif/*_DRVS_IO_H_*/
123