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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [net/] [khttpd/] [structure.h] - Blame information for rev 1275

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

Line No. Rev Author Line
1 1275 phoenix
#ifndef _INCLUDE_GUARD_STRUCTURE_H_
2
#define _INCLUDE_GUARD_STRUCTURE_H_
3
 
4
#include <linux/time.h>
5
#include <linux/wait.h>
6
 
7
 
8
struct http_request;
9
 
10
struct http_request
11
{
12
        /* Linked list */
13
        struct http_request *Next;
14
 
15
        /* Network and File data */
16
        struct socket   *sock;
17
        struct file     *filp;
18
 
19
        /* Raw data about the file */
20
 
21
        int             FileLength;     /* File length in bytes */
22
        int             Time;           /* mtime of the file, unix format */
23
        int             BytesSent;      /* The number of bytes already sent */
24
        int             IsForUserspace; /* 1 means let Userspace handle this one */
25
 
26
        /* Wait queue */
27
 
28
        wait_queue_t sleep;             /* For putting in the socket's waitqueue */
29
 
30
        /* HTTP request information */
31
        char            FileName[256];  /* The requested filename */
32
        int             FileNameLength; /* The length of the string representing the filename */
33
        char            Agent[128];     /* The agent-string of the remote browser */
34
        char            IMS[128];       /* If-modified-since time, rfc string format */
35
        char            Host[128];      /* Value given by the Host: header */
36
        int             HTTPVER;        /* HTTP-version; 9 for 0.9,   10 for 1.0 and above */
37
 
38
 
39
        /* Derived date from the above fields */
40
        int             IMS_Time;       /* if-modified-since time, unix format */
41
        char            TimeS[64];      /* File mtime, rfc string representation */
42
        char            LengthS[14];    /* File length, string representation */
43
        char            *MimeType;      /* Pointer to a string with the mime-type
44
                                           based on the filename */
45
        __kernel_size_t MimeLength;     /* The length of this string */
46
 
47
};
48
 
49
 
50
 
51
/*
52
 
53
struct khttpd_threadinfo represents the four queues that 1 thread has to deal with.
54
It is padded to occupy 1 (Intel) cache-line, to avoid "cacheline-pingpong".
55
 
56
*/
57
struct khttpd_threadinfo
58
{
59
        struct http_request* WaitForHeaderQueue;
60
        struct http_request* DataSendingQueue;
61
        struct http_request* LoggingQueue;
62
        struct http_request* UserspaceQueue;
63
        char  dummy[16];  /* Padding for cache-lines */
64
};
65
 
66
 
67
 
68
#endif

powered by: WebSVN 2.1.0

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