/******************************************************************************
版权所有：	
文件名称：	channel.h
文件版本：	01.01
创建作者：	xxxxxx
创建日期：	2015-5-5
功能说明：	通道层头文件.	
								

-------------------
-				APP层			-
-------------------
-				规约层		-
-------------------
-				通道层		-
-------------------
-				驱动层		-
-------------------
								
								
								
其它说明：
修改记录：
*/
#ifndef __CHANNEL_H__
#define __CHANNEL_H__

//通道对象
typedef struct channel_obj
{
	int	no; //通道号,从0开始编号
	int 	fd; //通道句柄
	int  halfduplex; //半双工标志
	int (*write)(struct channel_obj *h_obj, const char *data, int count); //通道写函数
	int (*read)	(struct channel_obj *h_obj, char *data, int count);	//通道读函数
}  T_channel; 

/******************************************************************************
函数名称：	channel_write
函数版本：	01.01
创建作者：	xxxxxx
创建日期：	2015-05-05
函数说明：	通道写函数
参数说明：	
						h_obj: 通道句柄
						data: 要发送的数据
						count: 数据长度

返回值：		成功返回发送的字节数,失败返回-1.返回0表示没有数据发送。
修改记录：	
*/
int channel_write(T_channel *h_obj, const char *data, int count);

/******************************************************************************
函数名称：	channel_read
函数版本：	01.01
创建作者：	xxxxxx
创建日期：	2015-05-05
函数说明：	通道读函数
参数说明：	
						h_obj: 通道句柄
						data:  数据缓存
						count: 读取的长度

返回值：		成功返回读取的字节数,失败返回-1.返回0表示没有数据可读.
修改记录：	
*/
int channel_read(T_channel *h_obj, char *data, int count);

#endif

