Home | History | Annotate | Line # | Download | only in netinet
      1  1.1  dyoung #ifndef _NETINET_IN_SELSRC_H
      2  1.1  dyoung #define _NETINET_IN_SELSRC_H
      3  1.1  dyoung 
      4  1.1  dyoung #define	IN_SELECTSRC_LEN	128
      5  1.1  dyoung #define	IN_SCORE_SRC_MAX	8
      6  1.1  dyoung 
      7  1.1  dyoung typedef int (*in_score_src_t)(const struct in_addr *src,
      8  1.1  dyoung                               int preference, int idx,
      9  1.1  dyoung 			      const struct in_addr *dst);
     10  1.1  dyoung 
     11  1.1  dyoung struct in_ifselsrc {
     12  1.1  dyoung 	uint32_t		iss_seqno;
     13  1.1  dyoung 	in_score_src_t		iss_score_src[IN_SCORE_SRC_MAX];
     14  1.1  dyoung };
     15  1.1  dyoung 
     16  1.1  dyoung struct in_ifsysctl {
     17  1.1  dyoung 	struct ifnet		*isc_ifp;
     18  1.1  dyoung 	struct sysctllog	*isc_log;
     19  1.1  dyoung 	struct in_ifselsrc	*isc_selsrc;
     20  1.1  dyoung };
     21  1.1  dyoung 
     22  1.1  dyoung enum in_category {
     23  1.1  dyoung 	IN_CATEGORY_LINKLOCAL = 0,
     24  1.1  dyoung 	IN_CATEGORY_PRIVATE,
     25  1.1  dyoung 	IN_CATEGORY_OTHER
     26  1.1  dyoung };
     27  1.1  dyoung 
     28  1.1  dyoung struct ifaddr *in_getifa(struct ifaddr *, const struct sockaddr *);
     29  1.1  dyoung 
     30  1.2   ozaki void	*in_selsrc_domifattach(struct ifnet *ifp);
     31  1.2   ozaki void	in_selsrc_domifdetach(struct ifnet *ifp, void *aux);
     32  1.2   ozaki 
     33  1.1  dyoung #endif /* _NETINET_IN_SELSRC_H */
     34