include/alp/http.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright (c) 1999-2008 ACCESS CO., LTD. All rights reserved.
00003  * Copyright (c) 1999-2007 ACCESS CO., LTD. All rights reserved.
00004  * Copyright (c) 1999-2008 ACCESS CO., LTD. All rights reserved.
00005  *  Copyright (c) 2006 PalmSource, Inc (an ACCESS company). All rights reserved.
00006  *********************************************************************************/
00015 #ifndef ALP_HTTP_H_ 
00016 #define ALP_HTTP_H_
00017 
00018 #include <alp/http_const.h>     
00019 #include <alp/sysclass.h>       
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00037 #define ALP_HTTP_ERROR_DECLARE(sys_class_id, error_id) \
00038         ((alp_status_t)((alp_status_t)(sys_class_id) | (alp_status_t)(error_id) << 16)) 
00039 
00040 #define ALP_STATUS_HTTP_ERROR_OK                                ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x00)
00041 #define ALP_STATUS_HTTP_ERROR_GENERIC                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x01)
00042 #define ALP_STATUS_HTTP_ERROR_WOULDBLOCK                        ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x02)
00043 #define ALP_STATUS_HTTP_ERROR_IOSLEEP                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x03)
00044 #define ALP_STATUS_HTTP_ERROR_NO_MEMORY                         ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x04)
00045 #define ALP_STATUS_HTTP_ERROR_STRPIPE                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x05)
00046 #define ALP_STATUS_HTTP_ERROR_INVAL                             ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x06)
00047 #define ALP_STATUS_HTTP_ERROR_EOF                               ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x07)
00048 #define ALP_STATUS_HTTP_ERROR_NOT_SUPPORTED                     ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x08)
00049 #define ALP_STATUS_HTTP_ERROR_DNS_ERROR                         ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x09)
00050 #define ALP_STATUS_HTTP_ERROR_TCP_ERROR                         ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0A)
00051 #define ALP_STATUS_HTTP_ERROR_SSL_ERROR                         ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0B)
00052 #define ALP_STATUS_HTTP_ERROR_REQUEST_TIMEDOUT                  ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0C)
00053 #define ALP_STATUS_HTTP_ERROR_RESPONSE_TIMEDOUT                 ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0D)
00054 #define ALP_STATUS_HTTP_ERROR_OTHER_ERROR                       ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0E)
00055 
00056 #define ALP_STATUS_HTTP_CODE_CONTINUE                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x0F)
00057 #define ALP_STATUS_HTTP_CODE_SWITCHING_PROTOCOLS                ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x10)
00058 #define ALP_STATUS_HTTP_CODE_OK                                 ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x11)
00059 #define ALP_STATUS_HTTP_CODE_CREATED                            ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x12)
00060 #define ALP_STATUS_HTTP_CODE_ACCEPTED                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x13)
00061 #define ALP_STATUS_HTTP_CODE_NON_AUTHORITATIVE_INFORMATION      ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x14)
00062 #define ALP_STATUS_HTTP_CODE_NO_CONTENT                         ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x15)
00063 #define ALP_STATUS_HTTP_CODE_RESET_CONTENT                      ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x16)
00064 #define ALP_STATUS_HTTP_CODE_PARTIAL_CONTENT                    ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x17)
00065 #define ALP_STATUS_HTTP_CODE_MULTIPLE_CHOICES                   ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x18)
00066 #define ALP_STATUS_HTTP_CODE_MOVE_PERMANENTLY                   ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x19)
00067 #define ALP_STATUS_HTTP_CODE_FOUND                              ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1A)
00068 #define ALP_STATUS_HTTP_CODE_SEE_OTHER                          ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1B)
00069 #define ALP_STATUS_HTTP_CODE_NOT_MODIFIED                       ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1C)
00070 #define ALP_STATUS_HTTP_CODE_USE_PROXY                          ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1D)
00071 #define ALP_STATUS_HTTP_CODE_TEMPORARY_REDIRECT                 ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1E)
00072 #define ALP_STATUS_HTTP_CODE_BAD_REQUEST                        ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x1F)
00073 #define ALP_STATUS_HTTP_CODE_UNAUTHORIZED                       ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x20)
00074 #define ALP_STATUS_HTTP_CODE_PAYMENT_REQUIRED                   ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x21)
00075 #define ALP_STATUS_HTTP_CODE_FORBIDDEN                          ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x22)
00076 #define ALP_STATUS_HTTP_CODE_NOT_FOUND                          ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x23)
00077 #define ALP_STATUS_HTTP_CODE_METHOD_NOT_ALLOWED                 ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x24)
00078 #define ALP_STATUS_HTTP_CODE_NOT_ACCEPTABLE                     ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x25)
00079 #define ALP_STATUS_HTTP_CODE_PROXY_AUTHENTICATION_REQUIRED      ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x26)
00080 #define ALP_STATUS_HTTP_CODE_REQUEST_TIMEOUT                    ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x27)
00081 #define ALP_STATUS_HTTP_CODE_CONFLICT                           ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x28)
00082 #define ALP_STATUS_HTTP_CODE_GONE                               ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x29)
00083 #define ALP_STATUS_HTTP_CODE_LENTH_REQUIRED                     ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2A)
00084 #define ALP_STATUS_HTTP_CODE_PRECONDITION_FAILED                ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2B)
00085 #define ALP_STATUS_HTTP_CODE_REQUEST_ENTITY_TOOLARGE            ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2C)
00086 #define ALP_STATUS_HTTP_CODE_REQUEST_URI_TOOLARGE               ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2D)
00087 #define ALP_STATUS_HTTP_CODE_UNSUPPORTED_MEDIATYPE              ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2E)
00088 #define ALP_STATUS_HTTP_CODE_REQUESTED_RANGE_NOT_SATISFIABLE    ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x2F)
00089 #define ALP_STATUS_HTTP_CODE_EXPECTATION_FAILED                 ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x30)
00090 #define ALP_STATUS_HTTP_CODE_INTERNAL_SERVER_ERROR              ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x31)
00091 #define ALP_STATUS_HTTP_CODE_NOT_IMPLEMENTED                    ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x32)
00092 #define ALP_STATUS_HTTP_CODE_BAD_GATEWAY                        ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x33)
00093 #define ALP_STATUS_HTTP_CODE_SERVICE_UNAVAILABLE                ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x34)
00094 #define ALP_STATUS_HTTP_CODE_GATEWAY_TIMEOUT                    ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x35)
00095 #define ALP_STATUS_HTTP_CODE_HTTPVERSION_NOT_SUPPORTED          ALP_HTTP_ERROR_DECLARE(ALP_CLASS_HTTP, 0x36)
00096 
00097 
00098 /*
00099  * Data Types
00100  */
00101     
00102 typedef void* AlpHttpClassHandle;
00103 typedef void* AlpHttpStreamHandle;
00104 typedef void* AlpHttpSSLClassHandle;
00105 typedef void* AlpHttpCertList;
00106 typedef void* AlpHttpClientCertList;
00107 typedef void* AlpHttpCertPtr;
00108 typedef void* AlpHttpCookies;
00109 typedef void* AlpHttpSSL;
00110 typedef void* AlpHttpString;
00111 typedef void* AlpHttpFixedStr;
00112 typedef void* AlpHttpURLStr;
00113 typedef void* AlpHttpOpaque;
00114 typedef void* AlpHttpDataHandle;
00115 typedef void* AlpHttpVHandle;
00116 
00117 
00118 typedef struct _AlpHttpAuthInfo AlpHttpAuthInfo;
00119 typedef AlpHttpAuthInfo* AlpHttpAuthInfoHandle;
00120 struct _AlpHttpAuthInfo{
00121         AlpHttpString fUser;
00122         AlpHttpString fPass;
00123         AlpHttpString fRealm;
00124         AlpHttpString fChallenge;
00125         AlpHttpString fNextNonce;
00126         int fNC;
00127 };
00128 
00129 typedef struct _AlpHttpStrSplit AlpHttpStrSplit;
00130 struct _AlpHttpStrSplit{
00131         char *s;
00132         int len;
00133 };
00134 
00135 typedef struct _AlpHttpIPAddr AlpHttpIPAddr;
00138 struct _AlpHttpIPAddr {
00139         int fType;               
00140         unsigned char fAddr[16]; 
00141 };
00142 
00143 typedef struct _AlpHttpDate AlpHttpDate;
00144 struct _AlpHttpDate{
00145         int fYear;
00146         int fMonth;
00147         int fDay;
00148         int fHour;
00149         int fMinute;
00150         int fSecond;
00151 };
00152 
00155 
00156 
00157 typedef int (*alp_http_cookie_confirmproc)(AlpHttpCookies in_cookies,AlpHttpURLStr in_url, char* in_header, int in_header_len, AlpHttpOpaque in_aux);
00159 
00160 typedef int (*alp_http_server_certconfirmproc)(AlpHttpSSL in_ssl, int in_verify_result, AlpHttpCertList in_list, AlpHttpOpaque in_aux);
00162 typedef int (*alp_http_client_certconfirmproc)(AlpHttpSSL in_ssl, AlpHttpClientCertList in_list, AlpHttpOpaque in_aux);
00164 typedef int (*alp_http_class_notifystateproc)(AlpHttpStreamHandle streamH, AlpHttpURLStr in_url, int in_state, AlpHttpOpaque in_aux);
00166 
00183 int alp_http_open_lib(void);
00184 
00189 void alp_http_close_lib(void);
00190 
00209 AlpHttpClassHandle alp_http_new_streamclass(void);
00210 
00215 void alp_http_delete_streamclass(AlpHttpClassHandle classH);
00217 
00218 
00231 void alp_http_class_make_proxy(AlpHttpClassHandle classH, AlpHttpFixedStr            *out_proxy_host, int *out_proxy_http_port, int *out_proxy_https_port, AlpHttpString  *out_no_proxy_hosts);
00232 
00270 int  alp_http_class_set_proxy(AlpHttpClassHandle classH,char *in_proxy_host, int in_proxy_host_len, int in_proxy_http_port, int in_proxy_https_port, char* in_no_proxy_hosts, int in_no_proxy_hosts_len);
00271 
00277 void alp_http_class_set_useproxy(AlpHttpClassHandle classH, int in_bool);
00278 
00287 int alp_http_class_open_connection(AlpHttpClassHandle classH, char * in_profile_name);
00288 
00295 void alp_http_class_set_http11overproxy(AlpHttpClassHandle classH, int in_bool);
00296 
00303 int  alp_http_class_is_useproxy(AlpHttpClassHandle classH);
00304 
00312 int  alp_http_class_is_http11overproxy(AlpHttpClassHandle classH);
00318 void alp_http_class_set_httpport(AlpHttpClassHandle classH, int in_port);
00319 
00325 void alp_http_class_set_httpsport(AlpHttpClassHandle classH, int in_port);
00326 
00336 void alp_http_class_set_maxrequestheader(AlpHttpClassHandle classH, int in_size);
00337 
00344 void alp_http_class_set_maxrequestbody(AlpHttpClassHandle classH, int in_size);
00345 
00355 int  alp_http_class_set_useragent(AlpHttpClassHandle classH, char* in_user_agent, int in_user_agent_len);
00356 
00374 int  alp_http_class_set_defaultheaders(AlpHttpClassHandle classH,char* in_default_headers,int in_default_headers_len);
00375 
00382 void alp_http_class_set_connecttimeout(AlpHttpClassHandle classH, int in_msec);
00383 
00390 void alp_http_class_set_reqtimeout(AlpHttpClassHandle classH, int in_msec);
00391 
00398 void alp_http_class_set_rsptimeout(AlpHttpClassHandle classH, int in_msec);
00399 
00407 void alp_http_class_set_maxkeepalivetimeout(AlpHttpClassHandle classH, int in_max);
00408 
00415 void alp_http_class_set_max100continue(AlpHttpClassHandle classH, int in_max);
00416 
00421 void alp_http_class_close_allkeepalive(AlpHttpClassHandle classH);
00422 
00428 int  alp_http_class_keepalivetimeout(AlpHttpClassHandle classH);
00429 
00437 void alp_http_class_set_maxtcpstreams(AlpHttpClassHandle classH, int in_max_streams);
00438 
00464 AlpHttpStreamHandle  alp_http_class_new(AlpHttpClassHandle classH);
00465 
00487 void alp_http_class_set_notifystateproc(AlpHttpClassHandle classH,alp_http_class_notifystateproc in_proc, AlpHttpOpaque in_opaque);
00488 
00494 void alp_http_class_clear_sslsessioncache(AlpHttpClassHandle classH);
00495 
00500 AlpHttpSSLClassHandle alp_http_class_sslclass(AlpHttpClassHandle classH);
00501 
00508 void alp_http_class_set_sslverifylocation(AlpHttpClassHandle classH,char* in_ca_file,char* in_ca_path);
00509 
00523 void alp_http_class_set_sslversionflag(AlpHttpClassHandle classH, int in_flag, int in_on);
00524 
00531 void alp_http_class_set_sslservercertconfirm_proc(AlpHttpClassHandle classH, alp_http_server_certconfirmproc in_cb, AlpHttpOpaque in_opaque);
00532 
00540 void alp_http_class_ssl_servercertconfirm(AlpHttpSSL sslH, int in_verify_result, int in_confirm);
00541 
00548 void alp_http_class_set_sslclientcertselect_proc(AlpHttpClassHandle classH, alp_http_client_certconfirmproc in_cb, AlpHttpOpaque in_opaque);
00549 
00555 void alp_http_class_ssl_clientcertselect(AlpHttpSSL sslH, int in_index);
00556 
00594 int  alp_http_class_set_userpass(AlpHttpClassHandle classH, int in_type, int in_target, AlpHttpStrSplit *in_challenge_ss, AlpHttpStrSplit *in_realm_ss,char* in_user, int in_user_len, char* in_pass,int in_pass_len, char* in_url,int in_url_len,char* in_host,int in_host_len,int in_port);
00595 
00613 int  alp_http_class_make_authinfo(AlpHttpClassHandle classH, int in_target,char* in_url,int in_url_len,char* in_proxy_host,int in_proxy_host_len,int in_proxy_port, AlpHttpStrSplit *in_realm_ss, AlpHttpAuthInfoHandle authInfoH);
00614 
00619 void alp_http_class_clear_authcache(AlpHttpClassHandle classH);
00620 
00625 void alp_http_class_clear_dnscache(AlpHttpClassHandle classH);
00626 
00632 void alp_http_class_set_dnsport(AlpHttpClassHandle classH, int in_port);
00633 
00654 void alp_http_class_set_dnsserver(AlpHttpClassHandle classH, AlpHttpIPAddr *in_prim_svr, AlpHttpIPAddr *in_sec_svr);
00655 
00664 int  alp_http_class_set_dnsmode(AlpHttpClassHandle classH, int in_mode);
00665 
00671 void alp_http_class_set_dnsmaxretry(AlpHttpClassHandle classH, int in_retry);
00672 
00678 void alp_http_class_set_dnsretryinterval(AlpHttpClassHandle classH, int in_interval);
00679 
00685 void alp_http_class_select_cnc_channel(AlpHttpClassHandle classH, int in_channel_id);
00686 
00698 void alp_http_class_set_cookiemode(AlpHttpClassHandle classH, int in_cookie_mode, alp_http_cookie_confirmproc in_cb, AlpHttpOpaque in_cookie_aux);
00699 
00710 int alp_http_class_add_cookie(AlpHttpClassHandle classH, AlpHttpURLStr in_url, char *in_str, int in_len);
00711 
00719 void alp_http_class_set_cookiemax(AlpHttpClassHandle classH, int in_max_total_cookies, int in_max_cookies_per_domain, int in_max_len_per_cookie);
00720 
00729 AlpHttpString alp_http_class_make_cookiesstring(AlpHttpClassHandle classH, char *in_url, int in_url_len,int in_secure, int *out_len);
00730 
00739 int alp_http_class_load_cookies(AlpHttpClassHandle classH, char *in_s, int in_slen);
00740 
00746 AlpHttpString alp_http_class_save_cookies(AlpHttpClassHandle classH, int* out_len); 
00747 
00752 void alp_http_class_empty_cookies(AlpHttpClassHandle classH);
00754 
00755 
00756 
00759 
00812 int alp_http_stream_create_request(AlpHttpStreamHandle streamH, int in_method,char* in_url, int in_url_len, char* in_header,int in_header_len, char* in_referer, int in_referer_len, int in_version, int in_no_cache, int in_pipeline,int in_ssl_flag);
00813 
00828 int alp_http_stream_set_postdata(AlpHttpStreamHandle streamH, int in_encoding, char *in_data, int in_len);
00829 
00847 int alp_http_stream_add_headerline(AlpHttpStreamHandle streamH, char *in_str, int in_len);
00848 
00860 int alp_http_stream_add_header(AlpHttpStreamHandle streamH, int in_type, char *in_str, int in_len);
00861 
00899 int alp_http_stream_send_request(AlpHttpStreamHandle streamH, int *out_sleep);
00900 
00956 int alp_http_stream_send_requestwithpostdata(AlpHttpStreamHandle streamH,char *in_buf, int in_len, 
00957 int *out_len, int *out_sleep);
00958 
01013 int alp_http_stream_receive_response(AlpHttpStreamHandle streamH, char* out_buf, int in_len, int *out_len, int *out_sleep);
01014 
01022 int alp_http_stream_get_scheme(AlpHttpStreamHandle streamH);
01023 
01051 int alp_http_stream_get_state(AlpHttpStreamHandle streamH);
01052 
01059 int alp_http_stream_is_headerreceived(AlpHttpStreamHandle streamH);
01060 
01105 int alp_http_stream_get_statuscode(AlpHttpStreamHandle streamH);
01106 
01113 int alp_http_stream_get_responseheaderlength(AlpHttpStreamHandle streamH);
01114 
01121 AlpHttpVHandle alp_http_stream_get_responseheader(AlpHttpStreamHandle streamH);
01122 
01131 int alp_http_stream_get_contentlength(AlpHttpStreamHandle streamH);
01132 
01139 int alp_http_stream_get_entitylength(AlpHttpStreamHandle streamH);
01140 
01151 int alp_http_stream_get_header(AlpHttpStreamHandle streamH, int in_type, int *out_ofs, int 
01152 *out_len);
01153 
01161 AlpHttpCertList alp_http_stream_make_certlist(AlpHttpStreamHandle streamH);
01162 
01167 void alp_http_stream_close(AlpHttpStreamHandle streamH);
01168 
01174 void alp_http_stream_delete(AlpHttpStreamHandle streamH);
01175 
01180 void alp_http_stream_suspend_timer(AlpHttpStreamHandle streamH);
01181 
01186 void alp_http_stream_resume_timer(AlpHttpStreamHandle streamH);
01188 
01194 AlpHttpCertPtr alp_http_cert_new(void);
01195 
01200 void alp_http_cert_delete(AlpHttpCertPtr in_cert);
01201 
01230 int alp_http_cert_peek_version(AlpHttpCertPtr in_cert);
01231 
01237 int alp_http_cert_peek_serialnumber(AlpHttpCertPtr in_cert, char **out_str);
01238 
01245 int alp_http_cert_peek_signalgo(AlpHttpCertPtr in_cert, char *out_buf, int in_len);
01246 
01253 int alp_http_cert_peek_validitystart(AlpHttpCertPtr in_cert, AlpHttpDate *out_time);
01254 
01261 int alp_http_cert_peek_validityend(AlpHttpCertPtr in_cert, AlpHttpDate *out_time);
01262 
01267 int alp_http_cert_peek_rsapublickeybits(AlpHttpCertPtr in_cert);
01268 
01286 int alp_http_cert_peek_subject_rdn(AlpHttpCertPtr in_cert,int in_attr,char *out_str, int in_len);
01287 
01305 int alp_http_cert_peek_issuer_rdn(AlpHttpCertPtr in_cert,int in_attr,char *out_str, int in_len);
01306 
01315 AlpHttpCertList alp_http_certlist_new(int in_type);
01316 
01321 void alp_http_certlist_delete(AlpHttpCertList self);
01322 
01327 AlpHttpCertList alp_http_certlist_clone(AlpHttpCertList self);
01328 
01333 void* alp_http_certlist_lock(AlpHttpCertList self);
01334 
01339 void alp_http_certlist_unlock(AlpHttpCertList self);
01340 
01348 int  alp_http_certlist_type(AlpHttpCertList self);
01349 
01355 int  alp_http_certlist_length(AlpHttpCertList self);
01356 
01364 int  alp_http_certlist_remove(AlpHttpCertList self, int in_index);
01365 
01375 int  alp_http_certlist_begindecode(AlpHttpCertList self, int in_index, AlpHttpCertPtr *out_cert);
01376 
01382 void alp_http_certlist_enddecode(AlpHttpCertList self, AlpHttpCertPtr in_cert);
01383 
01397 int  alp_http_certlist_importcert(AlpHttpCertList self, void *in_info, int in_over_write);
01398 
01405 AlpHttpClientCertList alp_http_clientcertlist_clone(AlpHttpClientCertList in_list);
01406 
01411 void alp_http_clientcertlist_delete(AlpHttpClientCertList in_list);
01412 
01418 int alp_http_clientcertlist_length(AlpHttpClientCertList in_list);
01419 
01425 int alp_http_clientcertlist_verificationresults(AlpHttpClientCertList in_list, int in_index);
01426 
01434 void   alp_http_authinfo_tidy(AlpHttpAuthInfoHandle self, int in_new);  
01435 
01440 AlpHttpString  alp_http_authinfo_user(AlpHttpAuthInfoHandle self);  
01441 
01446 AlpHttpString  alp_http_authinfo_pass(AlpHttpAuthInfoHandle self); 
01447 
01452 AlpHttpString  alp_http_authinfo_realm(AlpHttpAuthInfoHandle self);
01453 
01458 int   alp_http_vhandle_length(AlpHttpVHandle in_vhandle);
01459 
01464 void* alp_http_vhandle_lock(AlpHttpVHandle in_vhandle);
01465 
01470 void  alp_http_vhandle_unlock(AlpHttpVHandle in_vhandle);
01471 
01476 void  alp_http_vhandle_delete(AlpHttpVHandle in_vhandle);
01477 
01482 int  alp_http_string_length(AlpHttpString in_str);
01483 
01489 AlpHttpString alp_http_string_new(char *in_str, int in_len);
01490 
01495 void * alp_http_string_lock(AlpHttpString in_str);
01496 
01501 void alp_http_string_unlock(AlpHttpString in_str);
01502 
01507 void alp_http_string_delete(AlpHttpString in_str);
01508 
01513 int alp_http_fixedstr_length(AlpHttpFixedStr in_str);
01514 
01520 AlpHttpFixedStr alp_http_fixedstr_new(char *in_str, int in_len);
01521 
01526 void * alp_http_fixedstr_lock(AlpHttpFixedStr in_str);
01527 
01532 void alp_http_fixedstr_unlock(AlpHttpFixedStr in_str);
01533 
01538 void alp_http_fixedstr_delete(AlpHttpFixedStr in_str);
01539 
01544 int  alp_http_urlstr_length(AlpHttpURLStr in_str);
01545 
01551 AlpHttpURLStr alp_http_urlstr_new(char *in_str, int in_len);
01552 
01557 void * alp_http_urlstr_lock(AlpHttpURLStr in_str);
01558 
01563 void alp_http_urlstr_unlock(AlpHttpURLStr in_str);
01564 
01569 void alp_http_urlstr_delete(AlpHttpURLStr in_str);
01570 
01577 int alp_http_util_read_netaddr(char* in_s, int in_len,AlpHttpIPAddr *out_addr);
01578 
01583 alp_status_t alp_http_get_alp_status_code_from_http_status_code(int in_code);
01584 
01586 
01589 #ifdef __cplusplus
01590 } //extern "C"
01591 #endif
01592 
01593 #endif /* ALP_HTTP_H_  */
01594 

Generated on Wed Jul 30 07:06:39 2008 by Doxygen 1.4.6 for ALP SDK + Hiker Documentation

Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.