Lines Matching full:s
47 static struct dhcpc_state s; variable
111 memcpy(optptr, s.serverid, 4); in add_server_id()
120 memcpy(optptr, s.ipaddr, 4); in add_req_ipaddr()
147 m->hlen = s.mac_len; in create_msg()
157 memcpy(m->chaddr, s.mac_addr, s.mac_len); in create_msg()
158 memset(&m->chaddr[s.mac_len], 0, sizeof(m->chaddr) - s.mac_len); in create_msg()
207 memcpy(s.netmask, optptr + 2, 4); in parse_options()
210 memcpy(s.default_router, optptr + 2, 4); in parse_options()
213 memcpy(s.dnsaddr, optptr + 2, 4); in parse_options()
219 memcpy(s.serverid, optptr + 2, 4); in parse_options()
222 memcpy(s.lease_time, optptr + 2, 4); in parse_options()
240 memcmp(m->chaddr, s.mac_addr, s.mac_len) == 0) { in parse_msg()
241 memcpy(s.ipaddr, m->yiaddr, 4); in parse_msg()
250 PT_BEGIN(&s.pt); in PT_THREAD()
253 s.state = STATE_SENDING; in PT_THREAD()
254 s.ticks = CLOCK_SECOND; in PT_THREAD()
258 timer_set(&s.timer, s.ticks); in PT_THREAD()
259 PT_WAIT_UNTIL(&s.pt, uip_newdata() || timer_expired(&s.timer)); in PT_THREAD()
262 s.state = STATE_OFFER_RECEIVED; in PT_THREAD()
266 if(s.ticks < CLOCK_SECOND * 60) { in PT_THREAD()
267 s.ticks *= 2; in PT_THREAD()
269 } while(s.state != STATE_OFFER_RECEIVED); in PT_THREAD()
271 s.ticks = CLOCK_SECOND; in PT_THREAD()
275 timer_set(&s.timer, s.ticks); in PT_THREAD()
276 PT_WAIT_UNTIL(&s.pt, uip_newdata() || timer_expired(&s.timer)); in PT_THREAD()
279 s.state = STATE_CONFIG_RECEIVED; in PT_THREAD()
283 if(s.ticks <= CLOCK_SECOND * 10) { in PT_THREAD()
284 s.ticks += CLOCK_SECOND; in PT_THREAD()
286 PT_RESTART(&s.pt); in PT_THREAD()
288 } while(s.state != STATE_CONFIG_RECEIVED); in PT_THREAD()
292 uip_ipaddr1(s.ipaddr), uip_ipaddr2(s.ipaddr), in PT_THREAD()
293 uip_ipaddr3(s.ipaddr), uip_ipaddr4(s.ipaddr)); in PT_THREAD()
295 uip_ipaddr1(s.netmask), uip_ipaddr2(s.netmask), in PT_THREAD()
296 uip_ipaddr3(s.netmask), uip_ipaddr4(s.netmask)); in PT_THREAD()
298 uip_ipaddr1(s.dnsaddr), uip_ipaddr2(s.dnsaddr), in PT_THREAD()
299 uip_ipaddr3(s.dnsaddr), uip_ipaddr4(s.dnsaddr)); in PT_THREAD()
301 uip_ipaddr1(s.default_router), uip_ipaddr2(s.default_router), in PT_THREAD()
302 uip_ipaddr3(s.default_router), uip_ipaddr4(s.default_router)); in PT_THREAD()
304 ntohs(s.lease_time[0])*65536ul + ntohs(s.lease_time[1])); in PT_THREAD()
307 dhcpc_configured(&s); in PT_THREAD()
309 /* timer_stop(&s.timer);*/ in PT_THREAD()
316 PT_YIELD(&s.pt); in PT_THREAD()
319 PT_END(&s.pt); in PT_THREAD()
327 s.mac_addr = mac_addr; in dhcpc_init()
328 s.mac_len = mac_len; in dhcpc_init()
330 s.state = STATE_INITIAL; in dhcpc_init()
332 s.conn = uip_udp_new(&addr, HTONS(DHCPC_SERVER_PORT)); in dhcpc_init()
333 if(s.conn != NULL) { in dhcpc_init()
334 uip_udp_bind(s.conn, HTONS(DHCPC_CLIENT_PORT)); in dhcpc_init()
336 PT_INIT(&s.pt); in dhcpc_init()
350 if(s.state == STATE_INITIAL) { in dhcpc_request()