Lines Matching refs:inm
402 * on a given interface. If no matching record is found, "inm" is set null.
414 #define IN_LOOKUP_MULTI(addr, ifp, inm) \
417 /* struct in_multi *inm; */ \
420 IN_FIRST_MULTI(_step, inm); \
421 while ((inm) != NULL) { \
422 INM_LOCK_SPIN(inm); \
423 if ((inm)->inm_ifp == (ifp) && \
424 (inm)->inm_addr.s_addr == (addr)->s_addr) { \
425 INM_ADDREF_LOCKED(inm); \
426 INM_UNLOCK(inm); \
429 INM_UNLOCK(inm); \
430 IN_NEXT_MULTI(_step, inm); \
438 * and get the first record. Both macros return a NULL "inm" when there
443 #define IN_NEXT_MULTI(step, inm) \
445 /* struct in_multi *inm; */ \
448 if (((inm) = (step).i_inm) != NULL) \
452 #define IN_FIRST_MULTI(step, inm) \
454 /* struct in_multi *inm; */ \
458 IN_NEXT_MULTI((step), (inm)); \
480 extern int inm_record_source(struct in_multi *inm, const in_addr_t);