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

  • 大小: 53KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-25
  • 語言: C/C++
  • 標簽: 重組??

資源簡介

資源提供了一種數據分段與重組算法,并通過C語言編程實現

資源截圖

代碼片段和文件信息

#include
#include?“adp.h“
#include?“physap.h“
#include?“net.h“
#include?“mib.h“


struct?adp_data_struct{
????uint16_t??payload_len;
????char?payload[NET_DRIVE_MTU];
};

struct?xmit_proc?{
????uint8_t?seqs;
????uint8_t?nsegs;
????struct?seg_struct?psdu;
};

struct?adp_proc{
????struct?adp_data_struct?txp;
????struct?adp_data_struct?rxp;
????struct?xmit_proc?xmitProc;??
};

static?struct?adp_proc?*adp_process=NULL;
static?u8?tx_lock=false;
static?int?tail_len?=0;

extern?void?uts_unlock(void)?;
static?void
tx_confirm_handler(uint8_t?*?mpdu?int?status)?{
????if?(status?||?(adp_process->xmitProc.seqs??>?adp_process->xmitProc.nsegs))?{
//????????printk(KERN_INFO?“xmit:[%s]?finished:[%s]?\n“status?“faild“:“success“
//????????????????????????????????adp_process->xmitProc.seqs??>?adp_process->xmitProc.nsegs?“yes“:“no“);
????????adp_process->xmitProc.seqs?=?0;
????????adp_process->xmitProc.nsegs?=?0;
????????uts_unlock();
????????tx_lock=false;
????????memset(&adp_process->txp?0x0?sizeof?(struct?adp_data_struct));
????????return;
????}

????if?(adp_process->xmitProc.seqs?==?adp_process->xmitProc.nsegs)?{
????????adp_process->xmitProc.psdu.hdr.type?=?SEG_TAIL;
????????adp_process->xmitProc.psdu.hdr.seqs?=?adp_process->xmitProc.nsegs;
????????adp_process->xmitProc.psdu.hdr.seg_length?=?tail_len???tail_len?:?MAX_SEG_LEN;
????}?else?{
????????adp_process->xmitProc.psdu.hdr.type?=?SEG_MID;
????????adp_process->xmitProc.psdu.hdr.seqs?=?adp_process->xmitProc.seqs;
????????adp_process->xmitProc.psdu.hdr.seg_length?=?MAX_SEG_LEN;
????}
????memcpy(?adp_process->xmitProc.psdu.data?adp_process->txp.payload?+?adp_process->xmitProc.seqs?*?MAX_SEG_LEN?adp_process->xmitProc.psdu.hdr.seg_length);
????adp_process->xmitProc.seqs++;
????if(physap_xmit_mpdu_csma((unsigned?char?*)?&adp_process->xmitProc.psdu?adp_process->xmitProc.psdu.hdr.seg_length?+?4?tx_confirm_handler))?{
//????????printk(KERN_WARNING?“send?[%d]?segments?failed!?\n“adp_process->xmitProc.seqs);
????????memset(&adp_process->txp?0x0?sizeof?(struct?adp_data_struct));
????????adp_process->xmitProc.seqs?=?0;
????????adp_process->xmitProc.nsegs?=?0;
????????uts_unlock();
????????tx_lock=false;
????????return;
????}
}

void?adp_req(char?*data?uint16_t?len)?{
????
????if(tx_lock)
????????return;
????tx_lock=true;

????tail_len=len%MAX_SEG_LEN;
????adp_process->txp.payload_len?=?len;
????memcpy(adp_process->txp.payload?data?len);
????adp_process->xmitProc.nsegs?=tail_len?len?/MAX_SEG_LEN:(len?/?MAX_SEG_LEN-1);
????adp_process->xmitProc.seqs?=?0;

????adp_process->xmitProc.psdu.hdr.type?=?SEG_FIRST;
????/*just?one?segment*/
????if?((len?==MAX_SEG_LEN)?||?(!adp_process->xmitProc.nsegs))?{
????????adp_process->xmitProc.psdu.hdr.seqs?=?0;
????????adp_process->xmitProc.psdu.hdr.seg_length?=?adp_process->txp.payload_len;
????}?else?{?//one?more?fregment?send?first?segment
????????adp_process->xmitProc.psdu.hdr.seqs?=?adp_process->xmitProc.nsegs;
????????adp_process->xmitProc.psdu.hdr.seg_leng

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6584??2016-01-14?15:00??數據包分段與重組算法原理及其實現\adp.c

?????文件????????985??2018-05-03?16:40??數據包分段與重組算法原理及其實現\adp.h

?????文件??????54388??2015-12-29?14:01??數據包分段與重組算法原理及其實現\分段與重組.odt

?????目錄??????????0??2016-04-01?11:05??數據包分段與重組算法原理及其實現

-----------?---------??----------?-----??----

????????????????61957????????????????????4


評論

共有 條評論