osd-contiki/platform/win32
adamdunkels 5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
..
cfs Moved Win32 cfs directory functions from cfs-win32.c to cfs-win32-dir.c. 2008-07-06 10:24:38 +00:00
ctk Fixed typos. 2007-12-15 20:12:28 +00:00
loader Removed unnecessary include. 2010-10-12 19:57:44 +00:00
vcproj Removed directory.dsc and www.dsc from Visual Studio 2008 build. 2010-01-28 12:59:47 +00:00
clock.c Added clock_seconds implementation to win32 port 2008-07-10 17:08:54 +00:00
conio.h - Switched from from a CTK draw service to a statically linked CTK draw implementation. 2007-04-15 13:30:16 +00:00
contiki-conf.h Allow standalone win32 programs to exit the Contiki process by calling LOAD_UNLOAD(). 2010-10-12 11:03:53 +00:00
contiki-main.c A simple but substantial change: uIP used the htons()/HTONS() macro 2010-10-19 18:29:03 +00:00
contiki.sln Removed directory.dsc and www.dsc from Visual Studio 2008 build. 2010-01-28 12:59:47 +00:00
Makefile Include wget shell command in "standard" shell environments. 2008-11-10 22:10:32 +00:00
Makefile.win32 Allow standalone win32 programs to exit the Contiki process by calling LOAD_UNLOAD(). 2010-10-12 11:03:53 +00:00
README Minor docu update. 2008-11-13 20:26:27 +00:00

The platform/win32/ directory contains a showcase of Contiki 1.x technologies
ported to the Contiki 2.x environment. As such it serves primarily two purposes:
- Allow for easy interactive experience of the Contiki applications with user
  interface, especially the Contiki web browser.
- Allow for easy regression tests of the code in core/ctk/ and most of the code
  in apps/.

The employed Contiki 1.x technologies include:
- The 'Contiki Tool Kit' (CTK) UI framework in general
- CTK running in a character based environment (here the Win32 Console API)
- CTK mouse support
- Dynamic loading and unloading of Contiki programs (.PRG) and Contiki program
  descriptions (.DSC) based on dynamically loadable libraries (here Win32 DLLs)

A typical Contiki 1.x implementation consists of a core binary (containing among
others the uIP and CTK libraries) and the program (and program description)
binaries which are both loaded by the core and reference the core libraries.
Therefore the Contiki 2.x project-based build system doesn't suit exactly. So
in order to be able to leverage the Contiki 2.x build system to its maximum
extend two makefiles are necessary:
- Makefile plays the role of a Contiki 2.x project Makefile
- Makefile.win32 is an ordinary (yet complex) Contiki 2.x Makefile.$(TARGET)

As an alternative to building with Cygwin, gcc and the Contiki 2.x build system
it is also possible to use Microsoft Visual Studio 2008 (including the Express
Edition) by loading platform/win32/contiki.sln.

As platform/win32/Makefile.win32 includes cpu/native/Makefile.native the WinPcap
library is used for network I/O. Please consult cpu/native/net/README-WPCAP for
further details.

Both a Cygwin Bash Shell and an ordinary Windows Command Prompt are fine for
runtime. But in order to experience the CTK mouse support it is necessary to
deactivate the 'QuickEdit Mode' of the window used. This option is found in its
Windows system menu under 'Properties'.

As the console is used for displaying the actual user interface the log output
is routed to the debug output. DebugView is a very lean program for displaying
the debug output in case no debugger is active and does so. It is available at
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx.