📄 funchand.cpp
字号:
i = arglist->next->ival;
//CTL 02/11/00 */safe_free(send->valuelist[i -1]);
//CTL 02/11/00 */send->valuelist[i -1] = (char *)safe_alloc(strlen(arglist->sval)+1,sizeof(char));
strcpy(send->valuelist[i -1],arglist->sval);
return(NULL);
}
struct ARGUMENT *fh_setField_asn1syntax(struct ARGUMENT *arglist, struct mystruct *send)
{
int i;
i = arglist->next->ival;
send->asn1syntax[i -1] = (unsigned char)arglist->ival;
return(NULL);
}
struct ARGUMENT *fh_getField_pdu(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->sval = (char *)safe_alloc(strlen(recv->pdu)+1,sizeof(char));
strcpy(ret_node->sval, recv->pdu);
ret_node->arg_type = SY_STRING_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_classtype(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->sval = (char *)safe_alloc(strlen(recv->classtype)+1,sizeof(char));
strcpy(ret_node->sval, recv->classtype);
ret_node->arg_type = SY_STRING_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_community(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->sval = (char *)safe_alloc(strlen(recv->community)+1,sizeof(char));
strcpy(ret_node->sval, recv->community);
ret_node->arg_type = SY_STRING_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_AddressDrop(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->ival = recv->AddressDrop;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_GroupAddress(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->ival = recv->GroupAddress;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_SizeOfTheArray(struct mystruct *recv)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->ival = recv->SizeOfTheArray;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_arraylist(struct ARGUMENT *arglist, struct mystruct *recv)
{
int i;
struct ARGUMENT *ret_node;
i = arglist->ival;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->sval = (char *)safe_alloc(strlen(recv->arraylist[i -1])+1,sizeof(char));
strcpy(ret_node->sval, recv->arraylist[i -1]);
ret_node->arg_type = SY_STRING_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_valuelist(struct ARGUMENT *arglist, struct mystruct *recv)
{
int i;
struct ARGUMENT *ret_node;
i = arglist->ival;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->sval = (char *)safe_alloc(strlen(recv->valuelist[i -1])+1,sizeof(char));
strcpy(ret_node->sval, recv->valuelist[i -1]);
ret_node->arg_type = SY_STRING_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_getField_asn1syntax(struct ARGUMENT *arglist, struct mystruct *recv)
{
int i;
struct ARGUMENT *ret_node;
i = arglist->ival;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(struct ARGUMENT));
ret_node->ival = recv->asn1syntax[i -1];
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_sendGet(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
//Set default values
send->MessageGet = 1;
send->MessageGetNext = 0;
send->MessageSet = 0;
send->MessageSync = 0;
send->MessageSetNoReply = 0;
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_sendGetNext(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
//Set default values
send->MessageGet = 0;
send->MessageGetNext = 1;
send->MessageSet = 0;
send->MessageSync = 0;
send->MessageSetNoReply = 0;
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_sendSetDec(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
//Set default values
send->MessageGet = 0;
send->MessageGetNext = 0;
send->MessageSet = 1;
send->MessageSync = 0;
send->MessageSetNoReply = 0;
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_sendSetNoDec(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
//Set default values
send->MessageGet = 0;
send->MessageGetNext = 0;
send->MessageSet = 0;
send->MessageSync = 0;
send->MessageSetNoReply = 1;
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_sendSetAsc(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
char tempchar[1024];
char temp2char[1024];
char finalStr[1024];
int i,j;
char *ptr;
//Set default values
send->MessageGet = 0;
send->MessageGetNext = 0;
send->MessageSet = 1;
send->MessageSync = 0;
send->MessageSetNoReply = 0;
//since this is sendSetAsc, we have to convert the valuelist to a string representation
//of hex string data. For instance, if valuelist = "TEST", then we have to change
//it to be "54 45 53 54". Stupid, yes, but that's the way the software works. The
//valuelist will be unconverted during message encoding
for (i=0; i<send->SizeOfTheArray; i++)
{
memset(tempchar, 0, 1024);
memset(temp2char, 0, 1024);
memset(finalStr, 0, 1024);
memcpy(tempchar, send->valuelist[i], strlen(send->valuelist[i]));
HexToAscii(tempchar, temp2char, strlen(tempchar));
AsciiInsertSpaceFunc (temp2char, finalStr, strlen(temp2char));
// InsertSpace(temp2char, finalStr);
// memset(send->valuelist[0], 0, 1024);
//memcpy(send->valuelist[i], finalStr, strlen(finalStr));
strcpy(send->valuelist[i], finalStr);
/*for (j=0; j< strlen(finalStr);j++)
send->valuelist[i][j]=finalStr[j];
send->valuelist[i][j]=0;
/* ptr = (char *)&(send->valuelist[i][0]);
strcpy(ptr, finalStr);*/
// send->valuelist[i][strlen(finalStr)]=NULL;
}
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_sendSetNoAsc(struct mystruct *send,
int _stdcall (* LineActivityInsert) (char * theMessage),
int _stdcall (* EditByteStream) (pmppStruct *msg, char *header, char *trailer))
{
struct ARGUMENT *ret_node;
//Set default values
send->MessageGet = 0;
send->MessageGetNext = 0;
send->MessageSet = 0;
send->MessageSync = 0;
send->MessageSetNoReply = 1;
//call send data
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
ret_node->ival = SendData(send, LineActivityInsert, EditByteStream,true);
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
SuspendThread(GetCurrentThread());
return(ret_node);
}
struct ARGUMENT *fh_checkProtocolMismatch(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_PROTOCOL_MISMATCH)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidResponse(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_PROTOCOL_INVALID_RESPONSE)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkNoResponse(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_NO_RESPONSE)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkEncodingStyle(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DECODE_ENCODING_STYLE)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkNoInstance(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DECODE_NO_INSTANCE)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkObjectMismatch(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DECODE_OBJECT_MISMATCH)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidSequence(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_SEQUENCE)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidLength(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_LENGTH)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkScrambled(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_SCRAMBLED)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidAddress(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_ADDRESS)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidControl(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_CONTROL)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidCRC(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_CRC)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_checkInvalidIPI(struct ARGUMENT *arglist)
{
struct ARGUMENT *ret_node;
ret_node = (struct ARGUMENT *)safe_alloc(1,sizeof(ARGUMENT));
if(arglist->ival & ERROR_DATA_INVALID_IPI)
ret_node->ival = 1;
else
ret_node->ival = 0;
ret_node->arg_type = SY_INT_TYPE;
ret_node->next = NULL;
return(ret_node);
}
struct ARGUMENT *fh_clearErrorState(struct ARGUMENT *arglist)
{
ClearErrorState(arglist->ival);
return NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -