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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [net/] [khttpd/] [structure.h] - Diff between revs 1275 and 1765

Only display areas with differences | Details | Blame | View Log

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

powered by: WebSVN 2.1.0

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