udpcmd.c
资源名称:export.zip [点击查看]
上传用户:hepax88
上传日期:2007-01-03
资源大小:1101k
文件大小:1k
源码类别:
TCP/IP协议栈
开发平台:
Visual C++
- /* UDP-related user commands
- * Copyright 1991 Phil Karn, KA9Q
- */
- #include <stdio.h>
- #include "global.h"
- #include "mbuf.h"
- #include "netuser.h"
- #include "udp.h"
- #include "internet.h"
- #include "cmdparse.h"
- #include "commands.h"
- static int doudpstat(int argc,char *argv[],void *p);
- static struct cmds Udpcmds[] = {
- "status", doudpstat, 0, 0, NULL,
- NULL,
- };
- int
- doudp(argc,argv,p)
- int argc;
- char *argv[];
- void *p;
- {
- return subcmd(Udpcmds,argc,argv,p);
- }
- int
- st_udp(udp,n)
- struct udp_cb *udp;
- int n;
- {
- if(n == 0)
- printf("&UCB Rcv-Q Local socketn");
- return printf("%9p%6u %sn",udp,udp->rcvcnt,pinet(&udp->socket));
- }
- /* Dump UDP statistics and control blocks */
- static int
- doudpstat(argc,argv,p)
- int argc;
- char *argv[];
- void *p;
- {
- register struct udp_cb *udp;
- register int i;
- for(i=1;i<=NUMUDPMIB;i++){
- printf("(%2u)%-20s%10lu",i,
- Udp_mib[i].name,Udp_mib[i].value.integer);
- if(i % 2)
- printf(" ");
- else
- printf("n");
- }
- if((i % 2) == 0)
- printf("n");
- printf(" &UCB Rcv-Q Local socketn");
- for(udp = Udps;udp != NULL; udp = udp->next){
- if(st_udp(udp,1) == EOF)
- return 0;
- }
- return 0;
- }