KolibriOS kernel
ethernet.inc File Reference

Classes

struct  ETH_header
 
struct  ETH_DEVICE
 

Macros

#define eth_init
 

Variables

dp ETH_BROADCAST
 
dd ETH_frame_queued
 Number of queued frames. More...
 
dd ETH_frame_head
 Pointer to next frame in the linked list. More...
 
dd ETH_frame_tail
 Pointer to last frame in the linked list. More...
 
dd ETH_input_event
 
label eth_input
 This function is called by ethernet drivers. Push the received ethernet packet onto the ethernet input queue. More...
 
label eth_process_input
 --------------------------------------------------------------—; ; eth_process_input: Process packets from ethernet input queue. ; ; IN: / ; ; OUT: / ; ; --------------------------------------------------------------—; More...
 
label eth_output
 --------------------------------------------------------------—; ; eth_output ; ; IN: ax = protocol ; ebx = device ptr ; ecx = payload size ; edx = pointer to destination mac ; ; OUT: eax = start of net frame / 0 on error ; ebx = device ptr ; ecx = payload size ; edi = start of payload ; ; --------------------------------------------------------------—; More...
 
label eth_api
 --------------------------------------------------------------—; ; eth_api: Part of system function 76. ; ; IN: bl = subfunction number ; bh = device number ; ecx, edx, .. depends on subfunction ; ; OUT: depends on subfunction ; ; --------------------------------------------------------------—; More...
 

Macro Definition Documentation

◆ eth_init

#define eth_init

Variable Documentation

◆ eth_api

label eth_api

--------------------------------------------------------------—; ; eth_api: Part of system function 76. ; ; IN: bl = subfunction number ; bh = device number ; ecx, edx, .. depends on subfunction ; ; OUT: depends on subfunction ; ; --------------------------------------------------------------—;

Source
network/ethernet.inc:317

◆ ETH_BROADCAST

dp ETH_BROADCAST
Initial value
0xffffffffffff
Source
network/ethernet.inc:38

◆ ETH_frame_head

dd ETH_frame_head

Pointer to next frame in the linked list.

Initial value
ETH_frame_head
Source
network/ethernet.inc:42

◆ ETH_frame_queued

dd ETH_frame_queued

Number of queued frames.

Initial value
0
Source
network/ethernet.inc:40

◆ ETH_frame_tail

dd ETH_frame_tail

Pointer to last frame in the linked list.

Initial value
ETH_frame_head
Source
network/ethernet.inc:43

◆ eth_input

label eth_input

This function is called by ethernet drivers. Push the received ethernet packet onto the ethernet input queue.

Input: [esp] = Pointer to buffer [esp + 4] = Return address (yes, really)

Example: push .retaddr push buf_addr jmp eth_input

Source
network/ethernet.inc:76

◆ ETH_input_event

dd ETH_input_event
Initial value
?
Source
network/ethernet.inc:49

◆ eth_output

label eth_output

--------------------------------------------------------------—; ; eth_output ; ; IN: ax = protocol ; ebx = device ptr ; ecx = payload size ; edx = pointer to destination mac ; ; OUT: eax = start of net frame / 0 on error ; ebx = device ptr ; ecx = payload size ; edi = start of payload ; ; --------------------------------------------------------------—;

Source
network/ethernet.inc:244

◆ eth_process_input

label eth_process_input

--------------------------------------------------------------—; ; eth_process_input: Process packets from ethernet input queue. ; ; IN: / ; ; OUT: / ; ; --------------------------------------------------------------—;

Source
network/ethernet.inc:146