Updated Zorro-LAN-IDE Driver to 2.15
- Multicast fixes - new Microchip OUIs added to verification table
This commit is contained in:
@@ -154,7 +154,7 @@ static LONG server_setOnline( DEVBASEP , ULONG unit, ULONG evt )
|
||||
struct Library *TimerBase;
|
||||
|
||||
MemSet( &timereq, 0, sizeof(struct timerequest));
|
||||
OpenDevice("timer.device", 0, (struct IORequest*)&timereq, 0);
|
||||
OpenDevice( (STRPTR)"timer.device", 0, (struct IORequest*)&timereq, 0);
|
||||
TimerBase = (struct Library *)timereq.tr_node.io_Device;
|
||||
GetSysTime( &db->db_Units[unit].du_DevStats.LastStart );
|
||||
CloseDevice( (struct IORequest*)&timereq);
|
||||
@@ -293,7 +293,7 @@ static LONG server_Config( DEVBASEP )
|
||||
|
||||
hw_ConfigInit( db ); /* hw defaults */
|
||||
|
||||
if((cfgfile = Open(HW_CONFIGFILE, MODE_OLDFILE))) /* see hwprivate.h for CONFIGFILE */
|
||||
if((cfgfile = Open( (STRPTR)HW_CONFIGFILE, MODE_OLDFILE))) /* see hwprivate.h for CONFIGFILE */
|
||||
{
|
||||
struct HWConfig args; /* see hwprivate.h */
|
||||
struct RDArgs *readargs;
|
||||
@@ -302,7 +302,7 @@ static LONG server_Config( DEVBASEP )
|
||||
|
||||
MemSet( &args, 0, sizeof( args ) );
|
||||
|
||||
readargs = ReadArgs( (BYTE*)configtemplate, (LONG *)&args, NULL);
|
||||
readargs = ReadArgs( (STRPTR)configtemplate, (LONG *)&args, NULL);
|
||||
|
||||
Close( SelectInput( cfgfile ) ); /* restore default input and retrieve cfgfile */
|
||||
|
||||
@@ -354,7 +354,7 @@ static LONG server_changeMulticast( DEVBASEP, ULONG unit, struct IOSana2Req *ior
|
||||
entry = (struct MCastEntry *)db->db_svdat.sv_mclist.lh_Head;
|
||||
while( entry->mce_Node.mln_Succ )
|
||||
{
|
||||
if( CMPeqMAC( entry->mce_start, ioreq->ios2_SrcAddr ) )
|
||||
if( CMPeqMAC( (BYTE*)entry->mce_start, (BYTE*)ioreq->ios2_SrcAddr ) )
|
||||
break;
|
||||
entry = (struct MCastEntry *)entry->mce_Node.mln_Succ;
|
||||
}
|
||||
@@ -1143,11 +1143,17 @@ VOID SAVEDS ServerTask(void)
|
||||
server_HandleS2Commands( db );
|
||||
gotmask &= ~portsigmask;
|
||||
}
|
||||
/* Important: first check CTRL_D to go offline cleanly
|
||||
before acting on CTRL_C
|
||||
*/
|
||||
if( gotmask & SIGBREAKF_CTRL_D )
|
||||
{
|
||||
D(("Got CTRL-D in Server. Checking Online status\n"));
|
||||
gotmask &= ~SIGBREAKF_CTRL_D;
|
||||
server_CloseDevice_offline( db );
|
||||
/* acknowledge command (unless CTRL_C was also set) */
|
||||
if( (db->db_Task) && (!(gotmask & SIGBREAKF_CTRL_C)) )
|
||||
Signal( db->db_Task, db->db_ServerSigMask );
|
||||
}
|
||||
if( gotmask & SIGBREAKF_CTRL_C )
|
||||
{
|
||||
@@ -1161,10 +1167,16 @@ VOID SAVEDS ServerTask(void)
|
||||
|
||||
QuitServer:
|
||||
if( db )
|
||||
db->db_ServerProc = (0);
|
||||
{
|
||||
db->db_ServerProc = (0);
|
||||
/* acknowledge command */
|
||||
if( db->db_Task )
|
||||
Signal( db->db_Task, db->db_ServerSigMask );
|
||||
}
|
||||
|
||||
{ /* revert to "real" execbase, in case that we never got the startup msg */
|
||||
struct { struct Library *db_SysBase; } *db = (void*)0x4;
|
||||
|
||||
D(("Server exiting"));
|
||||
Forbid();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user