blob: 842f1c4efa46ee50f44c27acfce19d6ace01cf3f [file] [log] [blame]
oliverschmidt3396e9a2004-08-20 12:29:54 +00001
2#include "packet-service.h"
3#include "ppp.h"
4
5static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
6
7static const struct packet_service_state state =
8 {
9 PACKET_SERVICE_VERSION,
10 output
11 };
12
13EK_EVENTHANDLER(eventhandler, ev, data);
14EK_POLLHANDLER(pollhandler);
15EK_PROCESS(proc, PACKET_SERVICE_NAME, EK_PRIO_NORMAL,
16 eventhandler, pollhandler, (void *)&state);
17
18/*---------------------------------------------------------------------------*/
19EK_PROCESS_INIT(ppp_service_init, arg)
20{
21 ek_service_start(PACKET_SERVICE_NAME, &proc);
22}
23/*---------------------------------------------------------------------------*/
24static void
25output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
26{
27 ppp_send();
28}
29/*---------------------------------------------------------------------------*/
30EK_EVENTHANDLER(eventhandler, ev, data)
31{
32 switch(ev) {
33 case EK_EVENT_INIT:
34 case EK_EVENT_REPLACE:
oliverschmidt85729cb2005-01-26 23:36:22 +000035// ppp_init();
oliverschmidt3396e9a2004-08-20 12:29:54 +000036 break;
37 case EK_EVENT_REQUEST_REPLACE:
38 ek_replace((struct ek_proc *)data, NULL);
39 LOADER_UNLOAD();
40 break;
41 case EK_EVENT_REQUEST_EXIT:
42 ek_exit();
43 LOADER_UNLOAD();
44 break;
45 default:
46 break;
47 }
48}
49/*---------------------------------------------------------------------------*/
50EK_POLLHANDLER(pollhandler)
51{
52 ppp_poll();
53 if(uip_len > 0) {
54 tcpip_input();
55 }
56}
57/*---------------------------------------------------------------------------*/