Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KHTTP_FCGI_TEST(3)	     Library Functions Manual	      KHTTP_FCGI_TEST(3)

NAME
     khttp_fcgi_test -- test whether kcgi is using FastCGI

LIBRARY
     libkcgi

SYNOPSIS
     #include <sys/types.h>
     #include <stdarg.h>
     #include <stdint.h>
     #include <kcgi.h>

     int
     khttp_fcgi_test();

DESCRIPTION
     Tests whether the kcgi(3) application is being run under a FastCGI or regu-
     lar CGI socket.  This function may only be run prior to khttp_fcgi_init(3).
     Afterward, its behaviour is undefined.

EXAMPLES
     The  following example starts an application in FastCGI or regular CGI mode
     depending upon the environment.

	   int
	   main(void)
	   {
	     struct kreq    req;
	     struct kfcgi  *fcgi;
	     enum kcgi_err  er;

	     if (!khttp_fcgi_test()) {
	       er = khttp_parse(&req, NULL, 0, NULL, 0, 0);
	       if (er != KCGI_OK)
		 err(1, "khttp_parse: %s", kcgi_strerror(er));
	       /* Do something. */
	       khttp_free(&req);
	       return 0;
	     }

	     er = khttp_fcgi_init(&fcgi, NULL, 0, NULL, 0, 0);
	     if (er != KCGI_OK)
	       errx(1, "khttp_fcgi_init: %s", kcgi_strerror(er));
	     for (;;) {
	       er = khttp_fcgi_parse(fcgi, &req);
	       if (er != KCGI_OK)
		 err(1, "khttp_fcgi_parse: %s", kcgi_strerror(er));
	       if (KCGI_EXIT == er) {
		 khttp_free(&req);
		 break;
	       }
	       /* Do something. */
	       khttp_free(&req);
	     }
	     khttp_fcgi_free(fcgi);
	     return 0;
	   }

SEE ALSO
     kcgi(3)

AUTHORS
     Written by Kristaps Dzonsons <kristaps@bsd.lv>.

FreeBSD ports 15.quarterly	   $Mdocdate$		      KHTTP_FCGI_TEST(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khttp_fcgi_test&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help