📄 pgpethernetheader.h
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: pgpEthernetheader.h,v 1.2 2002/08/06 20:10:27 dallen Exp $
____________________________________________________________________________*/
#ifndef Included_pgpEthernetheader_h /* [ */
#define Included_pgpEthernetheader_h
/*
* The number of bytes in an ethernet (MAC) address.
*/
#define kPGPnetEthernetAddressLength 6
/*
* The number of bytes in the type field.
*/
#define kPGPnetEthernetTypeLength 2
/*
* The number of bytes in the trailing CRC field.
*/
#define kPGPnetEthernetCRCLength 4
/*
* The length of the combined header.
*/
#define kPGPnetEthernetHeaderLength ((kPGPnetEthernetAddressLength * 2) + kPGPnetEthernetTypeLength)
/*
* The minimum packet length.
*/
#define kPGPnetEthernetMinLength 64
/*
* The maximum packet length.
*/
#define kPGPnetEthernetMaxLength 1518
/*
* A macro to validate a length with
*/
#define PGPnetEthernetIsValidLength(len) \
((len) >= kPGPnetEthernetMinLength && (len) <= kPGPnetEthernetMaxlength)
/*
* Structure of a 10Mb/s Ethernet header.
*/
typedef struct PGPnetEthernetHeader {
PGPUInt8 dhost[kPGPnetEthernetAddressLength];
PGPUInt8 shost[kPGPnetEthernetAddressLength];
PGPUInt16 type;
} PGPnetEthernetHeader;
/*
* Structure of a 48-bit Ethernet address.
*/
typedef struct PGPnetEthernetAddress {
PGPUInt8 octet[kPGPnetEthernetAddressLength];
} PGPnetEthernetAddress;
#define kPGPnetEthernetType_IP 0x0800 /* IP protocol */
#define kPGPnetEthernetType_ARP 0x0806 /* Addr. resolution protocol */
#define kPGPnetEthernetType_RARP 0x8035 /* reverse Addr. resolution protocol */
#define kPGPnetEthernetType_Loopback 0x9000 /* used to test interfaces */
#define kPGPnetEthernetMTU (kPGPnetEthernetMaxLength - kPGPnetEthernetHeaderLength - kPGPnetEthernetCRCLength)
#endif /* Included_pgpEthernetheader_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -