NVStk*  sgcgi_getenv      (char **vars, int count) {

        NVStk   *stack          =    stk_new_nvstk();
        if(!stack) {
                sgcgi_fatal(SGCGI_ERR_MALLOC);
                }

        int i;
        char    *tmp;
        for(i=0; i<count; i++) {
                tmp          =    getenv(vars[i]);
                if(tmp) {
                        stk_nvstk_push(stack,vars[i],tmp);
                        }
                }
        return stack;
        }
 

NVStk*  sgcgi_get_servervars      (void) {
        char    *servervars[]       =      {
                "PATH_INFO", "PATH_TRANSLATED","SCRIPT_NAME",
                "QUERY_STRING","REMOTE_HOST","REMOTE_ADDR",
                "CONTENT_TYPE","CONTENT_LENGTH","DOCUMENT_ROOT",
                "REMOTE_PORT","REQUEST_METHOD","REQUEST_URI",
                "SCRIPT_FILENAME","SCRIPT_URI","SCRIPT_URL",
                "SERVER_NAME","SERVER_SOFTWARE",
                "GATEWAY_INTERFACE","SERVER_PROTOCOL",
                "SERVER_PORT","REQUEST_METHOD","AUTH_TYPE",
                "REMOTE_USER","REMOTE_IDENT","PATH","PWD",
                "SERVER_ADDR","SERVER_ADMIN"
                };

        return sgcgi_getenv(servervars,28);
        }
 

NVStk*  sgcgi_get_reqheaders      (void)        {
        char    *reqheadervars[]    =   {
                "HTTP_USER_AGENT","HTTP_COOKIE","HTTP_REFERER",
                "HTTP_HOST","HTTP_ACCEPT","HTTP_ACCEPT_CHARSET",
                "HTTP_ACCEPT_ENCODING","HTTP_ACCEPT_LANGUAGE",
                "HTTP_CONNECTION","HTTP_KEEP_ALIVE"
                };

        return sgcgi_getenv(reqheadervars,10);
        }