node-ffi module and struct

10 views
Skip to first unread message

Bolat Menshik

unread,
Oct 22, 2017, 3:00:48 PM10/22/17
to nodejs

Greetings Everybody!


I have library on linux.

That library have struct.

Manual of this library says that struct must be initialized, like this:


	LONG lUserID;
	NET_DVR_DEVICEINFO_V30 struDeviceInfo;
	lUserID = NET_DVR_Login_V30("192.168.1.64", 8000, "admin", "12", &struDeviceInfo);

struDeviceInfo — output data from device, that I must to read and use.  

How can I code this in Nodejs. 

PS: I have use node-ffi module, library initialization and connect to device finished ok. 

Near part of code:

var libHikSDK = ffi.Library('./libhcnetsdk.so',{

'NET_DVR_Init': ['bool', []],

'NET_DVR_SetConnectTime': ['bool', ['char','char']],

'NET_DVR_SetReconnect': ['bool', ['char','bool']],

'NET_DVR_Login_V30': ['char', ['string','int', 'string','string']],

'NET_DVR_Cleanup':['void', []],

'NET_DVR_GetLastError':['char', []],

'NET_DVR_GetSDKVersion':['char',[]],

'NET_DVR_SetLogToFile':['bool',['int','string']]

});

libHikSDK.NET_DVR_Cleanup();

var init = libHikSDK.NET_DVR_Init();

var v = libHikSDK.NET_DVR_GetSDKVersion();

var s = libHikSDK.NET_DVR_SetConnectTime('200000', '1');

libHikSDK.NET_DVR_SetLogToFile(3,"/home/user");

var i = libHikSDK.NET_DVR_Login_V30("192.168.0.10", 8000, "admin","12345");

var g = libHikSDK.NET_DVR_GetLastError();

Reply all
Reply to author
Forward
0 new messages