Commit graph

147 commits

Author SHA1 Message Date
oliverschmidt 9d5ae4864e Added preprocessor define _CRT_NONSTDC_NO_DEPRECATE to allow usage of open(), close(), read(), write() and lseek(). 2008-07-06 11:04:33 +00:00
oliverschmidt c60e91bf59 Moved Win32 cfs directory functions from cfs-win32.c to cfs-win32-dir.c. 2008-07-06 10:24:38 +00:00
oliverschmidt bf3c92e98c Leverage split of cfs-posix and cfs-posix-dir by reusing cfs-posix for win32 and replacing only cfs-posix-dir with cfs-win32-dir. 2008-07-06 08:29:37 +00:00
oliverschmidt cd1608aa08 Activate uIP forwarding support. 2008-05-22 19:49:48 +00:00
oliverschmidt e914302e94 Removed check already done in Makefile.include. 2008-05-22 19:45:47 +00:00
oliverschmidt 9071007e1e For the Win32 platform build we need to define AUTOSTART_ENABLE even for the Contiki library files to be able to autostart the program handler.
Note: For this to work the program handler needs to be the first autostart enabled application in the Contiki library. As the GNU archiver guarantees to preserve the order of the object files in a library this can be accomplished by having the program handler the first item in APPS.
2008-03-04 22:55:54 +00:00
oliverschmidt 2632f8f937 Removed finally unnecessary cast. 2008-02-10 22:36:36 +00:00
oliverschmidt 0e96534ca8 Now that process initialization has been changed (back) to synchronous it needs to be called after adding program handler menu items in order to preserve the the existing program handler logic. 2008-02-10 19:14:48 +00:00
oliverschmidt 8823dfe250 Adjusted to the new shell. 2008-02-10 12:13:06 +00:00
oliverschmidt 2b1abd87af Replaced (now obsolete) PROCESS_LOADABLE with AUTOSTART_ENABLE (and use it now in the platform build to start the program handler). 2008-02-10 11:29:24 +00:00
oliverschmidt 034bc4ec66 Adjusted to the new shell. 2008-02-09 18:56:26 +00:00
oliverschmidt 614fa668cd Removed SELFSTART_PROCESS as AUTOSTART_ENABLE generally serves that purpose - and AUTOSTART_ENABLE gets already set as required :-) 2008-02-08 22:48:28 +00:00
oliverschmidt 0655839603 Removed superfluous semicolon. 2008-02-08 12:14:52 +00:00
oliverschmidt fe6a55d1a4 Accomodate for the now more complex shell output. 2008-02-07 23:06:03 +00:00
oliverschmidt 806f79bb03 Replaced (now obsolete) PROCESS_LOADABLE with SELFSTART_PROCESS. 2008-02-07 16:34:18 +00:00
oliverschmidt 155a27ff59 Switched from (now obsolete) 'process_load' to 'autostart_processes'. 2008-02-07 15:53:43 +00:00
oliverschmidt a105e1a40c Added 'const'. 2008-02-06 16:41:19 +00:00
oliverschmidt b96c9deebc Added "usual" comments. 2008-01-04 21:53:32 +00:00
oliverschmidt 7b3d0559b3 Minimal reformatting. 2007-12-15 23:02:16 +00:00
oliverschmidt 21e343dc2f Don't depend on program handler for project builds. 2007-12-15 21:54:54 +00:00
oliverschmidt 0e8649e5ae Don't override www defaults for project builds. 2007-12-15 21:39:06 +00:00
oliverschmidt 97b1c95005 Activate mouse support for fullscreen mode. 2007-12-15 21:30:56 +00:00
oliverschmidt 9765b76455 Fixed typos. 2007-12-15 20:12:28 +00:00
oliverschmidt 6fd3b0dbae Removed CTK_CONF_HYPERLINK from shared code as its use is still unclear (and the implementation was incomplete anyway). 2007-12-15 11:34:59 +00:00
oliverschmidt b89a08be8b Allow Cygwin based Win32 platform to be used for 'project builds' (in the sense of the Contiki 2.x build system) beside the exsisting 'platform build'. 2007-12-15 00:00:34 +00:00
oliverschmidt 32ae3317a6 Several minor changes and reformatting. 2007-12-06 22:09:56 +00:00
oliverschmidt 171c84a9d9 Added some info on the win32 platform. 2007-11-28 17:12:11 +00:00
oliverschmidt 2e1b1acfaa Now that there's a Cygwin based build there's no more need to drive people to use Visual Studio - if they aren't already experienced and want to use it. 2007-11-28 16:51:17 +00:00
oliverschmidt 75c49f8d7b Added CTK_CONF_HYPERLINK in order to keep them ;-)) 2007-11-28 16:41:35 +00:00
oliverschmidt e5f7fc8594 Made cfs implementation adhere to (new) cfs interface and streamlined implementation. 2007-11-22 12:03:54 +00:00
oliverschmidt 1c0aa8a0e4 Source reformatting only. 2007-11-18 13:24:34 +00:00
oliverschmidt 12c6074a75 Moved logically empty files to backyard. 2007-11-18 02:39:10 +00:00
oliverschmidt c1e1249bc2 Removed compiler warnings. 2007-11-18 02:36:07 +00:00
oliverschmidt 6ab83029c3 Source reformatting only. 2007-11-18 02:17:33 +00:00
oliverschmidt 86a745f923 Removed compiler warnings. 2007-11-18 02:16:57 +00:00
oliverschmidt d11e1e6fd2 Removed reference to logically empty file. 2007-11-18 01:13:56 +00:00
oliverschmidt 6d6edb418b Declare strcasecmp here as it isn't part of C99. 2007-11-18 00:55:19 +00:00
oliverschmidt 90edc773b0 Introduced C99 sized int types. 2007-11-17 22:40:33 +00:00
oliverschmidt e54fb521e2 The Visual C++ project file is the first to go without service.c . 2007-05-23 23:42:42 +00:00
oliverschmidt a300c31d7e Removed explicit shut down of network driver as it easily results in endless recursions on errors while network driver initialisation. 2007-05-23 22:01:14 +00:00
oliverschmidt a22d2ecfef Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:41:31 +00:00
oliverschmidt 0e023b328a Changed Contiki File System (cfs) from a service to a plain library.
This change means that one needs to select _ONE_ cfs implementation at Contiki library link time. But this doesn't appear to be an issue as all platforms have their "favorite" implementation anyway.
2007-05-19 21:37:54 +00:00
oliverschmidt d4528e427f Changed Contiki File System (cfs) from a service to a plain library.
This change means that one needs to select _ONE_ cfs implementation at Contiki library link time. But this doesn't appear to be an issue as all platforms have their "favorite" implementation anyway.
2007-05-19 21:16:08 +00:00
oliverschmidt 1e372f13c6 Added new include directory to VC++ project files. 2007-05-19 13:38:25 +00:00
oliverschmidt eaff19200b Added new header file to VC++ project file. 2007-05-19 13:37:16 +00:00
oliverschmidt 237b1617b5 Factored out setup directory search path for source files into Makefile.include.
- Search target specific directories before CPU specific directories.
- Search CPU specific directories before generic directories.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-13 08:41:11 +00:00
oliverschmidt 4fd1e3ece0 Added signed 32 bit data type. 2007-05-12 20:58:12 +00:00
oliverschmidt 42d0fe9c18 Very minor beautification. 2007-04-21 22:17:22 +00:00
oliverschmidt 3b7c27b9e9 Use generally lowercase names for functin variables. 2007-04-21 15:11:21 +00:00
oliverschmidt dba1672323 Make use of __inline (just as making use of __fastcall) in order to check that CC_CONF_INLINE (just as CC_CONF_FASTCALL) are used in a syntactically correct manner. 2007-04-18 21:36:44 +00:00
oliverschmidt 33eeb8ccbb - Switched from from a CTK draw service to a statically linked CTK draw implementation.
- Workarounded the following CTK glitch:

ctk.c calls ctk_arch_keyavail() and ctk_arch_getkey() and needs therefore appropriate declarations (or macros) but it doesn't include a ctk_arch.h or alike to bring those in. So it's necessary to bring those declarations in via contiki-conf.h.

But ctk_arch_getkey() is supposed to return a ctk_arch_key_t - and this typedef'ed in ctk.h which means that ctk.h would need to be included in contiki-conf.h before declaring ctk_arch_getkey().

This IS rather undesirable so the current workaround is to declare ctk_arch_getkey() as returning a char - this is btw done similiar in platform/gtk as well. See ctk/ctk-gtksim.h:

guint ctk_arch_getkey(void);
2007-04-15 13:30:16 +00:00
oliverschmidt f16d041476 Provided a meaningful clock_time() implementation - which btw. makes the Cygwin variant finally work :-) 2007-04-14 23:23:15 +00:00
oliverschmidt 3a8fb3ad9f Initializing the console Just-In-Time on CTK startup and starting up the WinPcap before CTK allows WinPcap to print initialization errors (especially a missing command line arg) without clearing the shell output. 2007-04-14 14:57:19 +00:00
oliverschmidt c1b0a3f0d3 Cygin (in opposite to VC++) doesn't call exit() - and thus our atexit function - on Ctrl-C. Therefore we install an explict ConsoleCtrlHandler which calls exit(). For the sake of simplicity it's not #ifdef'ed _CYGWIN_. 2007-04-14 14:28:19 +00:00
oliverschmidt 766878f5c9 Added the shell server to the Win32 platform. 2007-04-13 21:55:55 +00:00
oliverschmidt 59c2158274 Removed minor redundancy. 2007-04-13 21:47:09 +00:00
oliverschmidt 7aae71934d Providing a dummy program_handler_load() made made the telnet server work without program-handler but on the other hand incompatible with an exsistng program handler :-(
Therefore I replaced that hack with a clean CONF macro, which by the way really removes the run() and exec() functionality instead of just implementing it empty.
2007-04-13 21:04:52 +00:00
oliverschmidt 36f6efd21c Build the web server with CTK support. 2007-04-11 01:08:46 +00:00
oliverschmidt 743ec10b21 Added copyright notice. 2007-04-11 01:07:47 +00:00
oliverschmidt 902e2226b6 Use the cpu/native/net WinPcap driver for platform/win32 as well. 2007-04-11 00:33:08 +00:00
oliverschmidt 0b140bdec4 Integrated WinPcap driver into platform/win32 Cygwin build. 2007-04-11 00:32:31 +00:00
oliverschmidt ee6180dec6 Use the cpu/native/net WinPcap driver for platform/win32 as well. 2007-04-11 00:17:25 +00:00
oliverschmidt 38c3950d66 Link WinPcap packet driver statically into the main binary in preparation of removing the services. 2007-04-09 11:57:15 +00:00
oliverschmidt 9cc1871810 Fixed stupid bug. I have no idea how I didn't run into this one for months ! The development platforms have 400-600 bytes buffer size. So every incoming 1500 packet overwrote ~ 1000 bytes of uIP variables. And this happens very easily as every packet coming in for the Windows IP stack is seen by uIP as well (and discarded because of the wrong IP address). 2007-04-08 20:06:56 +00:00
oliverschmidt d0e75920f1 Moved VC++ project files into vcproj subdirectory. 2007-04-06 23:53:59 +00:00
oliverschmidt 5653794966 Allow to build platform/win32 using Cygwin and the Contiki build system. The WinPcap driver is missing as it is about to be changed from dynamic to static loading anyway. 2007-04-06 23:09:32 +00:00
oliverschmidt 5532354cd8 Now that Contiki has a htonl() we need the same workaround here that we already have for htons(). 2007-04-06 22:36:31 +00:00
oliverschmidt 52da435b27 Made import library consistent with header file. 2007-03-27 20:01:35 +00:00
oliverschmidt fe0e9fde11 Updated VC++ project file. 2007-03-27 19:59:06 +00:00
oliverschmidt 75f4408119 Autoload the WinPcap driver now that I consider it fully functional. 2007-01-03 10:36:58 +00:00
oliverschmidt 3229e5fa9d Minor source consistency improvement. 2006-12-29 00:06:32 +00:00
oliverschmidt 8b319eef83 Updated/improved documentation. 2006-10-14 23:48:51 +00:00
oliverschmidt ca05ae80a5 Added automatic detection of Ethernet address - this makes the WinPcap packet driver service kind of working :-)
First the WinPcap library is used to enumerate the existing interfaces to make sure that only those are taken into account which the WinPcap library is able to actually work with. Their IP addresses are compaired against the one on the cmdline to find the desired interface.

Then the IP Helper API is used to enumerate the existing adapters to find out the the Ethernet address of the desired adapter. This Ethernet address is then used by Contiki too.
2006-10-06 22:39:31 +00:00
oliverschmidt 50fda17c3e Moved error_exit() to the Win32 Contiki Core. 2006-10-03 11:27:51 +00:00
oliverschmidt 58be00541d Added the CCIF (Contiki Core InterFace) declarations necessary for fatal error display on Win32. 2006-10-03 00:30:42 +00:00
oliverschmidt d62f9608dc Improved error handling. 2006-10-03 00:28:36 +00:00
adamdunkels a043ca000b Short description added 2006-10-02 22:06:14 +00:00
adamdunkels 8c080b3677 Brief instructions for getting started with Contiki for Windows 2006-10-02 20:08:40 +00:00
oliverschmidt 328071ff10 Added network support to the Win32 platform.
Network I/O is done using the usual suspect - which is WinPcap. There's no need for the WinPcap Developer's Pack! An ordinary WinPcap install - as it is i.e. part of Ethereal - is sufficient.

The code is still under development. But as I recently successfully opened HTML pages with the Contiki web browser I thought it might be the right time for an initial commit.
2006-09-23 20:25:02 +00:00
oliverschmidt f601f3a0ac Added the CCIF (Contiki Core InterFace) declarations necessary for logging from loadable code on Win32. 2006-09-23 20:12:40 +00:00
oliverschmidt 253dcb44ce Replaced Win32 ctrl-c handler with C-library atexit handler (taking care of ctrl-c too) now that we have a Contiki Quit menu calling exit(). 2006-09-09 23:20:39 +00:00
oliverschmidt e3dab56825 Do a consistent non-UNICODE build. 2006-09-09 23:13:09 +00:00
oliverschmidt 162ca26b65 Activated quit menu option. 2006-08-30 22:41:52 +00:00
oliverschmidt 301c1f45cf Move the strcasecmp macro out of the diretory app context now that it is used in the shell app too. 2006-08-30 22:07:53 +00:00
oliverschmidt 67d7c515a4 Added missing header files to VC++ project file. 2006-08-26 23:50:45 +00:00
oliverschmidt a72fdc7208 Fixed discrepancy between makefile and VC++ project file. 2006-08-26 23:43:03 +00:00
oliverschmidt c32390ab76 Added VC++ 2005 solution file (.sln) and project files (.vcproj).
Please note that the VC++ 2005 Express Edition combined with the Platform SDK - which are both free downloads - are sufficient to build, run and debug Contiki on Win32.
2006-08-21 22:37:16 +00:00
oliverschmidt 3de5f38218 Avoid temporary console window scroll on redraw due to writing to lower right screen cell. 2006-08-21 22:27:10 +00:00
oliverschmidt 155b37491c Some object files made from *_dsc.c files get linked both into the Contiki core (for desktop icons) as well as into *.dsc files. So make sure that the *_dsc symbol gets exported regardless in which context the object files are made. 2006-08-16 22:47:01 +00:00
oliverschmidt 62fa3b8c01 Changed the Contiki Interface declaration macros from CCI/CLI to CCIF/CLIF because of already existing macros: Both CCI and CLI :-( 2006-08-15 14:46:33 +00:00
oliverschmidt ad7bbcdf17 Now that they assumed a shape ... 2006-08-14 23:53:55 +00:00
oliverschmidt 15154b071e The *-arch.h files seem to be out of style in Contiki 2.x so removed the only Win32 one - most of the content will show up in the (one and only) Win32 conf header. 2006-08-14 23:50:51 +00:00
oliverschmidt 56b07d90a6 Improved code clarity by moving the API macros definitions to the support function declarations. 2006-08-14 23:46:43 +00:00
oliverschmidt bace5b3481 Removed obsolete header include. 2006-08-14 23:42:33 +00:00
oliverschmidt 96d97031d6 Added a Win32 dll loader for loading/unloading *.prg and *.dsc files. It requires at least WinXP as it uses GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS flag for unloading. The "self-unloading" via LOADER_UNLOAD() is implemented by defering the actual unload until back in the main loop using a user-mode APC (Asynchronous Procedure Call). 2006-08-13 16:49:43 +00:00
oliverschmidt f0e9388fed Added a Win32 Console Program based CTK (Contiki Tool Kit) conio low level library. Beside the core/lib/libconio.h interface it implements the CTK mouse interface. 2006-08-13 16:36:01 +00:00
oliverschmidt 92c982f829 Added a Win32 CFS (Contiki File System) service. The opendir() parameter "/" is mapped to the directory containing contiki.exe. That allows easy access to *.prg and *.dsc files which are supposed to reside in the same directory. 2006-08-13 16:23:10 +00:00