-#define OFS(x) offsetof(struct shttpd_ctx, x)
-#define BOOL_OPT "0|1"
-const struct opt options[] = {
- {'d', "document_root", "Web root directory", set_str,
- OFS(document_root), "directory", NULL, OPT_DIR},
- {'i', "index_files", "Index files", set_str, OFS(index_files),
- "file_list", INDEX_FILES, OPT_ADVANCED},
- {'p', "listen_ports", "Listening ports", set_str,
- OFS(ports), "ports", LISTENING_PORTS, OPT_ADVANCED},
- {'D', "list_directories", "Directory listing", set_int,
- OFS(dirlist), BOOL_OPT, "1", OPT_BOOL | OPT_ADVANCED},
-#ifndef NO_CGI
- {'c', "cgi_extensions", "CGI extensions", set_str,
- OFS(cgi_extensions), "ext_list", CGI_EXT, OPT_ADVANCED},
- {'C', "cgi_interpreter", "CGI interpreter", set_str,
- OFS(cgi_interpreter), "file", NULL, OPT_FILE | OPT_ADVANCED},
- {'V', "cgi_envvar", "CGI envir variables", set_str,
- OFS(cgi_vars), "X=Y,....", NULL, OPT_ADVANCED},
-#endif /* NO_CGI */
-#if !defined(NO_SSI)
- {'S', "ssi_extensions", "SSI extensions", set_str,
- OFS(ssi_extensions), "ext_list", SSI_EXT, OPT_ADVANCED},
-#endif /* NO_SSI */
- {'N', "auth_realm", "Authentication realm", set_str,
- OFS(auth_realm), "auth_realm", REALM, OPT_ADVANCED},
- {'l', "access_log", "Access log file", set_log_file,
- OFS(access_log), "file", NULL, OPT_FILE | OPT_ADVANCED},
- {'e', "error_log", "Error log file", set_log_file,
- OFS(error_log), "file", NULL, OPT_FILE | OPT_ADVANCED},
- {'m', "mime_types", "Mime types file", set_mime,
- OFS(mime_file), "file", NULL, OPT_FILE | OPT_ADVANCED},
- {'P', "global_htpasswd", "Global passwords file", set_str,
- OFS(global_passwd_file), "file", NULL, OPT_FILE | OPT_ADVANCED},
-#ifndef NO_SSL
- {'s', "ssl_certificate", "SSL certificate file", set_ssl,
- OFS(ssl_ctx), "pem_file", NULL, OPT_FILE | OPT_ADVANCED},
-#endif /* NO_SSL */
- {'U', "put_auth", "PUT,DELETE auth file",set_str,
- OFS(put_auth_file), "file", NULL, OPT_FILE | OPT_ADVANCED},
- {'a', "aliases", "Aliases", set_str,
- OFS(aliases), "X=Y,...", NULL, OPT_ADVANCED},
- {'b', "io_buf_size", "IO buffer size", set_int, OFS(io_buf_size),
- "bytes", DFLT_IO_SIZ, OPT_INT | OPT_ADVANCED},
-#ifdef _WIN32
- {'B', "auto_start", "Autostart with Windows", set_int,
- OFS(auto_start), BOOL_OPT, "1", OPT_BOOL},
-#else
- {'I', "inetd_mode", "Inetd mode", set_int,
- OFS(inetd_mode), BOOL_OPT, NULL, OPT_BOOL },
- {'u', "runtime_uid", "Run as user", set_str,
- OFS(uid), "user_name", NULL, 0 },
-#endif /* _WIN32 */
- {0, NULL, NULL, NULL, 0, NULL, NULL, 0 }
-};