blob: b8825afec2178b9cc6f8412bc5953ed3ab83c8b8 [file] [log] [blame]
/**
\mainpage The Contiki Operating System
\author Adam Dunkels <adam@dunkels.com>
The Contiki operating system is a highly portable, minimalistic
operating system for a variety of constrained systems ranging from
modern 8-bit microcontrollers for embedded systems to old 8-bit
homecomputers. Contiki provides a simple event driven kernel with
optional preemptive multithreading, interprocess communication using
message passing signals, a dynamic process structure and support for
loading and unloading programs, native TCP/IP support using the uIP
TCP/IP stack, and a graphical subsystem with either direct graphic
support for directly connected terminals or networked virtual display
with VNC or Telnet.
Contiki is written in the C programming language and is freely
available as open source under a BSD-style license. More information
about Contiki can be found at the Contiki home page:
http://www.sics.se/~adam/contiki/
\section contiki-mainpage-tcpip TCP/IP support
Contiki includes the uIP TCP/IP stack (http://www.sics.se/~adam/uip/)
that provides Contiki with TCP/IP networking support. uIP provides the
protocols TCP, UDP, IP, and ARP.
\sa \ref uip "The uIP TCP/IP stack documentation"
\sa \ref tcpip "The Contiki/uIP interface"
\sa \ref socket "Socket-like library"
\section contiki-mainpage-threads Multi-threading and protothreads
Contiki is based on an event-driven kernel but provides support for
both multi-threading and a lightweight stackless thread-like construct
called protothreads.
\sa \ref ek "The Contiki event-driven kernel"
\sa \ref mt "Contiki multi-threading"
\sa \ref pt "Protothreads"
\section contiki-mainpage-lib Libraries
Contiki provides a set of convenience libraries for memory management
and linked list operations.
\sa \ref timer "Timer library"
\sa \ref memb "Memory block management"
\sa \ref list "Linked list library"
*/