base/session.h
file.
typedef struct { /* Information about the remote client */ pblock *client; /* The socket descriptor to the remote client */ SYS_NETFD csd; /* The input buffer for that socket descriptor */ netbuf *inbuf; /* Raw socket information about the remote */ /* client (for internal use) */ struct in_addr iaddr; } Session;
base/pblock.h
file.
#include "base/pblock.h"
typedef struct { int hsize; struct pb_entry **ht; } pblock;
base/pblock.h
file.
struct pb_entry { pb_param *param; struct pb_entry *next; };
base/pblock.h
file.
typedef struct { char *name,*value; } pb_param;
Session
->client
parameter block structure contains two entries: The ip
entry is the IP address of the client machine.
The dns
entry is the DNS name of the remote machine. This member must be accessed through the session_dns function call.
base/session.h
file.
/*
* session_dns returns the DNS host name of the client for this
* session and inserts it into the client pblock. Returns NULL if
* unavailable.
*/
char *session_dns(Session *sn);
frame/req.h
file.
typedef struct { /* Server working variables */ pblock *vars; /* The method, URI, and protocol revision of this request */ block *reqpb; /* Protocol specific headers */ int loadhdrs; pblock *headers; /* Server's response headers */ pblock *srvhdrs; /* The object set constructed to fulfill this request */ httpd_objset *os; /* The stat last returned by request_stat_path */ char *statpath; struct stat *finfo; } Request;
struct stat { dev_t st_dev; /* device of inode */ inot_t st_ino; /* inode number */ short st_mode; /* mode bits */ short st_nlink; /* number of links to file /* short st_uid; /* owner's user id */ short st_gid; /* owner's group id */ dev_t st_rdev; /* for special files */ off_t st_size; /* file size in characters */ time_t st_atime; /* time last accessed */ time_t st_mtime; /* time last modified */ time_t st_ctime; /* time inode last changed*/ }.The elements that are most significant for server plug-in API activities are
st_size
, st_atime
, st_mtime
, and st_ctime
.
typedef struct { void *data; /* the data */ int size; /* the maximum length of the data */ char *name; /* internal use: filename to unlink if exposed */ SYS_FILE fd; /* internal use: file descriptor for region */ } shmem_s;
buffer.h
.
buffer.h
.
cinfo.h
.
typedef struct { char *type; /* Identifies what kind of data is in the file*/ char *encoding; /* Identifies any compression or other content/*- /* independent transformation that's been applied/* /* to the file, such as uuencode)*/ char *language; /* Identifies the language a text document is in. */ } cinfo;
sem.h
.
crit.h
.
crit.h
.
systhr.h
.