blob: 016b8271e8e745374f926f89aca80ca808480441 [file] [log] [blame]
adamdunkels16a7b262004-07-04 21:15:53 +00001
2#include "packet-service.h"
3#include "tapdev.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(tapdev_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 printf("packet-service: output (%p, %d) (%p, %d)\n",
28 hdr, hdrlen, data, datalen);
29 tapdev_send();
30}
31/*---------------------------------------------------------------------------*/
32EK_EVENTHANDLER(eventhandler, ev, data)
33{
34 printf("packet-service: event %d\n", ev);
35 switch(ev) {
36 case EK_EVENT_INIT:
37 tapdev_init();
38 break;
39 case EK_EVENT_REQUEST_REPLACE:
40 ek_replace((struct ek_proc *)data, NULL);
41 LOADER_UNLOAD();
42 break;
43 case EK_EVENT_REQUEST_EXIT:
44 ek_exit();
45 LOADER_UNLOAD();
46 break;
47 default:
48 break;
49 }
50}
51/*---------------------------------------------------------------------------*/
52EK_POLLHANDLER(pollhandler)
53{
54}
55/*---------------------------------------------------------------------------*/