CONTENT
- CHANGES
Szukaj
#top libhttp¶
- libhttp
- Predefined Constants
- LIBHTTP_CONNSTEP*
- enum HTTPoption
- Datatypes / MACROS
- __SOCKADDR_COMMON
- __socklen_t
- __time_t
- enum tlse_starttls_mode
- enum tlse_proto_type
- in_addr_t
- in_port_t
- sa_family_t
- size_t
- SOCKET
- socklen_t
- socktls_session_t
- struct _http
- struct addrinfo
- struct in_addr
- struct in6_addr
- struct sockaddr
- struct sockaddr_in
- struct sockaddr_in6
- struct sockaddr_un
- struct SOCKTLS_CTX_ST
- struct tm
- struct URLInfo
- time_t
- uint8_t
- uint16_t
- uint32_t
- libhttp Functions
- http_conn
- http_close
- http_socktls
- http_tlsinfo
- http_send
- http_recv
- http_onerecv
- http_linerecv
- sock_chunksend
- sock_chunkrecv
- http_init
- http_head_add
- http_setopt
- http_getopt
- http_getiopt
- http_make_requ_proxy
- http_make_requ_head
- http_resp_head
- http_resp_body
- http_exec
netutils - Narzędzia Sieciowe >> libnet - library network protocols >> libhttp - Hypertext Transfer Protocol
RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0
RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1
Hypertext Transfer Protocol (en.wiki) | Hypertext Transfer Protocol (pl.wiki)
#top Predefined Constants¶
#top LIBHTTP_CONNSTEP*¶
Definicja stałej
LIBHTTP_CONNSTEP1 i LIBHTTP_CONNSTEP2 znajduje się w pliku nagłówkowym netutils/libhttp.h.Definicja stałej
LIBHTTP_CONNSTEP1 i LIBHTTP_CONNSTEP2 jest następująca:/* http_conn() - options */ #define LIBHTTP_CONNSTEP1 0x0001 #define LIBHTTP_CONNSTEP2 0x0002
#top enum HTTPoption¶
Definicja typu
enum HTTPoption znajduje się w pliku nagłówkowym netutils/libhttp.h.Definicja typu
enum HTTPoption jest następująca:
enum HTTPoption {
/* http_setopt(), http_getopt(), */
HTTPOPT_DEBUG = 1,
HTTPOPT_QUIET,
HTTPOPT_DNSQADDR,
HTTPOPT_DNSQTIMEO,
HTTPOPT_AFFAMILY,
HTTPOPT_TIMEOCONN,
HTTPOPT_TIMEOSOCK,
HTTPOPT_REUSEADDR,
HTTPOPT_REUSEPORT,
HTTPOPT_SNDTIMEO,
HTTPOPT_RCVTIMEO,
HTTPOPT_SNDBUF,
HTTPOPT_RCVBUF,
HTTPOPT_SNDLOWAT,
HTTPOPT_RCVLOWAT,
HTTPOPT_KEEPALIVE,
HTTPOPT_NODELAY,
HTTPOPT_BINDADDR,
HTTPOPT_SOCKSEND,
HTTPOPT_SOCKRECV,
HTTPOPT_SOCKINFO,
HTTPOPT_COMMSEND,
HTTPOPT_COMMRECV,
HTTPOPT_DATASEND,
HTTPOPT_DATARECV,
HTTPOPT_TLSNAME,
HTTPOPT_TLSVER,
HTTPOPT_CAFILE,
HTTPOPT_CRLFILE,
HTTPOPT_CRTFILE,
HTTPOPT_KEYFILE,
HTTPOPT_TLSINFO,
HTTPOPT_CERTCHECK,
HTTPOPT_CERTVERIFY,
HTTPOPT_CERTINFO,
HTTPOPT_CERTSHOW,
HTTPOPT_PROXYURL,
HTTPOPT_PROXYTUNNEL,
HTTPOPT_PROXYSOCKS,
/*RFC 2616 - Request-Line = Method SP Request-URI SP HTTP-Version CRLF */
HTTPOPT_METHOD,
HTTPOPT_REQUESTURI,
HTTPOPT_HTTPVER,
HTTPOPT_AUTHSEND,
HTTPOPT_HEADER,
HTTPOPT_POSTDATA,
HTTPOPT_POSTSIZE,
HTTPOPT_POSTFILE,
HTTPOPT_PUTDATA,
HTTPOPT_PUTSIZE,
HTTPOPT_PUTFILE,
HTTPOPT_DNS_SERVERS,
/* opt get */
HTTPOPT_HTTPCODE,
HTTPOPT_HTTPLINE,
HTTPOPT_LOCATION,
HTTPOPT_LASTMODIFIED,
HTTPOPT_LASTMODTIME,
HTTPOPT_CONTLENGTH,
HTTPOPT_FILENAME,
/* last option without coma at the end, to skip: warning: comma at end of enumerator list */
HTTPOPT_LASTNULL
};
#top Datatypes / MACROS¶
#top __SOCKADDR_COMMON¶
Definicja typu
__SOCKADDR_COMMON znajduje się w pliku nagłówkowym bits/sockaddr.h.Definicja typu
__SOCKADDR_COMMON jest następująca:/* This macro is used to declare the initial common members of the data types used for socket addresses, `struct sockaddr', `struct sockaddr_in', `struct sockaddr_un', etc. */ #define __SOCKADDR_COMMON(sa_prefix) \ sa_family_t sa_prefix##family
#top __socklen_t¶
Definicja typu
__socklen_t znajduje się w pliku nagłówkowym bits/types.h.Definicja typu
__socklen_t jest następująca:/* Duplicate info from sys/socket.h. */ __STD_TYPE __U32_TYPE __socklen_t;
#top __time_t¶
Definicja typu
__time_t znajduje się w pliku nagłówkowym bits/types.h.Definicja typu
__time_t jest następująca:__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
#top enum tlse_starttls_mode¶
Definicja typu
enum tlse_starttls_mode znajduje się w pliku nagłówkowym netutils/libsocktls.h.Definicja typu
enum tlse_starttls_mode jest następująca:
enum tlse_starttls_mode {
tlse_starttls_server=1,
tlse_starttls_client=2
} tlse_starttls_mode; /* kind type of secure protocol: server or client */
#top enum tlse_proto_type¶
Definicja typu
enum tlse_proto_type znajduje się w pliku nagłówkowym netutils/libsocktls.h.Definicja typu
enum tlse_proto_type jest następująca:
enum tlse_proto_type {
tlse_proto_auto = 0,
tlse_proto_sslv3x = 2,
tlse_proto_tlsv10 = 3,
tlse_proto_tlsv11 = 4,
tlse_proto_tlsv12 = 5,
tlse_proto_tlsv13 = 6,
tlse_proto_dtlsv09= 7,
tlse_proto_dtlsv10= 8,
tlse_proto_dtlsv12= 10,
tlse_proto_NULL =255
} tlse_proto_type; /* type of secure protocol to use. */
#top in_addr_t¶
Definicja struktury
in_addr_t znajduje się w pliku nagłówkowym netinet/in.h.Definicja struktury
in_addr_t jest następująca:/* Internet address. */ typedef uint32_t in_addr_t;
#top in_port_t¶
Definicja struktury
in_port_t znajduje się w pliku nagłówkowym netinet/in.h.Definicja struktury
in_port_t jest następująca:/* Type to represent a port. */ typedef uint16_t in_port_t;
#top sa_family_t¶
Definicja typu
sa_family_t znajduje się w pliku nagłówkowym bits/sockaddr.h.Definicja typu
sa_family_t jest następująca:/* POSIX.1g specifies this type name for the `sa_family' member. */ typedef unsigned short int sa_family_t;
#top size_t¶
Definicja typu
size_t znajduje się w pliku nagłówkowym /usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h.Definicja typu
size_t jest następująca:/* Unsigned type of `sizeof' something. */ /* Define this type if we are doing the whole job, or if we want this type in particular. */ #if defined (_STDDEF_H) || defined (__need_size_t) #ifndef __size_t__ /* BeOS */ #ifndef __SIZE_T__ /* Cray Unicos/Mk */ #ifndef _SIZE_T /* in case <sys/types.h> has defined it. */ #ifndef _SYS_SIZE_T_H #ifndef _T_SIZE_ #ifndef _T_SIZE #ifndef __SIZE_T #ifndef _SIZE_T_ #ifndef _BSD_SIZE_T_ #ifndef _SIZE_T_DEFINED_ #ifndef _SIZE_T_DEFINED #ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */ #ifndef _SIZE_T_DECLARED /* FreeBSD 5 */ #ifndef ___int_size_t_h #ifndef _GCC_SIZE_T #ifndef _SIZET_ #ifndef __size_t #define __size_t__ /* BeOS */ #define __SIZE_T__ /* Cray Unicos/Mk */ #define _SIZE_T #define _SYS_SIZE_T_H #define _T_SIZE_ #define _T_SIZE #define __SIZE_T #define _SIZE_T_ #define _BSD_SIZE_T_ #define _SIZE_T_DEFINED_ #define _SIZE_T_DEFINED #define _BSD_SIZE_T_DEFINED_ /* Darwin */ #define _SIZE_T_DECLARED /* FreeBSD 5 */ #define ___int_size_t_h #define _GCC_SIZE_T #define _SIZET_ #if defined (__FreeBSD__) && (__FreeBSD__ >= 5) /* __size_t is a typedef on FreeBSD 5!, must not trash it. */ #else #define __size_t #endif #ifndef __SIZE_TYPE__ #define __SIZE_TYPE__ long unsigned int #endif #if !(defined (__GNUG__) && defined (size_t)) typedef __SIZE_TYPE__ size_t; #ifdef __BEOS__ typedef long ssize_t; #endif /* __BEOS__ */ #endif /* !(defined (__GNUG__) && defined (size_t)) */ #endif /* __size_t */ #endif /* _SIZET_ */ #endif /* _GCC_SIZE_T */ #endif /* ___int_size_t_h */ #endif /* _SIZE_T_DECLARED */ #endif /* _BSD_SIZE_T_DEFINED_ */ #endif /* _SIZE_T_DEFINED */ #endif /* _SIZE_T_DEFINED_ */ #endif /* _BSD_SIZE_T_ */ #endif /* _SIZE_T_ */ #endif /* __SIZE_T */ #endif /* _T_SIZE */ #endif /* _T_SIZE_ */ #endif /* _SYS_SIZE_T_H */ #endif /* _SIZE_T */ #endif /* __SIZE_T__ */ #endif /* __size_t__ */ #undef __need_size_t #endif /* _STDDEF_H or __need_size_t. */
#top SOCKET¶
Definicja typu
SOCKET znajduje się w pliku nagłówkowym libsocknet.h.Definicja typu
SOCKET jest następująca:#if defined(__WIN32__) || defined(WIN32) || defined(_WIN32) /*typedef u_int SOCKET;*/ /* C:/Dev-CPP/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winsock.h:32: error: conflicting types for 'SOCKET' ../../libinc/datatypes.h:33: error: previous declaration of 'SOCKET' was here */ #else typedef int SOCKET; #endif
#top socklen_t¶
Definicja typu
socklen_t znajduje się w pliku nagłówkowym bits/socket.h.Definicja typu
socklen_t jest następująca:/* Type for length arguments in socket calls. */ #ifndef __socklen_t_defined typedef __socklen_t socklen_t; # define __socklen_t_defined #endif
#top socktls_session_t¶
Definicja struktury
socktls_session_t znajduje się w pliku nagłówkowym libnet/libsocktls.h.Definicja struktury
socktls_session_t jest następująca:typedef void* socktls_session_t;
#top struct _http¶
Definicja struktury
struct _http znajduje się w pliku nagłówkowym libnet/libhttp.h.Definicja struktury
struct _http jest następująca:
struct _http {
const char *self;
short int argquiet;
short int argdebug;
short int isterm;
char *C_NORMAL;
char *C_SEND;
char *C_LINE;
char *C_OK;
char *C_WARN;
char *C_FAIL;
char *C_ERR;
short int argsocksend;
short int argsockrecv;
short int argsockinfo;
short int argcommsend;
short int argcommrecv;
short int argdatasend;
short int argdatarecv;
short int argtlsinfo;
short int argcertcheck;
short int argcertverify;
short int argcertinfo;
short int argcertshow;
struct URLInfo *urlsinfo, urlsdata;
double dnsqtimeo;
char *dnsqaddr;
char ipaddr[DMAXHOST6ADDR];
short int REUSEADDR;
short int REUSEPORT;
int SNDTIMEO;
int RCVTIMEO;
int SNDBUF;
int RCVBUF;
short int SNDLOWAT;
short int RCVLOWAT;
short int KEEPALIVE;
short int NODELAY;
char *bindaddr;
double timeoconn;
double timeosock;
char tlsname[DMAXHOSTNAME];
struct addrinfo *addrlist;
sa_family_t af_family;
SOCKET osock;
char *x509_cafile;
#ifdef HAVE_LIBTLS
enum tlse_proto_type opt_proto_type;
struct SOCKTLS_CTX_ST *ssl_ctx;
socktls_session_t ssl;
#endif
/** @name proxy */
short int proxytalk; /* proxyneed==1 - talking with proxy - not with the destination server */
struct URLInfo viaxdata, *viaxinfo;
short int proxytunnel;
short int proxysocks;
double dnsq;
double conn;
/*double bann;*/
/*double starttls;*/
double socktls;
/*double auth;*/
/*double quit;*/
double send;
double recv;
double wait;
int istatus;
char sstatus[256];
size_t speed;
long long int size;
/* size_t filesize; */ /* NOTE: use: contentlength */
size_t shsize; /* send body size */
size_t sbsize; /* send head size */
size_t rhsize; /* recv head size */
size_t rbsize; /* recv body size */
short int state;
short int argsendauth;
/** @name HTTP head request */
struct {
char method[16]; /* GET */ /* HEAD */ /* POST */ /* PUT */ /* DELETE */ /* OPTIONS */
char httpver[16]; /* HTTP/1.0 */ /*HTTP/1.1 */
char httphost[1025]; /* Host: example.org */
char httpua[256]; /* User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.18) Gecko/20110622 CentOS/3.6-1.el5.centos Firefox/3.6.18 */
char httpaccept[64]; /* Accept: text/html,application/xhtml+xml,application/xml;q=0.9,* / *;q=0.8 */
char httplang[32]; /* Accept-Language: pl,en-us;q=0.7,en;q=0.3 */
char httpcharset[32]; /* Accept-Charset: UTF-8,* */
char httpencoding[32]; /* Accept-Encoding: gzip,deflate */
char httpconttype[256]; /* Content-Type: application/x-www-form-urlencoded */ /* Content-Type: multipart/form-data; boundary=****** */
char httplength[16]; /* Content-Length: ***** */ /* char for allow set 0 and detect when it is set */
char referer[8192]; /* Referer: http://... */
char range[32]; /* Range: 0-999 */
char connhttp[32]; /* Connection: close */ /* Connection: keep-alive */
char connviax[32]; /* Proxy-Connection: close */ /* Proxy-Connection: keep-alive */
} S;
char headlist[4*1024]; /* Additional HTTP Headers */
int fdcont;
char boundary[64];
char *senddata; /* data for POST / PUT */
long long int sendsize;
/*char *sendfile;*/ /* file for POST / PUT */
char sendfile[4*1024]; /* file for POST / PUT */
/** @name HTTP head response */
struct {
char httpline[256]; /* HTTP/1.1 200 OK */ /* HTTP/1.1 301 Redirect */ /* HTTP/1.1 400 Bad Request */ /* HTTP/1.1 401 Authorization */ /* HTTP/1.1 403 Forbidden */ /* HTTP/1.1 404 Not Found */ /* HTTP/1.1 500 Internal Error */
short int httpcode; /* 200 301 400 401 403 404 500 */
char *httptext; /* OK */ /* Redirect */ /* Bad Request */ /* Authorization */ /* Forbidden */ /* Not Found */ /* Internal Error */
char httpauthrecv[512]; /* WWW-Authenticate: Basic | WWW-Authenticate: Digest ... | WWW-Authenticate: NTLM ... */
char httpauthsend[256]; /* Authorization: Basic | Authorization: Digest ... | Authorization: NTLM ... */
char viaxauthrecv[512]; /* Proxy-Authenticate: Basic | Proxy-Authenticate: Digest ... | Proxy-Authenticate: NTLM ... */
char viaxauthsend[256]; /* PRoxy-Authorization: Basic | PRoxy-Authorization: Digest ... | PRoxy-Authorization: NTLM ... */
time_t lastmodtime;
char lastmodified[48]; /* Last-Modified: Wed, 11 Nov 2015 20:47:08 GMT */
char contenttype[100]; /* Content-Type: text/plain; charset=UTF-8 */
char charset[32]; /* charset=UTF-8 - from Content-Type: */
char filename[1024]; /* Content-Disposition: inline; filename="filename-header-content-disposition.html" */
char contentencoding[64]; /* Content-Encoding: gzip */
/* contentlength is signed for enable to check if there is no Content-Length header */
long long int contentlength; /* Content-Length: 13 */
short int chunked; /* Transfer-Encoding: chunked */
char location[8192]; /* Location: http://... */
char httpconn[32]; /* Connection: close */ /* Connection: keep-alive */
char viaxconn[32]; /* Proxy-Connection: close */ /* Proxy-Connection: keep-alive */
/** @name response head version */
short int httpd_head, nginx_head, lighttpd_head, iis_head;
char version [ 256];
char httpverhdrs [ 64];
char httpserver [ 256];
char httppowerdby[ 256];
char httpvia [ 256];
} R;
};
#top struct addrinfo¶
Deklaracja struktury
struct addrinfo znajduje się w pliku nagłówkowym netdb.h.Deklaracja struktury
struct addrinfo jest następująca:
/* Structure to contain information about address of a service provider. */
struct addrinfo
{
int ai_flags; /* Input flags. */
int ai_family; /* Protocol family for socket. */
int ai_socktype; /* Socket type. */
int ai_protocol; /* Protocol for socket. */
socklen_t ai_addrlen; /* Length of socket address. */
struct sockaddr *ai_addr; /* Socket address for socket. */
char *ai_canonname; /* Canonical name for service location. */
struct addrinfo *ai_next; /* Pointer to next in list. */
};
#top struct in_addr¶
Deklaracja struktury
struct in_addr znajduje się w pliku nagłówkowym netinet/in.h.Deklaracja struktury
struct in_addr jest następująca:
/* Internet address. */
struct in_addr
{
in_addr_t s_addr;
};
#top struct in6_addr¶
Deklaracja struktury
struct in6_addr znajduje się w pliku nagłówkowym netinet/in.h.Deklaracja struktury
struct in6_addr jest następująca:
/* IPv6 address */
struct in6_addr
{
union
{
uint8_t u6_addr8[16];
uint16_t u6_addr16[8];
uint32_t u6_addr32[4];
} in6_u;
#define s6_addr in6_u.u6_addr8
#define s6_addr16 in6_u.u6_addr16
#define s6_addr32 in6_u.u6_addr32
};
#top struct sockaddr¶
Deklaracja struktury
struct sockaddr znajduje się w pliku nagłówkowym bits/socket.h.Deklaracja struktury
struct sockaddr jest następująca:
/* Structure describing a generic socket address. */
struct sockaddr
{
__SOCKADDR_COMMON (sa_); :* Common data: address family and length. */
char sa_data[14]; /* Address data. */
};
#top struct sockaddr_in¶
Deklaracja struktury
struct sockaddr_in znajduje się w pliku nagłówkowym netinet/in.h.Deklaracja struktury
struct sockaddr_in jest następująca:
/* Structure describing an Internet socket address. */
struct sockaddr_in
{
__SOCKADDR_COMMON (sin_);
in_port_t sin_port; /* Port number. */
struct in_addr sin_addr; /* Internet address. */
/* Pad to size of `struct sockaddr'. */
unsigned char sin_zero[sizeof (struct sockaddr) -
__SOCKADDR_COMMON_SIZE -
sizeof (in_port_t) -
sizeof (struct in_addr)];
};
#top struct sockaddr_in6¶
Deklaracja struktury
struct sockaddr_in6 znajduje się w pliku nagłówkowym netinet/in.h.Deklaracja struktury
struct sockaddr_in6 jest następująca:
/* Ditto, for IPv6. */
struct sockaddr_in6
{
__SOCKADDR_COMMON (sin6_);
in_port_t sin6_port; /* Transport layer port # */
uint32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
uint32_t sin6_scope_id; /* IPv6 scope-id */
};
#top struct sockaddr_un¶
Deklaracja struktury
struct sockaddr_un znajduje się w pliku nagłówkowym sys/un.h.Deklaracja struktury
struct sockaddr_un jest następująca:
/* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */
struct sockaddr_un
{
__SOCKADDR_COMMON (sun_);
char sun_path[108]; /* Path name. */
};
#top struct SOCKTLS_CTX_ST¶
Definicja struktury
struct SOCKTLS_CTX_ST znajduje się w pliku nagłówkowym libnet/libsocktls.h.Definicja struktury
struct SOCKTLS_CTX_ST jest następująca:typedef struct SOCKTLS_CTX_ST SOCKTLS_CTX;
#top struct tm¶
Definicja struktury
struct tm znajduje się w pliku nagłówkowym time.h.Definicja struktury
struct tm jest następująca:
/* Used by other time functions. */
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
#ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
__const char *tm_zone; /* Timezone abbreviation. */
#else
long int __tm_gmtoff; /* Seconds east of UTC. */
__const char *__tm_zone; /* Timezone abbreviation. */
#endif
};
#top struct URLInfo¶
Definicja struktury
struct URLInfo znajduje się w pliku nagłówkowym libnet/string.h.Definicja struktury
struct URLInfo jest następująca:
struct URLInfo {
/* 12 + 3 + 64 + 1 + 64 + 1 + DMAXHOSTNAME + 1 + DMAXHOSTPORT + 8192 */
/* scheme :// user : pass : host : port /path?query#anchor */
char buffurls[12+3+256+1+256+1+/*DMAXHOSTNAME*/1025+1+/*DMAXHOSTPORT*/6+8192];
char scheme[25];
char host[/*DMAXHOSTNAME*/1025];
char port[/*DMAXHOSTPORT*/6];
int iaport;
char user[256];
char pass[256];
char *path;
char *query;
char *anchor;
};
#top time_t¶
Definicja typu
time_t znajduje się w pliku nagłówkowym time.h.Definicja typu
time_t jest następująca:#if !defined __time_t_defined && (defined _TIME_H || defined __need_time_t) # define __time_t_defined 1 # include <bits/types.h> __BEGIN_NAMESPACE_STD /* Returned by `time'. *: typedef __time_t time_t; __END_NAMESPACE_STD #if defined __USE_POSIX || defined __USE_MISC || defined __USE_SVID __USING_NAMESPACE_STD(time_t) #endif #endif /* time_t not defined and <time.h> or need time_t. */
#top uint8_t¶
Definicja typu
uint8_t znajduje się w pliku nagłówkowym stdint.h.Definicja typu
uint8_t jest następująca:/* Unsigned. */ typedef unsigned char uint8_t;
#top uint16_t¶
Definicja typu
uint16_t znajduje się w pliku nagłówkowym stdint.h.Definicja typu
uint16_t jest następująca:/* Unsigned. */ typedef unsigned short int uint16_t;
#top uint32_t¶
Definicja typu
uint32_t znajduje się w pliku nagłówkowym stdint.h.Definicja typu
uint32_t jest następująca:/* Unsigned. */ #ifndef __uint32_t_defined typedef unsigned int uint32_t; # define __uint32_t_defined #endif
#top libhttp Functions¶
#top http_conn¶
Deklaracja funkcji
http_conn() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_conn() jest następująca:SELECT ALL
int http_conn(struct _http *http, const short int options);
Funkcja http_conn()
Argumenty:
struct _http *http -
const short int options - LIBHTTP_CONNSTEP1, LIBHTTP_CONNSTEP2,
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const short int options - LIBHTTP_CONNSTEP1, LIBHTTP_CONNSTEP2,
Zwracana wartość:
int -
#top http_close¶
Deklaracja funkcji
http_close() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_close() jest następująca:SELECT ALL
int htt_close(struct _http *http);
#top http_socktls¶
Deklaracja funkcji
http_socktls() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_socktls() jest następująca:SELECT ALL
int http_socktls(struct _http *http);
#top http_tlsinfo¶
Deklaracja funkcji
http_tlsinfo() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_tlsinfo() jest następująca:SELECT ALL
int http_tlsinfo(struct _http *http);
#top http_send¶
Deklaracja funkcji
http_send() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_send() jest następująca:SELECT ALL
int http_send(struct _http *http, const char *buffdata, const size_t buffsize);
Funkcja http_send()
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
#top http_recv¶
Deklaracja funkcji
http_recv() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_recv() jest następująca:SELECT ALL
int http_recv(struct _http *http, const char *buffdata, const size_t buffsize);
Funkcja http_recv()
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
#top http_onerecv¶
Deklaracja funkcji
http_onerecv() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_onerecv() jest następująca:SELECT ALL
int http_onerecv(struct _http *http, const char *buffdata, const size_t buffsize);
Funkcja http_onerecv()
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
#top http_linerecv¶
Deklaracja funkcji
http_linerecv() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_linerecv() jest następująca:SELECT ALL
int http_linerecv(struct _http *http, const char *buffdata, const size_t buffsize);
Funkcja http_linerecv()
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const char *buffdata -
const size_t buffsize -
Zwracana wartość:
int -
#top sock_chunksend¶
Deklaracja funkcji
sock_chunksend() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
sock_chunksend() jest następująca:SELECT ALL
/** * @name sock_chunksend() * @desc sock_chunksend() * @param const:SOCKET osock * @param const:char *buffdata * @param const:size_t buffsize * @param const:double timeosock * @return int chunksize */ int sock_chunksend(const SOCKET osock, const char *buffdata, const size_t buffsize, const double timeosock);
Powiązane:
sock_chunksend(), sock_chunkrecv(),
Opis:
Funkcja sock_chunksend() podobnie jak funkcja sock_send() do systemu zdalnego będącego drugą stroną połączenia dla deskryptora przekazanego w argumencie
osock wysyła (zapisuje) dane przekazane w argumencie buffdata (ilość danych do wysłania podana jest w argumencie buffsize) ograniczonego czasem trwania podanego w argumencie timeosock. W odróżnieniu od funkcji sock_send() dane wysyłane są zgodnie z formatem RFC2616 - 3.6.1 Chunked Transfer Coding. W przypadku gdy wszyskie przekazane dane zostały wysłane w czasie mniejszym niż podany to zwracana jest wartość dodatnia informująca o ilości wysłanych danych (będzie zgodna z ilością podaną w argumencie buffsize), w przeciwnym przypadku (lub również w przypadku przekroczenia podanego limitu czasu na wysyłanie danych, ale bez błedu podczas wysyłania) zwracany jest ujemny kod błędu informujący o przekroczeniu limitu czasu na wysyłanie danych lub informujący o innym błędzie, który wystąpił podczas wysyłania.Argumenty:
const SOCKET osock - deskryptor gniazda sieciowego
const char *buffdata - wskaźnik do bufora z danymi do wysłania
const size_t buffsize - ilość danych do wysłania
const double timeosock - limit czasu na wysyłanie danych
Zwracana wartość:
int - wynik (status) wysyłania danych (dodatnia wartość oznacza ilość wysłanych danych, ujemna wartość oznacza kod błedu informujący o przyczynie braku możliwości wysłania danych)
#top sock_chunkrecv¶
Deklaracja funkcji
sock_chunkrecv() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
sock_chunkrecv() jest następująca:SELECT ALL
/** * @name sock_chunkrecv() * @desc sock_chunkrecv() * @param const:SOCKET osock * @param char *buffdata * @param const:size_t buffsize * @param const:double timeosock * @return int chunksize */ int sock_chunkrecv(const SOCKET osock, char *buffdata, const size_t buffsize, const double timeosock);
Powiązane:
sock_chunksend(), sock_chunkrecv(),
Opis:
Funkcja sock_chunkrecv() podobnie jak funkcja sock_recv() od systemu zdalnego będącego drugą stroną połączenia dla deskryptora przekazanego w argumencie
W odróżnieniu od funkcji sock_recv() dane odbierane są zgodnie z formatem RFC2616 - 3.6.1 Chunked Transfer Coding. W przypadku gdy dane o dowolnej ilości lecz nie większej niż określonej w argumencie
osock odbierane (odczytywane) dane umieszcza w argumencie buffdata (ilość danych do odebrania podana jest w argumencie buffsize) ograniczonego czasem trwania podanego w argumencie timeosock.W odróżnieniu od funkcji sock_recv() dane odbierane są zgodnie z formatem RFC2616 - 3.6.1 Chunked Transfer Coding. W przypadku gdy dane o dowolnej ilości lecz nie większej niż określonej w argumencie
buffsize zostały odebrane w czasie mniejszym niż podany to zwracana jest wartość dodatnia informująca o ilości odebranych danych, w przeciwnym przypadku (lub również w przypadku przekroczenia podanego limitu czasu na odbieranie danych) zwracany jest ujemny kod błędu informujący o przekroczeniu limitu czasu na odbieranie danych lub informujący o innym błędzie, który wystąpił podczas odbierania.Argumenty:
const SOCKET osock - deskryptor gniazda sieciowego
char *buffdata - wskaźnik do bufora na dane do odebrania
const size_t buffsize - maksymalna silość danych do odebrania
const double timeosock - limit czasu na wysyłanie danych
Zwracana wartość:
int - wynik (status) odbierania danych (dodatnia wartość lub zero oznacza ilość odebranych danych, ujemna wartość oznacza kod błedu informujący o przyczynie braku możliwości odebrania danych)
#top http_init¶
Deklaracja funkcji
http_init() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_init() jest następująca:SELECT ALL
int http_init(struct _http *http);
#top http_head_add¶
Deklaracja funkcji
http_head_add() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_head_add() jest następująca:SELECT ALL
int http_head_add(struct _http *http, const char *name, const char *value);
Funkcja http_head_add()
Argumenty:
struct _http *http -
const char *name -
const char *value -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const char *name -
const char *value -
Zwracana wartość:
int -
#top http_setopt¶
Deklaracja funkcji
http_setopt() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_setopt() jest następująca:SELECT ALL
int http_setopt(struct _http *http, const enum HTTPoption option, const void *optval);
Funkcja http_setopt()
Argumenty:
struct _http *http -
const enum HTTPoption option -
const void *optval -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const enum HTTPoption option -
const void *optval -
Zwracana wartość:
int -
#top http_getopt¶
Deklaracja funkcji
http_getopt() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_getopt() jest następująca:SELECT ALL
int http_getopt(struct _http *http, const enum HTTPoption option, void *optval, const size_t optlen);
Funkcja http_getopt()
Argumenty:
struct _http *http -
const enum HTTPoption option -
void *optval -
size_t -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const enum HTTPoption option -
void *optval -
size_t -
Zwracana wartość:
int -
#top http_getiopt¶
Deklaracja funkcji
http_getiopt() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_getiopt() jest następująca:SELECT ALL
long long int http_getiopt(struct _http *http, const enum HTTPoption option, int *status);
Funkcja http_getiopt()
Argumenty:
struct _http *http -
const enum HTTPoption option -
int *status -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
const enum HTTPoption option -
int *status -
Zwracana wartość:
int -
#top http_make_requ_proxy¶
Deklaracja funkcji
http_make_requ_proxy() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_make_requ_proxy() jest następująca:SELECT ALL
int http_make_requ_proxy(struct _http *http);
#top http_make_requ_head¶
Deklaracja funkcji
http_make_requ_head() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_make_requ_head() jest następująca:SELECT ALL
int http_make_requ_head(struct _http *http);
#top http_resp_head¶
Deklaracja funkcji
http_resp_head() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_resp_head() jest następująca:SELECT ALL
int http_resp_head(struct _http *http, char *headrecv, const size_t headsize);
Funkcja http_resp_head()
Argumenty:
struct _http *http -
char *headrecv -
const size_t headsize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
char *headrecv -
const size_t headsize -
Zwracana wartość:
int -
#top http_resp_body¶
Deklaracja funkcji
http_resp_body() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_resp_body() jest następująca:SELECT ALL
int http_resp_body(struct _http *http, char *bodyrecv, const size_t bodysize);
Funkcja http_resp_body()
Argumenty:
struct _http *http -
char *bodyrecv -
const size_t bodysize -
Zwracana wartość:
int -
Argumenty:
struct _http *http -
char *bodyrecv -
const size_t bodysize -
Zwracana wartość:
int -
#top http_exec¶
Deklaracja funkcji
http_exec() znajduje się w pliku nagłówkowym libnet/libhttp.h.Deklaracja funkcji
http_exec() jest następująca:SELECT ALL
int http_exec(struct _http *http);
Zmodyfikowany ostatnio: 2019/07/04 10:33:15 (6 lat temu),
textsize: 39,4 kB,
htmlsize: 66,5 kB
Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników
