Viewing file:      tux.h (2.82 KB)      -rw-r--r-- Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
#ifndef _NET_TUX_U_H #define _NET_TUX_U_H
  #include <stdint.h>
  /*  * TUX - Integrated Application Protocols Layer and Object Cache  *  * Copyright (C) 2000, 2001, Ingo Molnar <mingo@redhat.com>  *  * tux_u.h: HTTP module API - HTTP interface to user-space  */
  /*  * Different major versions are not compatible.  * Different minor versions are only downward compatible.  * Different patchlevel versions are downward and upward compatible.  */ #define TUX_MAJOR_VERSION        3 #define TUX_MINOR_VERSION        0 #define TUX_PATCHLEVEL_VERSION        0
  #define __KERNEL_SYSCALLS__
  typedef enum http_versions {         HTTP_1_0,         HTTP_1_1 } http_version_t;
  /*  * Request methods known to HTTP:  */ typedef enum http_methods {         METHOD_NONE,         METHOD_GET,         METHOD_HEAD,         METHOD_POST,         METHOD_PUT,     NR_METHODS } http_method_t;
  enum user_req {     TUX_ACTION_STARTUP = 1,     TUX_ACTION_SHUTDOWN = 2,     TUX_ACTION_STARTTHREAD = 3,     TUX_ACTION_STOPTHREAD = 4,     TUX_ACTION_EVENTLOOP = 5,     TUX_ACTION_GET_OBJECT = 6,     TUX_ACTION_SEND_OBJECT = 7,     TUX_ACTION_READ_OBJECT = 8,     TUX_ACTION_FINISH_REQ = 9,     TUX_ACTION_FINISH_CLOSE_REQ = 10,     TUX_ACTION_REGISTER_MODULE = 11,     TUX_ACTION_UNREGISTER_MODULE = 12,     TUX_ACTION_CURRENT_DATE = 13,     TUX_ACTION_REGISTER_MIMETYPE = 14,     TUX_ACTION_READ_HEADERS = 15,     TUX_ACTION_POSTPONE_REQ = 16,     TUX_ACTION_CONTINUE_REQ = 17,     TUX_ACTION_REDIRECT_REQ = 18,     TUX_ACTION_READ_POST_DATA = 19,     TUX_ACTION_SEND_BUFFER = 20,     TUX_ACTION_WATCH_PROXY_SOCKET = 21,     TUX_ACTION_WAIT_PROXY_SOCKET = 22,     TUX_ACTION_QUERY_VERSION = 23,     MAX_TUX_ACTION };
  enum tux_ret {     TUX_ERROR = -1,     TUX_RETURN_USERSPACE_REQUEST = 0,     TUX_RETURN_EXIT = 1,     TUX_RETURN_SIGNAL = 2,     TUX_CONTINUE_EVENTLOOP = 3, };
  #define MAX_URI_LEN 256 #define MAX_COOKIE_LEN 128 #define MAX_FIELD_LEN 64 #define DATE_LEN 32
  typedef struct user_req_s {     uint32_t version_major;     uint32_t version_minor;     uint32_t version_patch;     uint32_t http_version;     uint32_t http_method;     uint32_t http_status;
      uint32_t sock;     uint32_t event;     uint32_t error;     uint32_t thread_nr;     uint32_t bytes_sent;     uint32_t client_host;     uint32_t objectlen;     uint32_t module_index;     uint32_t keep_alive;     uint32_t cookies_len;
      uint64_t id;     uint64_t priv;     uint64_t object_addr;
      uint8_t query[MAX_URI_LEN];     uint8_t objectname[MAX_URI_LEN];     uint8_t cookies[MAX_COOKIE_LEN];     uint8_t content_type[MAX_FIELD_LEN];     uint8_t user_agent[MAX_FIELD_LEN];     uint8_t accept[MAX_FIELD_LEN];     uint8_t accept_charset[MAX_FIELD_LEN];     uint8_t accept_encoding[MAX_FIELD_LEN];     uint8_t accept_language[MAX_FIELD_LEN];     uint8_t cache_control[MAX_FIELD_LEN];     uint8_t if_modified_since[MAX_FIELD_LEN];     uint8_t negotiate[MAX_FIELD_LEN];     uint8_t pragma[MAX_FIELD_LEN];     uint8_t referer[MAX_FIELD_LEN];     uint8_t new_date[DATE_LEN]; } user_req_t;
  #define TUXAPI_declare int TUXAPI_protocol_version = 3
  #endif 
  |