Introduction

Who Should Read the Barracuda Documentation

This documentation covers everything you need to know about the Barracuda Web Server (BWS) and the Barracuda Application Server (BAS), including both the low-level C/C++ API and the high-level Lua Scripting Language API. If you are working on an embedded system with limited memory, you may choose to use only the Web Server and the C and/or C++ API. Many of the examples in this documentation focus on the Lua API, as it is generally easier to use than the C API. Even if you decide not to use the LSP plugin, it is still recommended to read the introductory Lua examples to learn about the Virtual File System (VFS).

Typical Uses of the Barracuda Servers

The Barracuda App Server and the Barracuda Web Server are C source code libraries specifically designed for being embedded into another computer program. The ANSI C89 compatible source code libraries are designed to be linked into and be an integral component of the computer program being designed.

Typical uses of the Barracuda App Server & Barracuda Web Server include:

Keep in mind that the Barracuda App Server is a multi-protocol stack and toolkit that includes a powerful integrated scripting engine and support for a wide range of client/server protocols. This makes it a versatile platform for building custom applications and services.

In addition to this documentation, we maintain a collection of examples on GitHub that you can use for reference. We also offer a separate tutorial that you can download and run using the Mako Server and this tutorial provides a hands-on introduction to the Barracuda App Server and its features.

Porting Barracuda to an Embedded System

Supported environments (pre-ported):
The Server has been ported to many embedded operating systems including: VxWorks, QNX, Zephyr, FreeRTOS+TCP or lwIP, Embedded Linux, INTEGRITY, Windows & Win CE, ThreadX, NuttX, Nucleus RTOS, embOS, RTXC, SMX, MQX, RTOS-32, Mac, and UNIX/POSIX.

Porting:
The Barracuda App/Web Servers can be ported to any RTOS powered embedded device.

Memory:

CPU:
The Barracuda App/Web Server runs on several microprocessors including, but not limited to: the X86 family, the PowerPC family, the ColdFire family, MIPS, and the ARM family. The server is designed to run on 32 and 64 bit microprocessors and is not suitable for 8 or 16 bit microprocessors.