⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appletal.h

📁 This directory contains source code for tcpdump, a tool for network monitoring and data acquisition
💻 H
字号:
/*
 * Copyright (c) 1988, 1989, 1990, 1993, 1994, 1995, 1996
 *      The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that: (1) source code distributions
 * retain the above copyright notice and this paragraph in its entirety, (2)
 * distributions including binary code include the above copyright notice and
 * this paragraph in its entirety in the documentation or other materials
 * provided with the distribution, and (3) all advertising materials mentioning
 * features or use of this software display the following acknowledgement:
 * ``This product includes software developed by the University of California,
 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
 * the University nor the names of its contributors may be used to endorse
 * or promote products derived from this software without specific prior
 * written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 * AppleTalk protocol formats (courtesy Bill Croft of Stanford/SUMEX).
 *
 * @(#) $Header: appletalk.h,v 1.12 96/06/03 02:54:24 leres Exp $ (LBL)
 */

struct LAP {
       u_char  dst;
       u_char  src;
       u_char  type;
     };

#define lapShortDDP  1       /* short DDP type */
#define lapDDP       2       /* DDP type */
#define lapKLAP      'K'     /* Kinetics KLAP type */

#ifndef ATALK_FILE
#define ATALK_FILE   "/etc/atalk.names"
#endif


/* Datagram Delivery Protocol */

struct atDDP {
       u_short length;
       u_short checksum;
       u_short dstNet;
       u_short srcNet;
       u_char  dstNode;
       u_char  srcNode;
       u_char  dstSkt;
       u_char  srcSkt;
       u_char  type;
     };

struct atShortDDP {
       u_short length;
       u_char  dstSkt;
       u_char  srcSkt;
       u_char  type;
     };

#define ddpMaxWKS       0x7F
#define ddpMaxData      586
#define ddpLengthMask   0x3FF
#define ddpHopShift     10
#define ddpSize         13      /* size of DDP header (avoid struct padding) */
#define ddpSSize        5
#define ddpWKS          128     /* boundary of DDP well known sockets */
#define ddpRTMP         1       /* RTMP type */
#define ddpRTMPrequest  5       /* RTMP request type */
#define ddpNBP          2       /* NBP type */
#define ddpATP          3       /* ATP type */
#define ddpECHO         4       /* ECHO type */
#define ddpIP           22      /* IP type */
#define ddpARP          23      /* ARP type */
#define ddpKLAP         0x4b    /* Kinetics KLAP type */


/* AppleTalk Transaction Protocol
 */
struct atATP {
       u_char  control;
       u_char  bitmap;
       u_short transID;
       u_int   userData;
     };

#define atpReqCode      0x40
#define atpRspCode      0x80
#define atpRelCode      0xC0
#define atpXO           0x20
#define atpEOM          0x10
#define atpSTS          0x08
#define atpFlagMask     0x3F
#define atpControlMask  0xF8
#define atpMaxNum       8
#define atpMaxData      578


/* AppleTalk Echo Protocol
 */
struct atEcho {
       u_char  echoFunction;
       u_char *echoData;
     };

#define echoSkt         4               /* the echoer socket */
#define echoSize        1               /* size of echo header */
#define echoRequest     1               /* echo request */
#define echoReply       2               /* echo request */


/* Name Binding Protocol
 */
struct atNBP {
       u_char  control;
       u_char  id;
     };

struct atNBPtuple {
       u_short net;
       u_char  node;
       u_char  skt;
       u_char  enumerator;
     };

#define nbpBrRq         0x10
#define nbpLkUp         0x20
#define nbpLkUpReply    0x30

#define nbpNIS          2
#define nbpTupleMax     15

#define nbpHeaderSize   2
#define nbpTupleSize    5

#define nbpSkt          2       /* NIS */


/* Routing Table Maint. Protocol
 */
#define rtmpSkt         1       /* number of RTMP socket */
#define rtmpSize        4       /* minimum size */
#define rtmpTupleSize   3


/* Zone Information Protocol
 */
struct zipHeader {
       u_char  command;
       u_char  netcount;
     };

#define zipHeaderSize   2
#define zipQuery        1
#define zipReply        2
#define zipTakedown     3
#define zipBringup      4
#define ddpZIP          6
#define zipSkt          6
#define GetMyZone       7
#define GetZoneList     8

/*
 * UDP port range used for ddp-in-udp encapsulation is 16512-16639
 * for client sockets (128-255) and 200-327 for server sockets
 * (0-127).  We also try to recognize the pre-April 88 server
 * socket range of 768-895.
 */
#define atalk_port(p) (((unsigned)((p) - 16512) < 128) || \
                       ((unsigned)((p) - 200) < 128)   || \
                       ((unsigned)((p) - 768) < 128))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -