📄 tools.h
字号:
/****************************************************************
** *
** FILE : Tools.H *
** COPYRIGHT : (c) 2001 .Xiamen Yaxon NetWork CO.LTD *
** *
** *
** By : CCH 2002.1.15 *
****************************************************************/
#ifndef DEF_TOOLS
#define DEF_TOOLS
#include "structs.h"
/*
********************************************************************************
* DEFINE PARAMETERS
********************************************************************************
*/
#define STR_EQUAL 0
#define STR_GREAT 1
#define STR_LESS 2
#define MODE_CODE7 0
#define MODE_CODE8 1
#define CASESENSITIVE 0
INT16U GetMod(INT16U tmp, INT8U t);
INT8U GetRs(INT16U mod, INT8U t);
INT8U GetChkSum_IP(INT8U *dptr, INT16U len); //yyy
void MovXX(INT8U *dptr, INT8U *sptr, INT16U len);
void MovStr(INT8U *dptr, char *sptr);
void InitBuf(INT8U *dptr, INT8U initdata, INT16U len);
INT8U GetChkSum(INT8U *dptr, INT16U len);
INT8U GetChkSum_N(INT8U *dptr, INT16U len);
INT8U GetChkSum_C(INT8U *dptr, INT16U len);
INT8U GetChkSum_7C(INT8U *dptr, INT16U len);
void ConvertData(INT8U *dptr, INT16U len, INT8U ddata, INT8U sdata);
BOOLEAN CmpString_Byte(INT8U *ptr, INT16U len, INT8U cb);
INT8U CmpString(INT8U *ptr1, INT8U *ptr2, INT16U len);
INT8U ACmpString(BOOLEAN matchcase, INT8U *ptr1, INT8U *ptr2, INT16U len1, INT16U len2);
INT16U Bit7ToOctet(INT8U *dptr, INT8U *sptr, INT16U len);
INT16U OctetToBit7(INT8U *dptr, INT8U *sptr, INT16U len, INT8U leftbit);
INT8U HexToChar(INT8U sbyte);
INT8U CharToHex(INT8U schar);
INT8U SemiOctetToChar(INT8U sbyte);
INT8U CharToSemiOctet(INT8U schar);
INT8U DecToAscii(INT8U *dptr, INT32U data, INT8U reflen);
INT16U AsciiToDec(INT8U *sptr, INT8U len);
INT16U HexToAscii(INT8U *dptr, INT8U *sptr, INT16U len);
INT16U HexToDec(INT8U *dptr, INT8U *sptr, INT16U len);
INT16U AsciiToHex(INT8U *dptr, INT8U *sptr, INT16U len);
void SemiOctetToHex(INT8U *dptr, INT8U *sptr, INT16U len);
INT16U SemiOctetToAscii(INT8U *dptr, INT8U *sptr, INT16U len);
INT16U AsciiToSemiOctet(INT8U *dptr, INT8U *sptr, INT16U len);
void GetLocalTimeFromGMT(DATE_STRUCT *dptr, TIME_STRUCT *tptr, INT8U diftime);
BOOLEAN SearchDataInMem(INT8U *bptr, INT16U blen, INT8U *sptr, INT16U slen);
BOOLEAN SearchKeyWord(INT8U *ptr, INT16U maxlen, char *sptr);
BOOLEAN SearchKeyWordFromHead(INT8U *ptr, INT16U maxlen, char *sptr);
INT16U SearchDigitalString(INT8U *ptr, INT16U maxlen, INT8U flagchar, INT8U numflag);
INT16U SearchString(INT8U *dptr, INT16U limitlen, INT8U *sptr, INT16U maxlen, INT8U flagchar, INT8U numflag);
INT16U FindCharPos(INT8U *sptr, char findchar, INT8U numchar, INT16U maxlen);
void AddGpsData(INT8U *result, INT8U *data1, INT8U *data2);
BOOLEAN DecGpsData(INT8U *result, INT8U *data1, INT8U *data2);
BOOLEAN ShieldHighBit(INT8U *data);
INT16U Code6_To_CodeX(INT8U mode, INT8U *dptr, INT8U *sptr, INT16U len);
INT16U CodeX_To_Code6(INT8U mode, INT8U *dptr, INT8U *sptr, INT16U len, INT16U limitlen);
INT16U DecodeTellen(INT8U *sptr, INT16U len);
INT16U DecodeTel(INT8U *dptr, INT8U *sptr, INT16U len);
void EncodeTel(INT8U *dptr, INT8U *sptr, INT16U len, INT16U maxlen);
BOOLEAN FindProcEntry(INT16U index, FUNCENTRY_STRUCT *funcentry, INT16U num);
BOOLEAN Add_Thousand(INT16U *add1, INT16U *add2, INT8U len1, INT8U len2);
BOOLEAN Dec_Thousand(INT16U *dec1, INT16U *dec2, INT8U len1, INT8U len2);
void Mul_Thousand(INT16U *result, INT16U mul1, INT16U mul2);
INT8U ThousandToAscii(INT8U *ptr, INT16U opdata);
INT16U AssembleByRules(INT8U *dptr, INT8U *sptr, INT16U len, ASMRULE_STRUCT *rule);
INT16U DeassembleByRules(INT8U *dptr, INT8U *sptr, INT16U len, ASMRULE_STRUCT *rule);
BOOLEAN DateValid(DATE_STRUCT *date);
BOOLEAN TimeValid(TIME_STRUCT *time);
BOOLEAN LongitudeValid(INT8U *longitude);
BOOLEAN LatitudeValid(INT8U *latitude);
#if 1
BOOLEAN NeedRoundLine(INT8U *ptr, INT16U len);
#endif
INT16S PlotLinePos(INT8U *textptr, INT16U textlen, INT16U *linepos, INT16U maxline, INT16U linesize);
INT16U InsertEditBuf(INT8U *ptr, INT16U len, INT16U pos, INT16U ch);
INT8U DelEditBuf(INT8U *ptr, INT16U len, INT16U pos);
void WriteWordByPointer(INT8U *ptr, INT16U wdata);
INT16U ReadWordByPointer(INT8U *ptr);
INT8U FormatYear(INT8U *ptr, INT8U year, INT8U month, INT8U day);
INT8U FormatTime(INT8U *ptr, INT8U hour, INT8U minute, INT8U second);
/* add by qzc */
#define MISS 0
#define OVERLAP 1
#define SUBCLASS 2
#define VACUUM 3
INT8U GetSmall(INT8U Data1,INT8U Data2);
INT8U CmpData(INT8U *Buf1,INT8U *Buf2,INT8U Len1,INT8U Len2);
BOOLEAN IsInRange(INT8U Data,INT8U Low,INT8U High);
//(A In B=SUBCLASS)
INT8U RangeRelation(INT8U *A1,INT8U *A2,INT8U *B1,INT8U *B2,INT8U Len);
INT16U Code8_To_Code7(INT8U *Dptr,INT8U *Sptr,INT16U Len,INT16U LimitLen);
INT16U Code7_To_Code8(INT8U *Dptr,INT8U *Sptr,INT16U Len);
INT8U BitValue(INT8U Data,INT8U Index);
BOOLEAN IsZero(INT8U *Ptr,INT8U Len);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -