Home | History | Annotate | Download | only in dhcpcd

Lines Matching refs:iface

52 open_socket(struct interface *iface, int protocol)
89 strlcpy(ifr.ifr_name, iface->name, sizeof(ifr.ifr_name));
96 if (iface->buffer_size != (size_t)buf_len) {
97 free(iface->buffer);
98 iface->buffer_size = buf_len;
99 iface->buffer = xmalloc(buf_len);
100 iface->buffer_len = iface->buffer_pos = 0;
113 fdp = &iface->arp_fd;
117 fdp = &iface->raw_fd;
131 free(iface->buffer);
132 iface->buffer = NULL;
138 send_raw_packet(const struct interface *iface, int protocol,
153 fd = iface->arp_fd;
155 fd = iface->raw_fd;
162 get_raw_packet(struct interface *iface, int protocol,
171 fd = iface->arp_fd;
173 fd = iface->raw_fd;
176 if (iface->buffer_len == 0) {
177 bytes = read(fd, iface->buffer, iface->buffer_size);
182 iface->buffer_len = bytes;
183 iface->buffer_pos = 0;
186 memcpy(&packet, iface->buffer + iface->buffer_pos,
190 if (iface->buffer_pos + packet.bh_caplen + packet.bh_hdrlen >
191 iface->buffer_len)
193 payload = iface->buffer + packet.bh_hdrlen + ETHER_HDR_LEN;
199 iface->buffer_pos += BPF_WORDALIGN(packet.bh_hdrlen +
201 if (iface->buffer_pos >= iface->buffer_len)
202 iface->buffer_len = iface->buffer_pos = 0;