Exemplo n.º 1
0
static BOOL CmdDelMulticastAddresses(LIBBASETYPEPTR LIBBASE, struct IOSana2Req *request)
{
    struct SiS900Unit *unit;
    UBYTE *lower_bound, *upper_bound;

    unit = (APTR)request->ios2_Req.io_Unit;

D(bug("[%s]: S2CmdDelMulticastAddresses()\n", unit->sis900u_name));

    lower_bound = request->ios2_SrcAddr;
    if(request->ios2_Req.io_Command == S2_DELMULTICASTADDRESS)
        upper_bound = lower_bound;
    else
        upper_bound = request->ios2_DstAddr;

    if(!RemMulticastRange(LIBBASE, unit, lower_bound, upper_bound))
    {
        request->ios2_Req.io_Error = S2ERR_BAD_STATE;
        request->ios2_WireError = S2WERR_BAD_MULTICAST;
    }

    /* Return */

    return TRUE;
}
Exemplo n.º 2
0
static BOOL CmdDelMulticastAddresses(struct IOSana2Req *request,
   struct DevBase *base)
{
   struct DevUnit *unit;
   UBYTE *lower_bound, *upper_bound;

   unit = (APTR)request->ios2_Req.io_Unit;

   lower_bound = request->ios2_SrcAddr;
   if(request->ios2_Req.io_Command == S2_DELMULTICASTADDRESS)
      upper_bound = lower_bound;
   else
      upper_bound = request->ios2_DstAddr;

   if(!RemMulticastRange(unit, lower_bound, upper_bound, base))
   {
      request->ios2_Req.io_Error = S2ERR_BAD_STATE;
      request->ios2_WireError = S2WERR_BAD_MULTICAST;
   }

   /* Return */

   return TRUE;
}