NsServer Struct Reference

#include <nsd.h>


Data Fields

char * server
Ns_LocationProc * locationProc
char * defcharset
Tcl_Encoding urlEncoding
Tcl_Encoding inputEncoding
struct {
   int   flags
   size_t   gzipmin
   int   gziplevel
   char *   realm
   Ns_HeaderCaseDisposition   hdrcase
opts
struct {
   int   errorminsize
   int   connsperthread
limits
struct {
   char *   pageroot
   char **   dirv
   int   dirc
   char *   dirproc
   char *   diradp
   bool   mmap
   int   cachemaxentry
   Ns_UrlToFileProc *   url2file
   Ns_Cache *   cache
fastpath
struct {
   Ns_RequestAuthorizeProc *   authProc
   Tcl_HashTable   redirect
   Tcl_HashTable   proxy
   Ns_Mutex   plock
request
struct {
   Filter *   firstFilterPtr
   Trace *   firstTracePtr
   Trace *   firstCleanupPtr
filter
struct {
   char *   initfile
   Tcl_HashTable   loops
   Ns_Mutex   llock
   Ns_Cond   lcond
   Ns_RWLock   tlock
   TclTrace *   firstTracePtr
   TclTrace *   lastTracePtr
   Ns_Cs   olock
   Tcl_HashTable   once
   Ns_Mutex   plock
   Tcl_HashTable   packages
   char *   library
   char *   script
   int   length
   int   epoch
   Ns_RWLock   slock
   Tcl_DString   modules
tcl
struct {
   int   flags
   int   tracesize
   char *   errorpage
   char *   startpage
   char *   debuginit
   size_t   bufsize
   size_t   cachesize
   Ns_Cond   pagecond
   Ns_Mutex   pagelock
   Tcl_HashTable   pages
   Ns_RWLock   taglock
   Tcl_HashTable   tags
adp
struct {
   Ns_Mutex   lock
   Tcl_HashTable   table
sets
Nsv nsv
struct {
   Ns_Mutex   lock
   Tcl_HashTable   table
var
struct {
   Ns_Cs   cs
   Ns_Mutex   lock
   Ns_Cond   cond
   Tcl_HashTable   inits
   Tcl_HashTable   vars
share
struct {
   Ns_Mutex   lock
   Tcl_HashTable   table
chans


Detailed Description

The following structure is allocated for each virtual server.


Field Documentation

char* NsServer::server

Ns_LocationProc* NsServer::locationProc

char* NsServer::defcharset

Default charset for text/ types.

Tcl_Encoding NsServer::urlEncoding

The following encoding is used for decoding request URL's. This is a server-wide config as the request must be read and parsed before the URL can be determined to identify a possible alternate encoding.

Tcl_Encoding NsServer::inputEncoding

The following encoding is used for decoding input query strings and forms unless a more specific encoding is set via ns_register_encoding.

int NsServer::flags

size_t NsServer::gzipmin

int NsServer::gziplevel

char* NsServer::realm

Ns_HeaderCaseDisposition NsServer::hdrcase

struct { ... } NsServer::opts

The following struct maintains various server options.

int NsServer::errorminsize

int NsServer::connsperthread

struct { ... } NsServer::limits

The following struct maintains conn-related limits.

char* NsServer::pageroot

char** NsServer::dirv

int NsServer::dirc

char* NsServer::dirproc

char* NsServer::diradp

bool NsServer::mmap

int NsServer::cachemaxentry

Ns_UrlToFileProc* NsServer::url2file

Ns_Cache* NsServer::cache

struct { ... } NsServer::fastpath

Ns_RequestAuthorizeProc* NsServer::authProc

Tcl_HashTable NsServer::redirect

Tcl_HashTable NsServer::proxy

Ns_Mutex NsServer::plock

Table of one-time inits.

struct { ... } NsServer::request

The following struct maintains request tables.

struct Filter* NsServer::firstFilterPtr

struct Trace* NsServer::firstTracePtr

struct Trace* NsServer::firstCleanupPtr

struct { ... } NsServer::filter

The following struct maintains filters and traces.

char* NsServer::initfile

The following is the bootstrap script, normally bin/init.tcl.

Tcl_HashTable NsServer::loops

The following support the loop control facilities.

Ns_Mutex NsServer::llock

Ns_Cond NsServer::lcond

Ns_RWLock NsServer::tlock

The following support traces and one-time inits.

struct TclTrace* NsServer::firstTracePtr

Lock for trace list.

struct TclTrace* NsServer::lastTracePtr

Ns_Cs NsServer::olock

Tcl_HashTable NsServer::once

Lock for one-time inits.

Tcl_HashTable NsServer::packages

Lock for package table.

char* NsServer::library

The following support the legacy module directories config.

char* NsServer::script

Legacy library.

int NsServer::length

Legacy init script.

int NsServer::epoch

Ns_RWLock NsServer::slock

Tcl_DString NsServer::modules

Lock for init script.

struct { ... } NsServer::tcl

The following struct maintains the core Tcl config.

int NsServer::tracesize

char* NsServer::errorpage

char* NsServer::startpage

char* NsServer::debuginit

size_t NsServer::bufsize

size_t NsServer::cachesize

Ns_Cond NsServer::pagecond

Ns_Mutex NsServer::pagelock

Tcl_HashTable NsServer::pages

Ns_RWLock NsServer::taglock

Tcl_HashTable NsServer::tags

struct { ... } NsServer::adp

The following struct maintains ADP config, registered tags, and read-only page text.

Ns_Mutex NsServer::lock

Tcl_HashTable NsServer::table

struct { ... } NsServer::sets

The following struct maintains the Ns_Set's entered into Tcl with NS_TCL_SET_SHARED.

Nsv NsServer::nsv

The following maintains per-server nsv's.

struct { ... } NsServer::var

The following struct maintains the vars and lock for the old ns_var command.

Ns_Cs NsServer::cs

Ns_Cond NsServer::cond

Tcl_HashTable NsServer::inits

Tcl_HashTable NsServer::vars

struct { ... } NsServer::share

The following struct maintains the init state of ns_share variables, updated with the ns_share -init command.

struct { ... } NsServer::chans

The following struct maintains detached Tcl channels for the benefit of the ns_chan command.


The documentation for this struct was generated from the following file:
Generated on Tue Sep 4 19:58:57 2007 by  doxygen 1.5.1