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

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

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

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

    if(!AddMulticastRange(LIBBASE, unit, lower_bound, upper_bound))
    {
        request->ios2_Req.io_Error = S2ERR_NO_RESOURCES;
        request->ios2_WireError = S2WERR_GENERIC_ERROR;
    }

    /* Return */

    return TRUE;
}
Ejemplo n.º 2
0
static BOOL CmdAddMulticastAddresses(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_ADDMULTICASTADDRESS)
      upper_bound = lower_bound;
   else
      upper_bound = request->ios2_DstAddr;

   if(!AddMulticastRange(unit, lower_bound, upper_bound, base))
   {
      request->ios2_Req.io_Error = S2ERR_NO_RESOURCES;
      request->ios2_WireError = S2WERR_GENERIC_ERROR;
   }

   /* Return */

   return TRUE;
}