1 |
|
/* |
2 |
|
* ether_amiga.cpp - Ethernet device driver, AmigaOS specific stuff |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-1999 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2001 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
116 |
|
* Initialization |
117 |
|
*/ |
118 |
|
|
119 |
< |
void EtherInit(void) |
119 |
> |
bool ether_init(void) |
120 |
|
{ |
121 |
|
// Do nothing if no Ethernet device specified |
122 |
|
if (PrefsFindString("ether") == NULL) |
123 |
< |
return; |
123 |
> |
return false; |
124 |
|
|
125 |
|
// Initialize protocol list |
126 |
|
NewList(&prot_list); |
151 |
|
goto open_error; |
152 |
|
|
153 |
|
// Everything OK |
154 |
< |
net_open = true; |
155 |
< |
return; |
154 |
> |
return true; |
155 |
|
|
156 |
|
open_error: |
157 |
|
net_proc = NULL; |
159 |
|
DeleteMsgPort(reply_port); |
160 |
|
reply_port = NULL; |
161 |
|
} |
162 |
+ |
return false; |
163 |
|
} |
164 |
|
|
165 |
|
|
167 |
|
* Deinitialization |
168 |
|
*/ |
169 |
|
|
170 |
< |
void EtherExit(void) |
170 |
> |
void ether_exit(void) |
171 |
|
{ |
172 |
|
// Stop process |
173 |
|
if (net_proc) { |
188 |
|
* Reset |
189 |
|
*/ |
190 |
|
|
191 |
< |
void EtherReset(void) |
191 |
> |
void ether_reset(void) |
192 |
|
{ |
193 |
|
// Remove all protocols |
194 |
< |
if (net_open) |
194 |
> |
if (net_proc) |
195 |
|
send_to_proc(MSG_CLEANUP); |
196 |
|
} |
197 |
|
|
585 |
|
} |
586 |
|
write_io->ios2_DataLength = len; |
587 |
|
|
588 |
< |
// Get destination address, set source address |
588 |
> |
// Get destination address |
589 |
|
uint32 hdr = ReadMacInt32(wds + 2); |
590 |
|
Mac2Host_memcpy(write_io->ios2_DstAddr, hdr, 6); |
591 |
– |
Host2Mac_memcpy(hdr + 6, ether_addr, 6); |
591 |
|
|
592 |
|
// Get packet type |
593 |
|
uint32 type = ReadMacInt16(hdr + 12); |