OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [net/] [khttpd/] [structure.h] - Rev 1275

Go to most recent revision | Compare with Previous | Blame | View Log

#ifndef _INCLUDE_GUARD_STRUCTURE_H_
#define _INCLUDE_GUARD_STRUCTURE_H_
 
#include <linux/time.h>
#include <linux/wait.h>
 
 
struct http_request;
 
struct http_request
{
	/* Linked list */
	struct http_request *Next;
 
	/* Network and File data */
	struct socket	*sock;		
	struct file	*filp;		
 
	/* Raw data about the file */
 
	int		FileLength;	/* File length in bytes */
	int		Time;		/* mtime of the file, unix format */
	int		BytesSent;	/* The number of bytes already sent */
	int		IsForUserspace;	/* 1 means let Userspace handle this one */
 
	/* Wait queue */
 
	wait_queue_t sleep;		/* For putting in the socket's waitqueue */
 
	/* HTTP request information */
	char		FileName[256];	/* The requested filename */
	int		FileNameLength; /* The length of the string representing the filename */
	char		Agent[128];	/* The agent-string of the remote browser */
	char		IMS[128];	/* If-modified-since time, rfc string format */
	char		Host[128];	/* Value given by the Host: header */
	int		HTTPVER;        /* HTTP-version; 9 for 0.9,   10 for 1.0 and above */
 
 
	/* Derived date from the above fields */	
	int		IMS_Time;	/* if-modified-since time, unix format */
	char		TimeS[64];	/* File mtime, rfc string representation */
	char		LengthS[14];	/* File length, string representation */
	char		*MimeType;	/* Pointer to a string with the mime-type 
					   based on the filename */
	__kernel_size_t	MimeLength;	/* The length of this string */
 
};
 
 
 
/*
 
struct khttpd_threadinfo represents the four queues that 1 thread has to deal with.
It is padded to occupy 1 (Intel) cache-line, to avoid "cacheline-pingpong".
 
*/
struct khttpd_threadinfo
{
	struct http_request* WaitForHeaderQueue;
	struct http_request* DataSendingQueue;
	struct http_request* LoggingQueue;
	struct http_request* UserspaceQueue;
	char  dummy[16];  /* Padding for cache-lines */
};
 
 
 
#endif
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.