| * Copyright 2011 Daniel Drown |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * mtu.c - get interface mtu |
| * returns the interface mtu or -1 on failure |
| * ifname - interface name |
| int getifmtu(const char *ifname) { |
| fd = socket(AF_INET, SOCK_STREAM, 0); |
| strncpy(if_mtu.ifr_name, ifname, IFNAMSIZ); |
| if_mtu.ifr_name[IFNAMSIZ - 1] = '\0'; |
| if(ioctl(fd, SIOCGIFMTU, &if_mtu) < 0) { |