91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 2
    下載: 4 次
    發布日期: 2021-05-04
  • 語言: C/C++
  • 標簽: SLIP??

資源簡介

已經在vxworks上成功進行了編解碼測試。編解碼比較簡單,已經封裝好了編碼函數和解碼函數。大家可以稍加修改移植到你自己的平臺。

資源截圖

代碼片段和文件信息

#define?END????0xC0
#define?ESC????0xDB
#define?ESC_END????0xDC
#define?ESC_ESC????0xDD

#define?SLIP_OP_OK????0
#define?SLIP_ERROR_DST_LENGTH_SHORT????-1
#define?SLIP_ERROR_SRC_LENGTH_SHORT????-2
#define?SLIP_ERROR_FLAG_ERROR????-3

#include?
#include?
using?namespace?std;



int?Encapsulation(unsigned?char*?psrcbuf?int?srclen?unsigned?char*?pdstbuf?int?&dstlen)
{
unsigned?char*?ptembuf?=?new?unsigned?char[2*srclen];??/*定義一個數組ptembuf用于對源數據中元素的替換*/

/*替換源數據中的元素*/
for(int?i?=?0?j?=?0?count?=?0;?i? {
/*第一種假設替換m*/
if(psrcbuf[i]==END)
{
ptembuf[j]?=?ESC;
ptembuf[j?+?1]?=?ESC_END;

j?+=?1;
j++;
i++;
count++;

continue;
}

/*第二種實際的0xDB*/
if(psrcbuf[i]?==?ESC)
{
ptembuf[j]?=?ESC;
ptembuf[j?+?1]?=?ESC_ESC;

j?+=?2;
i++;
count++;

continue;
}

/*正常元素*/
else
{
ptembuf[j]?=?psrcbuf[i];

i++;
j++;

continue;
}
}????

/*不夠返回-1,結束程序*/
if(dstlen? {
return?SLIP_ERROR_DST_LENGTH_SHORT;
}

/*將ptembuf賦值給pdstbuf*/
else
{
dstlen?=?srclen?+?count?+?2;

pdstbuf[0]?=?END; /*以?x?為報文頭尾標志*/
pdstbuf[dstlen?-?1]?=?END;

for(int?k?=?1;?k? {
pdstbuf[k]?=?ptembuf[k?-?1];
}

ptembuf?=?0;
delete?[]?ptembuf;??/*釋放ptembuf內存*/

return?SLIP_OP_OK;
}

return?0;
}?

int?Dencapsulation(unsigned?char*?psrcbuf?int?srclen?unsigned?char*?pdstbuf?int?&dstlen)
{
int?count;
count?=?0;

/*報文標志錯誤返回-3*/
if(psrcbuf[0]?!=?END?||?psrcbuf[srclen?-?1]?!=?END)
{
return?SLIP_ERROR_FLAG_ERROR;
}

else
{
/*替換報文中的元素*/
for(int?i?=?1?j?=?0;?i? {
if(psrcbuf[i]?==?ESC?&&?psrcbuf[i?+?1]?==?ESC_END)
{
pdstbuf[j]?=?END;

i?+=?2;
j++;
count++;

continue;
}

if(psrcbuf[i]?==?ESC?&&?psrcbuf[i?+?1]?==?ESC_ESC)
{
pdstbuf[j]?=?ESC;

i?+=?2;
j++;

評論

共有 條評論