source: rtems/cpukit/shttpd/compat_rtems.h @ 6b42f5a3

4.104.114.84.95
Last change on this file since 6b42f5a3 was 6b42f5a3, checked in by Ralf Corsepius <ralf.corsepius@…>, on 06/11/07 at 13:56:36

2007-06-11 Ralf Corsépius <ralf.corsepius@…>

  • shttpd/compat_rtems.h: Add IS_DIRSEP_CHAR.
  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 * @file rtems/rtems-shttpd.h
3 */
4
5#ifndef _rtems_rtems_webserver_h
6#define _rtems_rtems_webserver_h
7
8#include "shttpd.h"
9
10#include <rtems.h>
11#include <sys/socket.h>
12#include <netinet/in.h>
13#include <dirent.h>
14
15/* RTEMS is an Real Time Embedded operating system, for operation in hardware.
16  It does not have SSL or CGI support, as it does not have dynamic library
17  loading or sub-processes. */
18#define EMBEDDED
19#define NO_SSL
20#define NO_CGI
21
22#define DIRSEP                          '/'
23#define IS_DIRSEP_CHAR(c)               ((c) == '/')
24#define O_BINARY                        0
25#define ERRNO                           errno
26
27/* RTEMS version is Thread Safe */
28#define InitializeCriticalSection(x)  rtems_semaphore_create( \
29                                  rtems_build_name('H','T','P','X'), \
30                                  1, /* Not Held Yet.*/ \
31                                  RTEMS_FIFO | \
32                                  RTEMS_BINARY_SEMAPHORE, \
33                                  0, \
34                                  x);
35#define EnterCriticalSection(x) rtems_semaphore_obtain(*(x),RTEMS_WAIT,RTEMS_NO_TIMEOUT)
36#define LeaveCriticalSection(x) rtems_semaphore_release(*(x))
37
38
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44typedef void (*rtems_shttpd_addpages)(struct shttpd_ctx *ctx);
45typedef void (*rtems_shttpd_init)(void);
46
47rtems_status_code rtems_initialize_webserver(rtems_task_priority   initial_priority,
48                                             size_t                stack_size,
49                                             rtems_mode            initial_modes,
50                                             rtems_attribute       attribute_set,
51                                             rtems_shttpd_init     init_callback,
52                                             rtems_shttpd_addpages addpages_callback,
53                                             char                 *webroot
54                                            );
55void rtems_terminate_webserver(void);
56int  rtems_webserver_ok(void);
57
58#ifdef __cplusplus
59}
60#endif
61#endif
Note: See TracBrowser for help on using the repository browser.