mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.1 KiB
118 lines
2.1 KiB
|
|
//
|
|
// Copyright (c) 2000-2001, Microsoft Corporation, all rights reserved
|
|
//
|
|
// nicarp.h
|
|
//
|
|
// IEEE1394 mini-port/call-manager driver
|
|
//
|
|
// Decl file for structures that are common to nic1394 and arp1394
|
|
// but are private to these two modules
|
|
//
|
|
// 12/28/1998 ADube Created.
|
|
|
|
//
|
|
// Loopback Information - Indicates to the arp module
|
|
// that a packet is a loopback packet
|
|
//
|
|
|
|
#ifndef __NICARP_H
|
|
#define __NICARP_H
|
|
|
|
#define NIC_LOOPBACK_TAG 0x0bad0bad
|
|
|
|
|
|
typedef struct _LOOPBACK_RSVD
|
|
{
|
|
UCHAR Mandatory[PROTOCOL_RESERVED_SIZE_IN_PACKET];
|
|
|
|
ULONG LoopbackTag;
|
|
|
|
} LOOPBACK_RSVD, *PLOOPBACK_RSVD;
|
|
|
|
|
|
|
|
// Status Indicated by nic1394 to tell arp1394 that the bus has been reset
|
|
#define NIC1394_STATUS_BUS_RESET ((NDIS_STATUS)0x13940001)
|
|
|
|
// Ethernet MAC address
|
|
//
|
|
#define ARP_802_ADDR_LENGTH 6 // Length of an 802 address.
|
|
typedef struct
|
|
{
|
|
UCHAR addr[ARP_802_ADDR_LENGTH];
|
|
} ENetAddr;
|
|
|
|
|
|
//
|
|
// Structure used to define the topology of the bus.
|
|
// This is used only in the case where the bridge is present.
|
|
//
|
|
|
|
|
|
typedef struct _EUID_TUPLE
|
|
{
|
|
// The 64 buit Unique Id of the 1394 card
|
|
UINT64 Euid;
|
|
|
|
// The Ethernet Mac Address associated with this 1394 card
|
|
ENetAddr ENetAddress;
|
|
|
|
|
|
}EUID_TUPLE, *PEUID_TUPLE;
|
|
|
|
|
|
typedef struct _EUID_TOPOLOGY
|
|
{
|
|
//Number of remote nodes
|
|
UINT NumberOfRemoteNodes;
|
|
|
|
// Have one record for each of the 64 nodes
|
|
EUID_TUPLE Node[64];
|
|
|
|
|
|
}EUID_TOPOLOGY, *PEUID_TOPOLOGY;
|
|
|
|
|
|
//
|
|
// Structure used in parsing the Encapsulation Header
|
|
// of an IP/1394 packet
|
|
//
|
|
typedef enum _NDIS1394_FRAGMENT_LF
|
|
{
|
|
lf_Unfragmented,
|
|
lf_FirstFragment,
|
|
lf_LastFragment,
|
|
lf_InteriorFragment
|
|
|
|
|
|
} NDIS1394_FRAGMENT_LF, *PNDIS1394_FRAGMENT_LF;
|
|
|
|
|
|
typedef union _NDIS1394_UNFRAGMENTED_HEADER
|
|
{
|
|
// NIC1394_UNFRAGMENTED_HEADER Header;
|
|
|
|
ULONG HeaderUlong;
|
|
|
|
struct
|
|
{
|
|
ULONG FH_EtherType:16;
|
|
ULONG FH_rsv:14;
|
|
ULONG FH_lf:2;
|
|
} u;
|
|
|
|
struct
|
|
{
|
|
UCHAR fHeaderHasSourceAddress;
|
|
UCHAR SourceAddress;
|
|
USHORT EtherType;
|
|
} u1;
|
|
|
|
|
|
|
|
} NDIS1394_UNFRAGMENTED_HEADER, *PNDIS1394_UNFRAGMENTED_HEADER;
|
|
|
|
|
|
|
|
#endif
|