uboot tftp code structure


TftpSend (void)
pkt = NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE;
case STATE_RRQ:
xp = pkt;
s = (ushort *)pkt;
*s++ = htons(TFTP_RRQ);
pkt = (uchar *)s;
strcpy ((char *)pkt, tftp_filename);
pkt += strlen(tftp_filename) + 1;
strcpy ((char *)pkt, "octet");
pkt += 5 /*strlen("octet")*/ + 1;
strcpy ((char *)pkt, "timeout");
pkt += 7 /*strlen("timeout")*/ + 1;
sprintf((char *)pkt, "%d", TIMEOUT);
pkt += strlen((char *)pkt) + 1;
len = pkt - xp;
break;


NetSendUDPPacket(NetServerEther, NetServerIP, TftpServerPort, TftpOurPort, len);
这个函数向tftp server发送一个packet
在上面的case中,在这个case中,设置一个即将发送的读数据请求报文:TFTP动作、tftp传输的文件名、模式“octet”、选项0“timeout”,选项0的值5.
tftp传输的文件名,模式“octet”,选项0“timeout”,选项0的值5之间有‘\0'.




. TftpHandler()
这个函数时tftp client的接收到数据时处理函数,处理数据包、OACK包、error包等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值