| version 1.113, 2003/10/23 20:55:08 |
version 1.114, 2003/12/04 19:38:24 |
|
|
| /* |
/* |
| * Sysctl for udp variables. |
* Sysctl for udp variables. |
| */ |
*/ |
| int |
SYSCTL_SETUP(sysctl_net_inet_udp_setup, "sysctl net.inet.udp subtree setup") |
| udp_sysctl(name, namelen, oldp, oldlenp, newp, newlen) |
|
| int *name; |
|
| u_int namelen; |
|
| void *oldp; |
|
| size_t *oldlenp; |
|
| void *newp; |
|
| size_t newlen; |
|
| { |
{ |
| /* All sysctl names at this level are terminal. */ |
|
| if (namelen != 1) |
|
| return (ENOTDIR); |
|
| |
|
| switch (name[0]) { |
sysctl_createv(SYSCTL_PERMANENT, |
| case UDPCTL_CHECKSUM: |
CTLTYPE_NODE, "net", NULL, |
| return (sysctl_int(oldp, oldlenp, newp, newlen, &udpcksum)); |
NULL, 0, NULL, 0, |
| case UDPCTL_SENDSPACE: |
CTL_NET, CTL_EOL); |
| return (sysctl_int(oldp, oldlenp, newp, newlen, |
sysctl_createv(SYSCTL_PERMANENT, |
| &udp_sendspace)); |
CTLTYPE_NODE, "inet", NULL, |
| case UDPCTL_RECVSPACE: |
NULL, 0, NULL, 0, |
| return (sysctl_int(oldp, oldlenp, newp, newlen, |
CTL_NET, PF_INET, CTL_EOL); |
| &udp_recvspace)); |
sysctl_createv(SYSCTL_PERMANENT, |
| default: |
CTLTYPE_NODE, "udp", NULL, |
| return (ENOPROTOOPT); |
NULL, 0, NULL, 0, |
| } |
CTL_NET, PF_INET, IPPROTO_UDP, CTL_EOL); |
| /* NOTREACHED */ |
|
| |
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
| |
CTLTYPE_INT, "checksum", NULL, |
| |
NULL, 0, &udpcksum, 0, |
| |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_CHECKSUM, |
| |
CTL_EOL); |
| |
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
| |
CTLTYPE_INT, "sendspace", NULL, |
| |
NULL, 0, &udp_sendspace, 0, |
| |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_SENDSPACE, |
| |
CTL_EOL); |
| |
sysctl_createv(SYSCTL_PERMANENT|SYSCTL_READWRITE, |
| |
CTLTYPE_INT, "recvspace", NULL, |
| |
NULL, 0, &udp_recvspace, 0, |
| |
CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_RECVSPACE, |
| |
CTL_EOL); |
| } |
} |
| #endif |
#endif |