DISPATCHER_SIGHANDLER_ARGS(s, data);
program_handler_sighandler(ek_signal_t s, ek_data_t data){  unsigned char err;    if(s == ctk_signal_button_activate) {    if(data == (ek_data_t)&loadbutton) {      ctk_window_close(&runwindow);#ifdef WITH_LOADER_ARCH      load(name);#endif /* WITH_LOADER_ARCH */    } else if(data == (ek_data_t)&errorokbutton) {      ctk_dialog_close();      ctk_redraw();    }        if((struct ctk_widget *)data == (struct ctk_widget *)&abouticon) {      RUN("about.prg", about_init);    }     if((struct ctk_widget *)data == (struct ctk_widget *)&tcpipconficon) {      RUN("netconf.prg", netconf_init);    } #ifdef WITH_WWW        if((struct ctk_widget *)data == (struct ctk_widget *)&wwwicon) {      RUN("www.prg", www_init);    } #endif /* WITH_WWW */#ifdef WITH_WEBSERVER          if((struct ctk_widget *)data ==       (struct ctk_widget *)&webservericon) {      RUN("webserver.prg", webserver_init);    } #endif /* WITH_WEBSERVER */#ifdef WITH_TELNET    if((struct ctk_widget *)data ==       (struct ctk_widget *)&telneticon) {      RUN("simpletelnet.prg", simpletelnet_init);    } #endif /* WITH_TELNET */        } else if(s == ctk_signal_menu_activate) {    if((struct ctk_menu *)data == &programsmenu) {      if(0) {#ifdef WITH_WWW      } else if(programsmenu.active == menuitem_www) {	RUN("www.prg", www_init);#endif /* WITH_WWW */#ifdef WITH_EMAIL	      } else if(programsmenu.active == menuitem_email) {	RUN("email.prg", email_init);#endif /* WITH_EMAIL */#ifdef WITH_TELNET      } else if(programsmenu.active == menuitem_telnet) {	RUN("simpletelnet.prg", simpletelnet_init);#endif /* WITH_TELNET */#ifdef WITH_WEBSERVER      } else if(programsmenu.active == menuitem_webserver) {	RUN("webserver.prg", webserver_init);#endif /* WITH_WEBSERVER */#ifdef WITH_LOADER_ARCH      } else if(programsmenu.active == menuitem_run) {	ctk_window_open(&runwindow);	ctk_redraw();#endif /* WITH_LOADER_ARCH */      }    } else if((struct ctk_menu *)data == &contikimenu) {      if(contikimenu.active == menuitem_about) {	RUN("about.prg", about_init);      } else if(contikimenu.active == menuitem_tcpip) {	RUN("netconf.prg", netconf_init);      } else if(contikimenu.active == menuitem_processes) {	RUN("processes.prg", processes_init);      }     }  } else if(s == loader_signal_load) {    ctk_dialog_close();    err = LOADER_LOAD(data);    if(err != LOADER_OK) {      ctk_label_set_text(&errortype, errormsgs[err]);      ctk_dialog_open(&errordialog);    }    ctk_redraw();  } }