contiki-main.c
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #define WIN32_LEAN_AND_MEAN
00037 #include <windows.h>
00038 #include <winsock2.h>
00039 #include <stdio.h>
00040
00041 #include "contiki-net.h"
00042
00043 #include "sys/clock.h"
00044 #include "ctk/ctk.h"
00045 #include "ctk/ctk-console.h"
00046
00047 #include "../../apps/directory/directory-dsc.h"
00048 #include "../../apps/webbrowser/www-dsc.h"
00049
00050 #include "sys/etimer.h"
00051 #include "net/wpcap-drv.h"
00052
00053 #ifdef PLATFORM_BUILD
00054 #include "program-handler.h"
00055 #endif
00056
00057 #if WITH_GUI
00058 #define CTK_PROCESS &ctk_process,
00059 #else
00060 #define CTK_PROCESS
00061 #endif
00062
00063 PROCINIT(&etimer_process,
00064 &wpcap_process,
00065 CTK_PROCESS
00066 &tcpip_process,
00067 &resolv_process);
00068
00069
00070 void
00071 debug_printf(char *format, ...)
00072 {
00073 va_list argptr;
00074 char buffer[1024];
00075
00076 va_start(argptr, format);
00077 vsprintf(buffer, format, argptr);
00078 va_end(argptr);
00079
00080 #if WITH_GUI
00081 OutputDebugString(buffer);
00082 #else
00083 fputs(buffer, stderr);
00084 #endif
00085 }
00086
00087 void
00088 uip_log(char *message)
00089 {
00090 debug_printf("%s\n", message);
00091 }
00092
00093 void
00094 log_message(const char *part1, const char *part2)
00095 {
00096 debug_printf("%s%s\n", part1, part2);
00097 }
00098
00099 int
00100 main(void)
00101 {
00102 process_init();
00103
00104 procinit_init();
00105
00106 #ifdef PLATFORM_BUILD
00107 program_handler_add(&directory_dsc, "Directory", 1);
00108 program_handler_add(&www_dsc, "Web browser", 1);
00109 #endif
00110
00111 autostart_start(autostart_processes);
00112
00113 #if 1
00114 {
00115 uip_ipaddr_t addr;
00116 uip_ipaddr(&addr, 10,1,1,1);
00117 uip_sethostaddr(&addr);
00118 log_message("IP Address: ", inet_ntoa(*(struct in_addr*)&addr));
00119
00120 uip_ipaddr(&addr, 255,0,0,0);
00121 uip_setnetmask(&addr);
00122 log_message("Subnet Mask: ", inet_ntoa(*(struct in_addr*)&addr));
00123
00124 uip_ipaddr(&addr, 10,1,1,100);
00125 uip_setdraddr(&addr);
00126 log_message("Def. Router: ", inet_ntoa(*(struct in_addr*)&addr));
00127
00128 uip_ipaddr(&addr, 10,1,1,100);
00129 resolv_conf(&addr);
00130 log_message("DNS Server: ", inet_ntoa(*(struct in_addr*)&addr));
00131 }
00132 #endif
00133
00134 while(1) {
00135
00136 process_run();
00137
00138 etimer_request_poll();
00139
00140
00141 SleepEx(10, TRUE);
00142
00143 #if WITH_GUI
00144 if(console_resize()) {
00145 ctk_restore();
00146 }
00147 #endif
00148 }
00149 }
00150