+typedef struct _http_sspi_s /**** SSPI/SSL data structure ****/
+{
+ CredHandle creds; /* Credentials */
+ CtxtHandle context; /* SSL context */
+ BOOL contextInitialized; /* Is context init'd? */
+ SecPkgContext_StreamSizes streamSizes;/* SSL data stream sizes */
+ BYTE *decryptBuffer; /* Data pre-decryption*/
+ size_t decryptBufferLength; /* Length of decrypt buffer */
+ size_t decryptBufferUsed; /* Bytes used in buffer */
+ BYTE *readBuffer; /* Data post-decryption */
+ int readBufferLength; /* Length of read buffer */
+ int readBufferUsed; /* Bytes used in buffer */
+ BYTE *writeBuffer; /* Data pre-encryption */
+ int writeBufferLength; /* Length of write buffer */
+ PCCERT_CONTEXT localCert, /* Local certificate */
+ remoteCert; /* Remote (peer's) certificate */
+ char error[256]; /* Most recent error message */
+} _http_sspi_t;
+typedef _http_sspi_t *http_tls_t;
+typedef PCCERT_CONTEXT http_tls_credentials_t;