Sintassi
typedef EH_WEB {
BOOL bAllocated; // La struttura è allocata (da liberare)
CHAR szReq[10]; // Tipo di richiesta GET/POST/HEAD
S_WEB_ERR sError; // Ritorna il codice di errore
CHAR * pszError;
SINT iSocketErr; // Errore durante l'uso dei socket // Es WSAENETDOWN 10054
BYTE * pData; // Dati letti senza intestazione
BYTE * pPageHeader; // Intestazione
SINT iDataSize; // Dimensione dei dati, in caso di content-lenght (ex iContentSize)
SINT iDataReaded; // Dimensione dei dati letti effettiva
CHAR * lpUri; // Indirizzo URI indicato originale
CHAR * lpWebServer; // Nome del server (Trasmissione)
CHAR * lpWebPage; // Nome del server (Trasmissione)
CHAR * lpUser; // Nome dell'user
CHAR * lpPass; // Password
CHAR * lpContentType; // se NULL = application/x-www-form-urlencoded
CHAR * lpSendOtherHeader; // Altri parametri in header da spedire Es. SOAPAction: "" CRLF
CHAR * lpUserAgent; // Se non dichiarato = default
CHAR * lpPostArgs; // In alternativa si indicare qui i dati da inviare in modalità post.
BOOL bCommToLog; // Scrive le comuinicazione ne log di EasyHand
// New 2007
// MULTIPART
BOOL fMultiPartData; // T/F se spedisco in multipart (solo in modalità POST)
EH_WEB_MP ** arMP;
VOID * (*funcNotify)(struct _EH_WEBS *psWeb,EN_MESSAGE,LONG,void *); // Sotto procedura dedicata al Paint
void * pVoid; // Dati aggiuntivi da inviare alla funzione
BOOL fNoHttpErrorControl; // T/F se disabilitare il controllo HTTP degli errori del server
// Uso interno ----------------
CHAR * lpThreadRequest;
CHAR * lpThreadURI;
BOOL bHttps; // T/F se Https
SOCKET iSocket; // Id del socket > richiesto con socket()
WSADATA wsaData;
struct sockaddr_in sPeer; // Socket per la comunicazione in SMTP Ex .aWebServer
SINT iPeerLen;
_DMI * pdmiCookie; // new 2008
#ifdef WITH_OPENSSL
BIO *bio;
SSL *ssl;
SSL_CTX *ctx;
short require_server_auth;
short require_client_auth;
short rsa; // when set, use RSA instead of DH
const CHAR *keyfile;
const CHAR *password;
const CHAR *dhfile;
const CHAR *cafile;
const CHAR *capath;
const CHAR *crlfile;
const CHAR *randfile;
SSL_SESSION *session;
CHAR session_host[300];
int session_port;
#endif
CHAR szHost[256];
int port;
int imode; // Input Mode
int omode; // Output Mode
int connect_flags; // Da vedere
int iTimeoutSec;
const char * proxy_host; // Proxy Server host name
int proxy_port; // Proxy Server port (default = 8080)
const char * proxy_userid; // Proxy Authorization user name
const char * proxy_passwd; // Proxy Authorization password
char msgbuf[1024];
int keep_alive;
DWORD dwTimeConnect; // new 2009 : tempo di caricamento
DWORD dwTimeLoad; // new 2009 : tempo di caricamento
CHAR * pszSocketBuffer;
// x thread
BOOL fRun; // T/F se il thread sta girando
HANDLE hThread;
DWORD dwThread;
// Tempo impiegato
time_t tStart;
double dElapsedTime;
}
EN_SOCK_ERR è diventato EN_HTTP_ERR