Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions include/httpd.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ struct httpd {
UFSSYS *ufssys; /* 54 Unix like file system */
LUAX *luax; /* 58 Lua function vector */
const char *version; /* 5C HTTPD Version */
lua_State *config; /* 60 Lua configuration state */
void *unused_60; /* 60 (was: lua_State *config) */
UCHAR cfg_maxtask; /* 64 config max task */
UCHAR cfg_mintask; /* 65 config min task */
UCHAR cfg_client_timeout; /* 66 client timeout seconds */
Expand All @@ -135,7 +135,10 @@ struct httpd {
UCHAR cfg_st_hour_max; /* 69 statistics hour_records */
UCHAR cfg_st_min_max; /* 6A statistics min records */
UCHAR cfg_cgictx; /* 6B # CGI context pointers */
UCHAR cfg_st_unused[4]; /* 6C unused / available */
UCHAR ufs_enabled; /* 6C UFS filesystem enabled */
UCHAR dbg_enabled; /* 6D debug output enabled */
UCHAR bind_tries; /* 6E socket bind retry count */
UCHAR bind_sleep; /* 6F socket bind retry delay */
HTTPSTAT **st_month; /* 70 statistics month array */
HTTPSTAT **st_day; /* 74 statistics day array */
HTTPSTAT **st_hour; /* 78 statistics hour array */
Expand All @@ -152,7 +155,10 @@ struct httpd {
#define HTTPD_CGICTX_MIN 0 /* ... minimum number of cgictx */
#define HTTPD_CGICTX_MAX 255 /* ... maximum number of cgictx */
char docroot[128]; /* A0 UFS document root prefix */
}; /* 120 */
UCHAR listen_queue; /* 120 listen backlog */
UCHAR unused_121[3]; /* 121 alignment padding */
char codepage[16]; /* 124 codepage name */
}; /* 134 */

/* Telemetry */
struct httpt {
Expand Down
4 changes: 2 additions & 2 deletions project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ blksize = 15040
space = ["TRK", 150, 50, 30]

[dependencies]
"mvslovers/crent370" = ">=1.0.7"
"mvslovers/crent370" = ">=1.0.8"
"mvslovers/ufsd" = "=1.0.0-dev"
"mvslovers/lua370" = ">=1.0.2"
"mvslovers/mqtt370" = ">=1.0.3"
Expand All @@ -60,7 +60,7 @@ space = ["TRK", 150, 50, 30]
name = "HTTPD"
entry = "@@CRT0"
options = ["SIZE=(4000K,40K)", "LIST", "MAP", "XREF", "RENT"]
include = ["@@CRT1", "HTTPSTRT", "HTTPD"]
include = ["@@CRT1", "HTTPSTRT", "HTTPD", "HTTPPRM"]
setcode = "AC(1)"

[link.module.dep_includes]
Expand Down
30 changes: 30 additions & 0 deletions samplib/httpd
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//HTTPD PROC M=HTTPPRM0,
// D='SYS2.PARMLIB'
//*
//* HTTPD - HTTP Server STC Procedure
//*
//* Installation:
//* Copy to SYS2.PROCLIB(HTTPD)
//* Copy config member to SYS2.PARMLIB(HTTPPRM0)
//*
//* Starting: /S HTTPD
//* /S HTTPD,M=HTTPPRM1 (alternate config member)
//* /S HTTPD,D='MY.PARMLIB' (alternate parmlib dataset)
//* Commands: /F HTTPD,DISPLAY CONFIG
//* /F HTTPD,DISPLAY STATS
//* /F HTTPD,HELP
//* /F HTTPD,SHUTDOWN
//* Stopping: /P HTTPD
//*
//HTTPD EXEC PGM=HTTPD,REGION=8M,TIME=1440
//STEPLIB DD DISP=SHR,DSN=HTTPD.LINKLIB
//SYSUDUMP DD SYSOUT=*
//HTTPDERR DD SYSOUT=*
//HTTPDOUT DD SYSOUT=*
//HTTPDIN DD DUMMY
//SNAP DD SYSOUT=*
//HTTPDBG DD SYSOUT=*
//HTTPSTAT DD SYSOUT=*
//HTTPPRM DD DSN=&D(&M),DISP=SHR,FREE=CLOSE
//HASPCKPT DD DISP=SHR,DSN=SYS1.HASPCKPT,UNIT=3350,VOL=SER=MVS000
//HASPACE1 DD DISP=SHR,DSN=SYS1.HASPACE,UNIT=3350,VOL=SER=SPOOL1
63 changes: 63 additions & 0 deletions samplib/httpprm0
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# HTTPD 4.0.0 Configuration
#
# Copy to SYS2.PARMLIB(HTTPPRM0)
# Referenced by HTTPPRM DD in the STC JCL procedure.
#
# Format: KEY=VALUE (case-insensitive keys)
# Lines starting with # or * are comments.
#
# --- Network ---
PORT=8080
BIND_TRIES=10
BIND_SLEEP=10
LISTEN_QUEUE=5
#
# --- Worker threads ---
MINTASK=3
MAXTASK=9
CLIENT_TIMEOUT=10
#
# --- Security ---
LOGIN=NONE
#
# --- Timezone ---
# TZOFFSET=+01:00
#
# --- Codepage ---
# CODEPAGE=CP037
#
# --- UFS Filesystem ---
UFS=1
DOCROOT=/www
#
# --- Debug ---
DEBUG=0
#
# --- CGI Modules ---
# Format: CGI=PROGRAM /url/path
# No CGIs are registered by default.
# Uncomment the lines below to enable them.
#
# CGI=MVSMF /zosmf/*
# CGI=HTTPDSRV /.dsrv
# CGI=HTTPDSL /dsl/*
# CGI=HTTPJES2 /jes/*
# CGI=HTTPLUA /lua/*
# CGI=HTTPREXX /rexx/*
# CGI=HTTPDM /.dm
# CGI=HTTPDMTT /.dmtt
# CGI=HELLO /hello
#
# --- Lua CGI Settings ---
# CGILUA_DATASET=HTTPD.CGILUA
# CGILUA_PATH=
# CGILUA_CPATH=
#
# --- Statistics ---
# CLIENT_STATS=1
# CLIENT_STATS_MONTH_MAX=24
# CLIENT_STATS_DAY_MAX=60
# CLIENT_STATS_HOUR_MAX=48
# CLIENT_STATS_MINUTE_MAX=120
# CLIENT_STATS_DATASET=
#
Loading
Loading