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: / ; ; --------------------------------------------------------------—;