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
       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
       regular	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 14.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+14.3.quarterly>

home | help