Subversion Repositories HelenOS

Rev

Rev 4153 | Rev 4350 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4153 Rev 4243
Line 109... Line 109...
109
    uint8_t     ssap;
109
    uint8_t     ssap;
110
    /** Control parameter.
110
    /** Control parameter.
111
     *  The possible values are assigned by an IEEE committee.
111
     *  The possible values are assigned by an IEEE committee.
112
     */
112
     */
113
    uint8_t     ctrl;
113
    uint8_t     ctrl;
114
};
114
} __attribute__ ((packed));
115
 
115
 
116
/** Ethernet header SNAP extension.
116
/** Ethernet header SNAP extension.
117
 */
117
 */
118
struct eth_header_snap{
118
struct eth_header_snap{
119
    /** Protocol identifier or organization code.
119
    /** Protocol identifier or organization code.
Line 121... Line 121...
121
    uint8_t     proto[ 3 ];
121
    uint8_t     proto[ 3 ];
122
    /** Ethernet protocol identifier in the network byte order (big endian).
122
    /** Ethernet protocol identifier in the network byte order (big endian).
123
     *  @see ethernet_protocols.h
123
     *  @see ethernet_protocols.h
124
     */
124
     */
125
    uint16_t    ethertype;
125
    uint16_t    ethertype;
126
};
126
} __attribute__ ((packed));
127
 
127
 
128
/** Ethernet header preamble.
128
/** Ethernet header preamble.
129
 *  Used for dummy devices.
129
 *  Used for dummy devices.
130
 */
130
 */
131
struct eth_preamble{
131
struct eth_preamble{
Line 135... Line 135...
135
    uint8_t     preamble[ 7 ];
135
    uint8_t     preamble[ 7 ];
136
    /** Start of Frame Delimiter used for the frame transmission synchronization.
136
    /** Start of Frame Delimiter used for the frame transmission synchronization.
137
     *  Should be set to ETH_SFD.
137
     *  Should be set to ETH_SFD.
138
     */
138
     */
139
    uint8_t     sfd;
139
    uint8_t     sfd;
140
};
140
} __attribute__ ((packed));
141
 
141
 
142
/** Ethernet header.
142
/** Ethernet header.
143
 */
143
 */
144
struct eth_header{
144
struct eth_header{
145
    /** Destination host Ethernet address (MAC address).
145
    /** Destination host Ethernet address (MAC address).
Line 150... Line 150...
150
    uint8_t     src[ ETH_ADDR ];
150
    uint8_t     src[ ETH_ADDR ];
151
    /** Ethernet protocol identifier in the network byte order (big endian).
151
    /** Ethernet protocol identifier in the network byte order (big endian).
152
     *  @see ethernet_protocols.h
152
     *  @see ethernet_protocols.h
153
     */
153
     */
154
    uint16_t    ethertype;
154
    uint16_t    ethertype;
155
};
155
} __attribute__ ((packed));
156
 
156
 
157
/** Ethernet header with all the extensions.
157
/** Ethernet header with all the extensions.
158
 */
158
 */
159
struct eth_header_ex{
159
struct eth_header_ex{
160
    /** Ethernet header.
160
    /** Ethernet header.
Line 166... Line 166...
166
     */
166
     */
167
    eth_header_lsap_t   lsap;
167
    eth_header_lsap_t   lsap;
168
    /** SNAP extension.
168
    /** SNAP extension.
169
     */
169
     */
170
    eth_header_snap_t   snap;
170
    eth_header_snap_t   snap;
171
};
171
} __attribute__ ((packed));
172
 
172
 
173
/** Ethernet Frame Check Sequence.
173
/** Ethernet Frame Check Sequence.
174
 */
174
 */
175
typedef uint32_t        eth_fcs_t;
175
typedef uint32_t        eth_fcs_t;
176
 
176