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... | |
#define eth_init |
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 ; ; --------------------------------------------------------------—;
dp ETH_BROADCAST |
dd ETH_frame_head |
dd ETH_frame_queued |
dd ETH_frame_tail |
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
dd ETH_input_event |
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 ; ; --------------------------------------------------------------—;
label eth_process_input |
--------------------------------------------------------------—; ; eth_process_input: Process packets from ethernet input queue. ; ; IN: / ; ; OUT: / ; ; --------------------------------------------------------------—;