unit ZNE100DLL;

interface

uses
  WinTypes;

const
  DLL_NAME  = 'ZNET100.dll';//动态库名称

type

//声明各个数据结构


CANETEINFO = Record
	desip : array[0..15] of CHAR;//目标IP地址
	desport : WORD;//目标端口号
	blisten : BYTE;//工作模式,0表示正常模式,1表示只听模式
END;//存储CANET-E的特定信息

PCANETEINFO=^CANETEINFO;

ZNE100INFO = Record
	baud : BYTE;
	///*
	//300,600,1200,2400,4800,9600,19200,38400,57600,115200,230400,576000,1152000
	//对应关系，为0表示300Bps，12表示1152000Bps
	//ZNE-100,ZNE-100T,ZNE-100TI最大支持波特率115200
	//ZNE-200,ZNE-200T最大支持波特率1152000
	//NETCOM-10最大支持波特率230400
	//*/
	databits : BYTE;//范围05h～08h
	stopbits : BYTE;//01h或02h
	checkbits : BYTE;//00h表示无校验位，01h表示Even，02h表示Odd，3表示Mark，4表示Space
END;///存储ZNE系列模块的串口信息

DEVINFO = Record
	bmoduletype : BYTE;
	//模块型号,0x01-ZNE100,0x02-ZNE-100T,0x04-ZNE-200T,
	//0x05-NETCOM-10,0x06-ZNE-200,0x08-ZNE-100TI,0x11-CANETE

	szname : array[0..10] of CHAR;//模块名称
	szip : array[0..15] of CHAR;//IP地址
	szmask : array[0..15] of CHAR;//子网掩码
	szgateip : array[0..15] of CHAR;//网关
	szmacaddr : array[0..17] of CHAR;//MAC地址
	bstaticip : BYTE;//00h表示静态配置IP地址，01h表示使用DHCP动态获取IP地址
	workport : integer;//工作端口
	
	timeout : integer;//在ZNE-100T,ZNE-200,ZNE-200T,ZNE-100TI,NETCOM-10时有效
	tcptimeout : integer;//在ZNE-100时有效

	//用于ZNE系列产品
	desip : array[0..15] of CHAR;//目标IP地址
	desport : SmallInt;//目标端口号
	workmode : SmallInt;//工作模式
	//1-"TCP Server",2-"UDP",3-"TCP Client",4-"Real COM",5-"Group Mode",
	//6-"TCP Auto"
	
	zne100info : ZNE100INFO;
	caneteinfo : CANETEINFO;
END;//存储设备相关信息

PDEVINFO=^DEVINFO;
PZNE100INFO=^ZNE100INFO;

//PCHAR=^CHAR;
PINT=^integer;
PBYTE=^BYTE;
PWORD=^SmallInt;

                  
//导入动态库函数

function ZNET_Init () : integer;
  stdcall;
  external DLL_NAME;

function ZNET_Uninit () : integer;
  stdcall;
  external DLL_NAME;
  
function ZNET_SearchBroadcast () : integer;
  stdcall;
  external DLL_NAME;

function ZNET_SearchIP (szip : PCHAR) : integer;
  stdcall;
  external DLL_NAME;

function ZNET_GetDeviceInformation ( szip : PCHAR;
                             pinfo : PDEVINFO) : integer;
  stdcall;
  external DLL_NAME;

function ZNET_Stop () : integer;
  stdcall;
  external DLL_NAME;

function ZNET_RecDevice ( pdevinfo : PDEVINFO;
                             plen : PINT) : integer;
  stdcall;
  external DLL_NAME;

function ZNET_ModifyDevice ( szip : PCHAR;
                  			     szpwd : PCHAR;
                             pinfo : PDEVINFO) : integer;
  stdcall;
  external DLL_NAME;

procedure ZNET_ModifyComCfg ( szip : PCHAR;
                           pinfo : PZNE100INFO);
stdcall;
external DLL_NAME;

//适用于ZNE-100T,ZNET-200,ZNET-200T,NETCOM-10,ZNET-100TI
function ZNET_ResetDevice ( szip : PCHAR) : integer;
stdcall;
external DLL_NAME;

//适用于ZNE-100T,ZNET-200,ZNET-200T,ZNET-100TI
function ZNET_GetIOStat ( szip : PCHAR;
                             port : integer;
                             pdirection : PBYTE;
                             pelevel : PBYTE) : integer;
stdcall;
external DLL_NAME;
function ZNET_SetIOStat ( szip : PCHAR;
                             port : integer;
                             btype : BYTE;
                             pdirection : PBYTE;
                             pelevel : PBYTE) : integer;
stdcall;
external DLL_NAME;
//type=0,表示更改输入输出方向状态，elevel忽略
//type=1,表示更改电平状态，direction忽略
//type=2,表示全部更改

//适用于ZNET-200,ZNE-200T,NETCOM-10,ZNE-100T,ZNET-100TI
function ZNET_ResetDevTCP ( szip : PCHAR;
                             port : integer) : integer;//可靠复位
stdcall;
external DLL_NAME;

//适用于ZNET-200,ZNE-200T,ZNET-100TI
function ZNET_GetADC ( szip : PCHAR;
                             port : integer;
                             padc0 : PWORD;
                             padc1 : PWORD) : integer;//padc0和padc1只有低10位有效
stdcall;
external DLL_NAME;



implementation

end.
