📄 fmaclien.c
字号:
/**************************************************************************/
/**************************************************************************/
/* */
/* EXPORTED FUNCTIONS */
/* */
/**************************************************************************/
/**************************************************************************/
/**************************************************************************/
/* */
/* int get_life_list_local(HWND hWnd) */
/* */
/* */
/**************************************************************************/
int FDL_life_list_local( int DriverHandle, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_head( rqb );
rqb -> rb2_header.priority = pr; // rqb - univerzalni pointer na Request Block
rqb -> rb2_header.fill_length_1 = 0;
rqb -> rb2_header.seg_length_1 = 127;
rqb -> rb2_header.offset_1 = 80;
// application block params
rqb -> application_block.service.code = fdl_life_list_create_local;
return fdl_write( DriverHandle, rqb );
}
//*************************************************************************
int FDL_life_list_remote( int DriverHandle, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_head( rqb );
rqb -> rb2_header.priority = pr;
rqb -> rb2_header.fill_length_1 = 0;
rqb -> rb2_header.seg_length_1 = 127;
rqb -> rb2_header.offset_1 = 80;
// application block params
rqb -> application_block.service.code = fdl_life_list_create_remote;
return fdl_write( DriverHandle, rqb );
}
/**************************************************************************/
/* int fdl_ident(HWND hWnd,BYTE address) */
/**************************************************************************/
int FDL_ident( int DriverHandle, BYTE addr, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_head( rqb );
rqb -> rb2_header.fill_length_1 = 0;
rqb -> rb2_header.seg_length_1 = 260;
rqb-> rb2_header.offset_1 = 80;
rqb-> rb2_header.priority = pr;
rqb -> rb2_header.fill_length_2 = 0;
rqb -> rb2_header.seg_length_2 = 0;
rqb -> rb2_header.offset_2 = 0;
rqb -> application_block.service.code = fdl_ident;
rqb -> application_block.receive_l_sdu.length = 255;
rqb -> application_block.rem_add.station = addr;
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_FDL_await_indication( int DriverHandle, UBYTE sap_nr, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
if ( sap_nr == EVENT_SAP )
build_rqb_event_sap( rqb, pr ); // EVENT_SAP=64
else
build_rqb_await_indication( rqb, sap_nr, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Set_FDL_value( int DriverHandle, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
FDL_set_val( rqb, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Read_FDL_value( int DriverHandle, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
FDL_read_val( rqb, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int SAP_activate( int DriverHandle,
UBYTE sap_nr,
UBYTE ACCSAP,
UBYTE ACCSTAT,
UBYTE SDA_R,
UBYTE SDN_R,
UBYTE SRD_R,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_sap_activate( rqb,
sap_nr,
ACCSAP,
ACCSTAT,
SDA_R,
SDN_R,
SRD_R,
pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int RSAP_activate( int DriverHandle,
UBYTE sap_nr,
UBYTE ACCSAP,
BYTE ACCSTAT,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_rsap_activate( rqb, sap_nr, ACCSAP, ACCSTAT, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int SAP_deactivate( int DriverHandle, UBYTE sap_nr, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_sap_deactivate( rqb, sap_nr, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int LSAP_status_read( int DriverHandle, UBYTE addr, UBYTE sap_nr, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_lsap_status( rqb, addr, sap_nr, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Read_Statistic_Ctr( int DriverHandle, BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_statistic_count( rqb, pr );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
//*****************************************************************************
//*****************************************************************************
int Send_Replay_Update_Single_Bin( int DriverHandle,
UBYTE sap_nr,
unsigned char *data,
int length,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_reply_update_single( rqb, sap_nr, pr, data, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_Replay_Update_Multiple_Bin( int DriverHandle,
UBYTE sap_nr,
unsigned char *data,
int length,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_reply_update_multiple( rqb, sap_nr, pr, data, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_SDN_Bin( int DriverHandle,
BYTE addr,
UBYTE ssap,
UBYTE dsap,
unsigned char *data,
int length,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_sdn( rqb, addr, dsap, ssap, pr, data, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_SRD_Bin( int DriverHandle,
BYTE addr,
UBYTE ssap,
UBYTE dsap,
unsigned char *data,
int length,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
build_rqb_srd( rqb, addr, dsap, ssap, pr, data, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
//*****************************************************************************
//*****************************************************************************
int Send_Replay_Update_Single_Hex( int DriverHandle,
UBYTE sap_nr,
unsigned char *data,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
unsigned char data_bin[260];
int length = ( strlen( data ) + 1 ) / 3;
HexStringToByteString( data, length, data_bin );
build_rqb_reply_update_single( rqb, sap_nr, pr, data_bin, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_Replay_Update_Multiple_Hex( int DriverHandle,
UBYTE sap_nr,
unsigned char *data,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
unsigned char data_bin[260];
int length = ( strlen( data ) + 1 ) / 3;
HexStringToByteString( data, length, data_bin );
build_rqb_reply_update_multiple( rqb, sap_nr, pr, data_bin, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_SDN_Hex( int DriverHandle,
BYTE addr,
UBYTE ssap,
UBYTE dsap,
unsigned char *data,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
unsigned char data_bin[260];
int length = ( strlen( data ) + 1 ) / 3;
HexStringToByteString( data, length, data_bin );
build_rqb_sdn( rqb, addr, dsap, ssap, pr, data_bin, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
int Send_SRD_Hex( int DriverHandle,
BYTE addr,
UBYTE ssap,
UBYTE dsap,
unsigned char *data,
BYTE pr )
{
fdl_rb rb, *rqb=&rb;
unsigned char data_bin[260];
int length = ( strlen( data ) + 1 ) / 3;
HexStringToByteString( data, length, data_bin );
build_rqb_srd( rqb, addr, dsap, ssap, pr, data_bin, length );
return fdl_write( DriverHandle, rqb );
}
//*****************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -