File: get_cgi_info.c

package info (click to toggle)
hypermail 2.2.0.dfsg-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 5,636 kB
  • ctags: 3,069
  • sloc: ansic: 34,221; sh: 15,510; yacc: 844; perl: 744; makefile: 737; python: 292
file content (52 lines) | stat: -rw-r--r-- 2,039 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* 
** Copyright (C) 1994, 1995 Enterprise Integration Technologies Corp.
**         VeriFone Inc./Hewlett-Packard. All Rights Reserved.
** Kevin Hughes, kev@kevcom.com 3/11/94
** Kent Landfield, kent@landfield.com 4/6/97
** 
** This program and library is free software; you can redistribute it and/or 
** modify it under the terms of the GNU (Library) General Public License 
** as published by the Free Software Foundation; either version 2 
** of the License, or any later version. 
** 
** This program is distributed in the hope that it will be useful, 
** but WITHOUT ANY WARRANTY; without even the implied warranty of 
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
** GNU (Library) General Public License for more details. 
** 
** You should have received a copy of the GNU (Library) General Public License
** along with this program; if not, write to the Free Software 
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA 
*/

/*
 * This file is part of the LIBCGI library
 *
 */

#include "cgi.h"

int get_cgi_info(cgi_info *ci)
{
    char *s;

    ci->content_length = (s = getenv("CONTENT_LENGTH")) ? atoi(s) : 0;
    ci->content_type = getenv("CONTENT_TYPE");
    ci->server_software = getenv("SERVER_SOFTWARE");
    ci->gateway_interface = getenv("GATEWAY_INTERFACE");
    ci->server_protocol = getenv("SERVER_PROTOCOL");
    ci->server_port = getenv("SERVER_PORT");
    ci->request_method = getenv("REQUEST_METHOD");
    ci->http_accept = getenv("HTTP_ACCEPT");
    ci->path_info = getenv("PATH_INFO");
    ci->path_translated = getenv("PATH_TRANSLATED");
    ci->script_name = getenv("SCRIPT_NAME");
    ci->query_string = getenv("QUERY_STRING");
    ci->remote_host = getenv("REMOTE_HOST");
    ci->remote_addr = getenv("REMOTE_ADDR");
    ci->remote_user = getenv("REMOTE_USER");
    ci->auth_type = getenv("AUTH_TYPE");
    ci->remote_user = getenv("REMOTE_USER");
    ci->remote_ident = getenv("REMOTE_IDENT");
    return (ci->server_name = getenv("SERVER_NAME")) != NULL;
}