lighttpd 1.4.x
https://www.lighttpd.net/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
58 lines
1.8 KiB
#ifndef _NETWORK_BACKENDS_H_ |
|
#define _NETWORK_BACKENDS_H_ |
|
|
|
#ifdef HAVE_CONFIG_H |
|
#include "config.h" |
|
#endif |
|
|
|
#include <sys/types.h> |
|
|
|
/* on linux 2.4.x you get either sendfile or LFS */ |
|
#if defined HAVE_SYS_SENDFILE_H && defined HAVE_SENDFILE && (!defined _LARGEFILE_SOURCE || defined HAVE_SENDFILE64) && defined HAVE_WRITEV && defined(__linux__) && !defined HAVE_SENDFILE_BROKEN |
|
# define USE_LINUX_SENDFILE |
|
# include <sys/sendfile.h> |
|
# include <sys/uio.h> |
|
#endif |
|
|
|
#if defined HAVE_SYS_UIO_H && defined HAVE_SENDFILE && defined HAVE_WRITEV && (defined(__FreeBSD__) || defined(__DragonFly__)) |
|
# define USE_FREEBSD_SENDFILE |
|
# include <sys/uio.h> |
|
#endif |
|
|
|
#if defined HAVE_SYS_SENDFILE_H && defined HAVE_SENDFILEV && defined HAVE_WRITEV && defined(__sun) |
|
# define USE_SOLARIS_SENDFILEV |
|
# include <sys/sendfile.h> |
|
# include <sys/uio.h> |
|
#endif |
|
|
|
#if defined HAVE_SYS_UIO_H && defined HAVE_WRITEV |
|
# define USE_WRITEV |
|
# include <sys/uio.h> |
|
#endif |
|
|
|
#if defined HAVE_SYS_MMAN_H && defined HAVE_MMAP |
|
# define USE_MMAP |
|
# include <sys/mman.h> |
|
/* NetBSD 1.3.x needs it */ |
|
# ifndef MAP_FAILED |
|
# define MAP_FAILED -1 |
|
# endif |
|
#endif |
|
|
|
#if defined HAVE_SYS_UIO_H && defined HAVE_WRITEV && defined HAVE_SEND_FILE && defined(__aix) |
|
# define USE_AIX_SENDFILE |
|
#endif |
|
|
|
#include "base.h" |
|
|
|
|
|
int network_write_chunkqueue_write(server *srv, connection *con, int fd, chunkqueue *cq); |
|
int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkqueue *cq); |
|
int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd, chunkqueue *cq); |
|
int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int fd, chunkqueue *cq); |
|
int network_write_chunkqueue_solarissendfilev(server *srv, connection *con, int fd, chunkqueue *cq); |
|
#ifdef USE_OPENSSL |
|
int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chunkqueue *cq); |
|
#endif |
|
|
|
#endif
|
|
|