mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-23 01:51:58 +00:00
First version
This commit is contained in:
parent
0864a73347
commit
42b659f926
56
src/include/gpxe/llh.h
Normal file
56
src/include/gpxe/llh.h
Normal file
@ -0,0 +1,56 @@
|
||||
#ifndef _LLH_H
|
||||
#define _LLH_H
|
||||
|
||||
/** @file
|
||||
*
|
||||
* Link-layer headers
|
||||
*
|
||||
* This file defines a media-independent link-layer header, used for
|
||||
* communication between the network and link layers of the stack.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/** Maximum length of a link-layer address */
|
||||
#define MAX_LLH_ADDR_LEN 6
|
||||
|
||||
/** Maximum length of a network-layer address */
|
||||
#define MAX_NET_ADDR_LEN 4
|
||||
|
||||
/** A media-independent link-layer header
|
||||
*
|
||||
* This structure represents a generic link-layer header. It never
|
||||
* appears on the wire, but is used to communicate between different
|
||||
* layers within the gPXE protocol stack.
|
||||
*/
|
||||
struct gpxehdr {
|
||||
/** The network-layer protocol
|
||||
*
|
||||
* This is the network-layer protocol expressed as an
|
||||
* ETH_P_XXX constant, in network-byte order.
|
||||
*/
|
||||
uint16_t net_proto;
|
||||
/** Broadcast flag
|
||||
*
|
||||
* Filled in only on outgoing packets.
|
||||
*/
|
||||
int broadcast : 1;
|
||||
/** Multicast flag
|
||||
*
|
||||
* Filled in only on outgoing packets.
|
||||
*/
|
||||
int multicast : 1;
|
||||
/** Network-layer address length
|
||||
*
|
||||
* Filled in only on outgoing packets.
|
||||
*/
|
||||
uint8_t net_addr_len;
|
||||
/** Network-layer address
|
||||
*
|
||||
* Filled in only on outgoing packets.
|
||||
*/
|
||||
uint8_t net_addr[MAX_NET_ADDR_LEN];
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
#endif /* _LLH_H */
|
Loading…
Reference in New Issue
Block a user