Пример #1
0
int
mpls_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp,
    size_t newlen)
{
	if (name[0] >= MPLSCTL_MAXID)
		return (EOPNOTSUPP);

	/* Almost all sysctl names at this level are terminal. */
	if (namelen != 1)
		return (ENOTDIR);

	switch (name[0]) {
	default:
		return sysctl_int_arr(mplsctl_vars, name, namelen,
		    oldp, oldlenp, newp, newlen);
	}
}
Пример #2
0
int
mpls_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp,
    size_t newlen)
{
	if (name[0] >= MPLSCTL_MAXID)
		return (EOPNOTSUPP);

	/* Almost all sysctl names at this level are terminal. */
	if (namelen != 1 && name[0] != MPLSCTL_IFQUEUE)
		return (ENOTDIR);

	switch (name[0]) {
	case MPLSCTL_IFQUEUE:
		return (sysctl_ifq(name + 1, namelen - 1,
		    oldp, oldlenp, newp, newlen, &mplsintrq));
	default:
		return sysctl_int_arr(mplsctl_vars, name, namelen,
		    oldp, oldlenp, newp, newlen);
	}
}