📄 htlib.c
字号:
/*** GENEREAL LIBRARY INFORMATION**** (c) COPYRIGHT MIT 1995.** Please first read the full copyright statement in the file COPYRIGH.** @(#) $Id: HTLib.c,v 2.17 1999/06/22 22:40:48 frystyk Exp $**** Authors** HFN Henrik Frystyk Nielsen, frystyk@w3.org*/#if !defined(HT_DIRECT_WAIS) && !defined(HT_DEFAULT_WAIS_GATEWAY)#define HT_DEFAULT_WAIS_GATEWAY "http://www.w3.org:8001/"#endif/* Library include files */#include "WWWUtil.h"#include "HTAnchor.h"#include "HTProt.h"#include "HTDNS.h"#include "HTUTree.h"#include "HTLib.h" /* Implemented here */#ifndef W3C_VERSION#define W3C_VERSION "unknown"#endif#ifndef HT_DEFAULT_USER#define HT_DEFAULT_USER "LIBWWW_GENERIC_USER"#endifPRIVATE char * HTAppName = NULL; /* Application name: please supply */PRIVATE char * HTAppVersion = NULL; /* Application version: please supply */PRIVATE char * HTLibName = "libwww";PRIVATE char * HTLibVersion = W3C_VERSION;PRIVATE BOOL HTSecure = NO; /* Can we access local file system? */PRIVATE BOOL initialized = NO;PRIVATE HTUserProfile * UserProfile = NULL; /* Default user profile *//* --------------------------------------------------------------------------*//* Information about the Application** ---------------------------------*/PUBLIC const char * HTLib_appName (void){ return HTAppName ? HTAppName : "UNKNOWN";}PUBLIC BOOL HTLib_setAppName (const char * name){ if (name) { char * ptr; StrAllocCopy(HTAppName, name); ptr = HTAppName; while (*ptr) { if (isspace((int) *ptr)) *ptr = '_'; ptr++; } return YES; } return NO;}PUBLIC const char * HTLib_appVersion (void){ return HTAppVersion ? HTAppVersion : "0.0";}PUBLIC BOOL HTLib_setAppVersion (const char * version){ if (version) { char * ptr; StrAllocCopy(HTAppVersion, version); ptr = HTAppVersion; while (*ptr) { if (isspace((int) *ptr)) *ptr = '_'; ptr++; } return YES; } return NO;}/* Information about libwww** ------------------------*/PUBLIC const char * HTLib_name (void){ return HTLibName ? HTLibName : "UNKNOWN";}PUBLIC const char * HTLib_version (void){ return HTLibVersion ? HTLibVersion : "0.0";}/* Default User Profile** --------------------*/PUBLIC HTUserProfile * HTLib_userProfile (void){ return UserProfile;}PUBLIC BOOL HTLib_setUserProfile (HTUserProfile * up){ if (up) { UserProfile = up; return YES; } return NO;}/* Access Local File System** ------------------------** In this mode we do not tough the local file system at all*/PUBLIC BOOL HTLib_secure (void){ return HTSecure;}PUBLIC void HTLib_setSecure (BOOL mode){ HTSecure = mode;}/* Have application initalized** ---------------------------*/PUBLIC BOOL HTLib_isInitialized (void){ return initialized;}/* HTLibInit**** This function initiates the Library and it MUST be called when** starting up an application. See also HTLibTerminate()*/PUBLIC BOOL HTLibInit (const char * AppName, const char * AppVersion){ HTTRACE(CORE_TRACE, "WWWLibInit.. INITIALIZING LIBRARY OF COMMON CODE\n"); /* Set the application name and version */ HTLib_setAppName(AppName); HTLib_setAppVersion(AppVersion); /* Initialize the timezone */#ifdef HAVE_TZSET tzset();#endif /* Create a default user profile and initialize it */ UserProfile = HTUserProfile_new(HT_DEFAULT_USER, NULL); HTUserProfile_localize(UserProfile);#ifdef WWWLIB_SIG /* On Solaris (and others?) we get a BROKEN PIPE signal when connecting ** to a port where we should get `connection refused'. We ignore this ** using the following function call */ HTSetSignal(); /* Set signals in library */#endif initialized = YES; return YES;}/* HTLibTerminate** --------------** This function HT_FREEs memory kept by the Library and should be called** before exit of an application (if you are on a PC platform)*/PUBLIC BOOL HTLibTerminate (void){ HTTRACE(CORE_TRACE, "WWWLibTerm.. Cleaning up LIBRARY OF COMMON CODE\n"); HTNet_killAll(); HTHost_deleteAll(); /* Delete remaining hosts */ HTChannel_deleteAll(); /* Delete remaining channels */ HT_FREE(HTAppName); /* Freed thanks to Wade Ogden <wade@ebt.com> */ HT_FREE(HTAppVersion); HTAtom_deleteAll(); /* Remove the atoms */ HTDNS_deleteAll(); /* Remove the DNS host cache */ HTAnchor_deleteAll(NULL); /* Delete anchors and drop hyperdocs */ HTProtocol_deleteAll(); /* Remove bindings between access and protocols */ HTUserProfile_delete(UserProfile); /* Free our default User profile */ HTUTree_deleteAll(); /* Delete all URL Trees */ initialized = NO; return YES;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -