Sha256: 9faf622ccf13e6410b49cf6d01e030e61e0052841b424cc57674ff996fa14af7

Contents?: true

Size: 1.97 KB

Versions: 136

Compression:

Stored size: 1.97 KB

Contents

/**
 * @file rtems/rtems-shttpd.h
 */

#ifndef _rtems_rtems_webserver_h
#define _rtems_rtems_webserver_h

#include "shttpd.h"

#include <rtems.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <dirent.h>

/* RTEMS is an Real Time Embedded operating system, for operation in hardware.
  It does not have SSL or CGI support, as it does not have dynamic library
  loading or sub-processes. */
#define EMBEDDED
#define NO_SSL
#define NO_CGI

#define DIRSEP                          '/'
#define O_BINARY                        0
#define ERRNO                           errno

/* RTEMS version is Thread Safe */
#define InitializeCriticalSection(x)  rtems_semaphore_create( \
                                  rtems_build_name('H','T','P','X'), \
                                  1, /* Not Held Yet.*/ \
                                  RTEMS_FIFO | \
                                  RTEMS_BINARY_SEMAPHORE, \
                                  0, \
                                  x);
#define EnterCriticalSection(x) rtems_semaphore_obtain(*(x),RTEMS_WAIT,RTEMS_NO_TIMEOUT)
#define LeaveCriticalSection(x) rtems_semaphore_release(*(x))



#ifdef __cplusplus
extern "C" {
#endif

typedef void (*rtems_shttpd_addpages)(struct shttpd_ctx *ctx);
typedef void (*rtems_shttpd_init)(void);

rtems_status_code rtems_initialize_webserver(rtems_task_priority   initial_priority,
                                             rtems_unsigned32      stack_size,
                                             rtems_mode            initial_modes,
                                             rtems_attribute       attribute_set,
                                             rtems_shttpd_init     init_callback,
                                             rtems_shttpd_addpages addpages_callback,
                                             char                 *webroot
                                            );
void rtems_terminate_webserver(void);
int  rtems_webserver_ok(void);

#ifdef __cplusplus
}
#endif
#endif

Version data entries

136 entries across 136 versions & 2 rubygems

Version Path
rhodes-7.6.0 platform/shared/shttpd/src/compat_rtems.h
rhodes-7.5.1 platform/shared/shttpd/src/compat_rtems.h
rhodes-7.4.1 platform/shared/shttpd/src/compat_rtems.h
rhodes-7.1.17 platform/shared/shttpd/src/compat_rtems.h
rhodes-6.2.0 platform/shared/shttpd/src/compat_rtems.h
rhodes-6.0.11 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.18 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.17 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.15 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.0.22 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.2 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.0.7 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.0.3 platform/shared/shttpd/src/compat_rtems.h
rhodes-5.5.0 platform/shared/shttpd/src/compat_rtems.h
tauplatform-1.0.3 platform/shared/shttpd/src/compat_rtems.h
tauplatform-1.0.2 platform/shared/shttpd/src/compat_rtems.h
tauplatform-1.0.1 platform/shared/shttpd/src/compat_rtems.h
rhodes-3.5.1.12 platform/shared/shttpd/src/compat_rtems.h
rhodes-3.3.5 platform/shared/shttpd/src/compat_rtems.h
rhodes-3.4.2 platform/shared/shttpd/src/compat_rtems.h