-static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-atalk.c,v 1.67 2001-07-05 18:54:14 guy Exp $ (LBL)";
+static const char rcsid[] _U_ =
+ "@(#) $Header: /tcpdump/master/tcpdump/print-atalk.c,v 1.81 2004-05-01 09:41:50 hannes Exp $ (LBL)";
- snapend = p + h->caplen;
- ++infodelay;
- ts_print(&h->ts);
- llap_print(p, h->caplen);
- if(xflag)
- default_print(p, h->caplen);
- putchar('\n');
- --infodelay;
- if (infoprint)
- info(0);
+ return (llap_print(p, h->caplen));
llap_print(register const u_char *bp, u_int length)
{
register const struct LAP *lp;
register const struct atDDP *dp;
register const struct atShortDDP *sdp;
u_short snet;
llap_print(register const u_char *bp, u_int length)
{
register const struct LAP *lp;
register const struct atDDP *dp;
register const struct atShortDDP *sdp;
u_short snet;
ddp_print(bp, length, sdp->type, 0, lp->src, sdp->srcSkt);
break;
case lapDDP:
if (length < ddpSize) {
ddp_print(bp, length, sdp->type, 0, lp->src, sdp->srcSkt);
break;
case lapDDP:
if (length < ddpSize) {
ddp_print(bp, length, dp->type, snet, dp->srcNode, dp->srcSkt);
break;
ddp_print(bp, length, dp->type, snet, dp->srcNode, dp->srcSkt);
break;
lp->src, lp->dst, lp->type, length);
break;
}
lp->src, lp->dst, lp->type, length);
break;
}
}
dp = (const struct atDDP *)bp;
snet = EXTRACT_16BITS(&dp->srcNet);
printf("%s.%s", ataddr_string(snet, dp->srcNode),
ddpskt_string(dp->srcSkt));
}
dp = (const struct atDDP *)bp;
snet = EXTRACT_16BITS(&dp->srcNet);
printf("%s.%s", ataddr_string(snet, dp->srcNode),
ddpskt_string(dp->srcSkt));
ataddr_string(EXTRACT_16BITS(&dp->dstNet), dp->dstNode),
ddpskt_string(dp->dstSkt));
bp += ddpSize;
ataddr_string(EXTRACT_16BITS(&dp->dstNet), dp->dstNode),
ddpskt_string(dp->dstSkt));
bp += ddpSize;
- length, ntohs(ap->op), ntohs(ap->htype), ntohs(ap->ptype),
- ap->halen, ap->palen);
+ length, EXTRACT_16BITS(&ap->op), EXTRACT_16BITS(&ap->htype),
+ EXTRACT_16BITS(&ap->ptype), ap->halen, ap->palen);
default:
(void)printf(" at-%s %d", tok2str(type2str, NULL, t), length);
break;
default:
(void)printf(" at-%s %d", tok2str(type2str, NULL, t), length);
break;
ap->control & atpEOM? "*" : " ",
EXTRACT_16BITS(&ap->transID), ap->bitmap, length);
switch (ap->control & (atpXO|atpSTS)) {
ap->control & atpEOM? "*" : " ",
EXTRACT_16BITS(&ap->transID), ap->bitmap, length);
switch (ap->control & (atpXO|atpSTS)) {
register u_char snode, register u_char skt)
{
register const struct atNBPtuple *tp =
register u_char snode, register u_char skt)
{
register const struct atNBPtuple *tp =
- (void)printf(" nbp-0x%x %d (%d)", np->control, np->id,
+ (void)printf(" nbp-0x%x %d (%u)", np->control, np->id,
{
register struct hnamemem *tp, *tp2;
register int i = (atnet << 8) | athost;
{
register struct hnamemem *tp, *tp2;
register int i = (atnet << 8) | athost;
if (first && (first = 0, !nflag)
&& (fp = fopen("/etc/atalk.names", "r"))) {
char line[256];
if (first && (first = 0, !nflag)
&& (fp = fopen("/etc/atalk.names", "r"))) {
char line[256];
while (fgets(line, sizeof(line), fp)) {
if (line[0] == '\n' || line[0] == 0 || line[0] == '#')
continue;
while (fgets(line, sizeof(line), fp)) {
if (line[0] == '\n' || line[0] == 0 || line[0] == '#')
continue;
- if (sscanf(line, "%d.%d.%d %256s", &i1, &i2, &i3,
- nambuf) == 4)
+ if (sscanf(line, "%d.%d %256s", &i1, &i2, nambuf) == 3)
- i3 |= ((i1 << 8) | i2) << 8;
- else if (sscanf(line, "%d.%d %256s", &i1, &i2,
- nambuf) == 3)
+ i2 |= (i1 << 8);
+ else if (sscanf(line, "%d %256s", &i1, nambuf) == 2)
- (void)snprintf(nambuf, sizeof(nambuf), "%d.%d.%d",
- atnet >> 8, atnet & 0xff, athost);
+ (void)snprintf(nambuf, sizeof(nambuf), "%d.%d", atnet, athost);
- (void)snprintf(nambuf, sizeof(nambuf), "%d.%d", atnet >> 8,
- atnet & 0xff);
+ (void)snprintf(nambuf, sizeof(nambuf), "%d", atnet);