00001 /* 00002 File: InternetConfig.h 00003 00004 Contains: Internet Config interfaces 00005 00006 Version: Technology: based on IC 2.5 alpha 00007 Release: Universal Interfaces 3.4 00008 00009 Copyright: © 1999-2001 by Apple Computer, Inc., all rights reserved. 00010 00011 Bugs?: For bug reports, consult the following page on 00012 the World Wide Web: 00013 00014 http://developer.apple.com/bugreporter/ 00015 00016 */ 00017 /* 00018 IMPORTANT NOTES ABOUT THE C HEADERS 00019 ----------------------------------- 00020 00021 o When you see the parameter 'y *x', you should be aware that 00022 you *cannot pass in nil*. In future this restriction may be eased, 00023 especially for the attr parameter to ICGetPref. Parameters where nil 00024 is legal are declared using the explicit pointer type, ie 'yPtr x'. 00025 00026 o Strings are *Pascal* strings. This means that they must be word aligned. 00027 MPW and Think C do this automatically. The last time I checked, Metrowerks 00028 C does not. If it still doesn't, then IMHO it's a bug in their compiler 00029 and you should report it to them. [IC 1.4 and later no longer require 00030 word aligned strings. You can ignore this warning if you require IC 1.4 00031 or greater.] 00032 */ 00033 /***********************************************************************************************/ 00034 00035 #ifndef __INTERNETCONFIG__ 00036 #define __INTERNETCONFIG__ 00037 00038 #ifndef __ALIASES__ 00039 #include <Aliases.h> 00040 #endif 00041 00042 #ifndef __COMPONENTS__ 00043 #include <Components.h> 00044 #endif 00045 00046 #ifndef __AEDATAMODEL__ 00047 #include <AEDataModel.h> 00048 #endif 00049 00050 00051 00052 00053 #if PRAGMA_ONCE 00054 #pragma once 00055 #endif 00056 00057 #ifdef __cplusplus 00058 extern "C" { 00059 #endif 00060 00061 #if PRAGMA_IMPORT 00062 #pragma import on 00063 #endif 00064 00065 #if PRAGMA_STRUCT_ALIGN 00066 #pragma options align=mac68k 00067 #elif PRAGMA_STRUCT_PACKPUSH 00068 #pragma pack(push, 2) 00069 #elif PRAGMA_STRUCT_PACK 00070 #pragma pack(2) 00071 #endif 00072 00073 /************************************************************************************************ 00074 IC error codes 00075 ************************************************************************************************/ 00076 00077 enum { 00078 icPrefNotFoundErr = -666, /* preference not found (duh!) */ 00079 icPermErr = -667, /* cannot set preference */ 00080 icPrefDataErr = -668, /* problem with preference data */ 00081 icInternalErr = -669, /* hmm, this is not good */ 00082 icTruncatedErr = -670, /* more data was present than was returned */ 00083 icNoMoreWritersErr = -671, /* you cannot begin a write session because someone else is already doing it */ 00084 icNothingToOverrideErr = -672, /* no component for the override component to capture */ 00085 icNoURLErr = -673, /* no URL found */ 00086 icConfigNotFoundErr = -674, /* no configuration was found */ 00087 icConfigInappropriateErr = -675, /* incorrect manufacturer code */ 00088 icProfileNotFoundErr = -676, /* profile not found */ 00089 icTooManyProfilesErr = -677 /* too many profiles in database */ 00090 }; 00091 00092 /************************************************************************************************ 00093 IC versions (not necessarily, but historically, from a component) 00094 ************************************************************************************************/ 00095 00096 enum { 00097 kICComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */ 00098 kICComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */ 00099 kICComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */ 00100 kICComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */ 00101 kICComponentInterfaceVersion4 = 0x00040000, /* IC >= 2.5 */ 00102 kICComponentInterfaceVersion = kICComponentInterfaceVersion4 /* current version number is 4 */ 00103 }; 00104 00105 /************************************************************************************************ 00106 opaque type for preference reference 00107 ************************************************************************************************/ 00108 00109 typedef struct OpaqueICInstance* ICInstance; 00110 00111 /************************************************************************************************ 00112 a record that specifies a folder, an array of such records, and a pointer to such an array 00113 ************************************************************************************************/ 00114 struct ICDirSpec { 00115 short vRefNum; 00116 long dirID; 00117 }; 00118 typedef struct ICDirSpec ICDirSpec; 00119 typedef ICDirSpec ICDirSpecArray[4]; 00120 typedef ICDirSpecArray * ICDirSpecArrayPtr; 00121 00122 /************************************************************************************************ 00123 preference attributes type, bit number constants, and mask constants 00124 ************************************************************************************************/ 00125 typedef UInt32 ICAttr; 00126 00127 enum { 00128 kICAttrLockedBit = 0, 00129 kICAttrVolatileBit = 1 00130 }; 00131 00132 enum { 00133 kICAttrNoChange = (unsigned long)0xFFFFFFFF, /* pass this to ICSetPref to tell it not to change the attributes */ 00134 kICAttrLockedMask = 0x00000001, 00135 kICAttrVolatileMask = 0x00000002 00136 }; 00137 00138 /************************************************************************************************ 00139 permissions for use with ICBegin 00140 ************************************************************************************************/ 00141 00142 typedef UInt8 ICPerm; 00143 00144 enum { 00145 icNoPerm = 0, 00146 icReadOnlyPerm = 1, 00147 icReadWritePerm = 2 00148 }; 00149 00150 /************************************************************************************************ 00151 a reference to an instance's current configuration 00152 ************************************************************************************************/ 00153 00154 #if CALL_NOT_IN_CARBON 00155 struct ICConfigRef { 00156 OSType manufacturer; 00157 /* other private data follows */ 00158 }; 00159 typedef struct ICConfigRef ICConfigRef; 00160 typedef ICConfigRef * ICConfigRefPtr; 00161 typedef ICConfigRefPtr * ICConfigRefHandle; 00162 00163 #endif /* CALL_NOT_IN_CARBON */ 00164 00165 /************************************************************************************************ 00166 profile IDs 00167 ************************************************************************************************/ 00168 typedef long ICProfileID; 00169 typedef ICProfileID * ICProfileIDPtr; 00170 00171 enum { 00172 kICNilProfileID = 0 00173 }; 00174 00175 /************************************************************************************************ 00176 other constants 00177 ************************************************************************************************/ 00178 00179 enum { 00180 kICNoUserInteractionBit = 0 00181 }; 00182 00183 enum { 00184 kICNoUserInteractionMask = 0x00000001 00185 }; 00186 00187 enum { 00188 kICFileType = FOUR_CHAR_CODE('ICAp'), 00189 kICCreator = FOUR_CHAR_CODE('ICAp') 00190 }; 00191 00192 /************************************************************************************************ 00193 Apple event constants 00194 ************************************************************************************************/ 00195 00196 enum { 00197 kInternetEventClass = FOUR_CHAR_CODE('GURL'), 00198 kAEGetURL = FOUR_CHAR_CODE('GURL'), 00199 kAEFetchURL = FOUR_CHAR_CODE('FURL'), 00200 keyAEAttaching = FOUR_CHAR_CODE('Atch') 00201 }; 00202 00203 /* AERegistry.i defines a compatible keyAEDestination */ 00204 00205 enum { 00206 kICEditPreferenceEventClass = FOUR_CHAR_CODE('ICAp'), 00207 kICEditPreferenceEvent = FOUR_CHAR_CODE('ICAp'), 00208 keyICEditPreferenceDestination = FOUR_CHAR_CODE('dest') 00209 }; 00210 00211 /************************************************************************************************ 00212 constants for use with ICGetVersion 00213 ************************************************************************************************/ 00214 00215 enum { 00216 kICComponentVersion = 0, /* Return a component version, comparable to kICComponentInterfaceVersion */ 00217 kICNumVersion = 1 /* Return a NumVersion structure */ 00218 }; 00219 00220 /************************************************************************************************ 00221 types and constants for use with kICDocumentFont, et. al. 00222 ************************************************************************************************/ 00223 struct ICFontRecord { 00224 short size; 00225 Style face; 00226 char pad; 00227 Str255 font; 00228 }; 00229 typedef struct ICFontRecord ICFontRecord; 00230 typedef ICFontRecord * ICFontRecordPtr; 00231 typedef ICFontRecordPtr * ICFontRecordHandle; 00232 00233 /************************************************************************************************ 00234 types and constants for use with kICCharacterSet, et. al. 00235 ************************************************************************************************/ 00236 struct ICCharTable { 00237 unsigned char netToMac[256]; 00238 unsigned char macToNet[256]; 00239 }; 00240 typedef struct ICCharTable ICCharTable; 00241 typedef ICCharTable * ICCharTablePtr; 00242 typedef ICCharTablePtr * ICCharTableHandle; 00243 00244 /************************************************************************************************ 00245 types and constants for use with kICHelper, et. al. 00246 ************************************************************************************************/ 00247 struct ICAppSpec { 00248 OSType fCreator; 00249 Str63 name; 00250 }; 00251 typedef struct ICAppSpec ICAppSpec; 00252 typedef ICAppSpec * ICAppSpecPtr; 00253 typedef ICAppSpecPtr * ICAppSpecHandle; 00254 struct ICAppSpecList { 00255 short numberOfItems; 00256 ICAppSpec appSpecs[1]; 00257 }; 00258 typedef struct ICAppSpecList ICAppSpecList; 00259 typedef ICAppSpecList * ICAppSpecListPtr; 00260 typedef ICAppSpecListPtr * ICAppSpecListHandle; 00261 00262 /************************************************************************************************ 00263 types and constants for use with kICDownloadFolder, et. al. 00264 ************************************************************************************************/ 00265 00266 #if !OLDROUTINENAMES 00267 struct ICFileSpec { 00268 Str31 volName; 00269 long volCreationDate; 00270 FSSpec fss; 00271 AliasRecord alias; 00272 /* plus extra data, aliasSize 0 means no alias manager present when*/ 00273 /* ICFileSpecification was created*/ 00274 }; 00275 typedef struct ICFileSpec ICFileSpec; 00276 typedef ICFileSpec * ICFileSpecPtr; 00277 typedef ICFileSpecPtr * ICFileSpecHandle; 00278 #else 00279 struct ICFileSpec { 00280 Str31 vol_name; 00281 long vol_creation_date; 00282 FSSpec fss; 00283 AliasRecord alias; 00284 }; 00285 typedef struct ICFileSpec ICFileSpec; 00286 typedef ICFileSpec * ICFileSpecPtr; 00287 typedef ICFileSpecPtr * ICFileSpecHandle; 00288 #endif /* !OLDROUTINENAMES */ 00289 00290 enum { 00291 kICFileSpecHeaderSize = sizeof(ICFileSpec) - sizeof(AliasRecord) 00292 }; 00293 00294 /************************************************************************************************ 00295 types and constants for use with ICMapFilename, et. al. 00296 ************************************************************************************************/ 00297 typedef long ICMapEntryFlags; 00298 typedef short ICFixedLength; 00299 00300 #if !OLDROUTINENAMES 00301 struct ICMapEntry { 00302 short totalLength; 00303 ICFixedLength fixedLength; 00304 short version; 00305 OSType fileType; 00306 OSType fileCreator; 00307 OSType postCreator; 00308 ICMapEntryFlags flags; 00309 /* variable part starts here*/ 00310 Str255 extension; 00311 Str255 creatorAppName; 00312 Str255 postAppName; 00313 Str255 MIMEType; 00314 Str255 entryName; 00315 }; 00316 typedef struct ICMapEntry ICMapEntry; 00317 typedef ICMapEntry * ICMapEntryPtr; 00318 typedef ICMapEntryPtr * ICMapEntryHandle; 00319 00320 #else 00321 struct ICMapEntry { 00322 short total_length; 00323 ICFixedLength fixed_length; 00324 short version; 00325 OSType file_type; 00326 OSType file_creator; 00327 OSType post_creator; 00328 ICMapEntryFlags flags; 00329 Str255 extension; 00330 Str255 creator_app_name; 00331 Str255 post_app_name; 00332 Str255 MIME_type; 00333 Str255 entry_name; 00334 }; 00335 typedef struct ICMapEntry ICMapEntry; 00336 typedef ICMapEntry * ICMapEntryPtr; 00337 typedef ICMapEntryPtr * ICMapEntryHandle; 00338 #endif /* !OLDROUTINENAMES */ 00339 00340 enum { 00341 kICMapFixedLength = 22 /* number in fixedLength field*/ 00342 }; 00343 00344 enum { 00345 kICMapBinaryBit = 0, /* file should be transfered in binary as opposed to text mode*/ 00346 kICMapResourceForkBit = 1, /* the resource fork of the file is significant*/ 00347 kICMapDataForkBit = 2, /* the data fork of the file is significant*/ 00348 kICMapPostBit = 3, /* post process using post fields*/ 00349 kICMapNotIncomingBit = 4, /* ignore this mapping for incoming files*/ 00350 kICMapNotOutgoingBit = 5 /* ignore this mapping for outgoing files*/ 00351 }; 00352 00353 enum { 00354 kICMapBinaryMask = 0x00000001, /* file should be transfered in binary as opposed to text mode*/ 00355 kICMapResourceForkMask = 0x00000002, /* the resource fork of the file is significant*/ 00356 kICMapDataForkMask = 0x00000004, /* the data fork of the file is significant*/ 00357 kICMapPostMask = 0x00000008, /* post process using post fields*/ 00358 kICMapNotIncomingMask = 0x00000010, /* ignore this mapping for incoming files*/ 00359 kICMapNotOutgoingMask = 0x00000020 /* ignore this mapping for outgoing files*/ 00360 }; 00361 00362 /************************************************************************************************ 00363 types and constants for use with kICServices, et. al. 00364 ************************************************************************************************/ 00365 typedef short ICServiceEntryFlags; 00366 struct ICServiceEntry { 00367 Str255 name; 00368 short port; 00369 ICServiceEntryFlags flags; 00370 }; 00371 typedef struct ICServiceEntry ICServiceEntry; 00372 typedef ICServiceEntry * ICServiceEntryPtr; 00373 typedef ICServiceEntryPtr * ICServiceEntryHandle; 00374 00375 enum { 00376 kICServicesTCPBit = 0, 00377 kICServicesUDPBit = 1 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/ 00378 }; 00379 00380 enum { 00381 kICServicesTCPMask = 0x00000001, 00382 kICServicesUDPMask = 0x00000002 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/ 00383 }; 00384 00385 struct ICServices { 00386 short count; 00387 ICServiceEntry services[1]; 00388 }; 00389 typedef struct ICServices ICServices; 00390 typedef ICServices * ICServicesPtr; 00391 typedef ICServicesPtr * ICServicesHandle; 00392 00393 /************************************************************************************************ 00394 default file name, for internal use, overridden by a component resource 00395 ************************************************************************************************/ 00396 00397 #if CALL_NOT_IN_CARBON 00398 #define kICDefaultFileName "\pInternet Preferences" 00399 #endif /* CALL_NOT_IN_CARBON */ 00400 00401 /************************************************************************************************ 00402 keys 00403 ************************************************************************************************/ 00404 /* 00405 key reserved for use by Internet Config 00406 */ 00407 #define kICReservedKey "\pkICReservedKey" 00408 /* 00409 STR# -- formatted, list of Archie servers 00410 */ 00411 #define kICArchieAll "\pArchieAll" 00412 /* 00413 PString -- formatted, preferred Archie server 00414 */ 00415 #define kICArchiePreferred "\pArchiePreferred" 00416 /* 00417 ICCharTable -- Mac-to-Net and Net-to-Mac character translation 00418 */ 00419 #define kICCharacterSet "\pCharacterSet" 00420 /* 00421 ICFontRecord -- font used for proportional text 00422 */ 00423 #define kICDocumentFont "\pDocumentFont" 00424 /* 00425 ICFileSpec -- where to put newly downloaded files 00426 */ 00427 #define kICDownloadFolder "\pDownloadFolder" 00428 /* 00429 PString -- user@host.domain, email address of user, ie return address 00430 */ 00431 #define kICEmail "\pEmail" 00432 /* 00433 PString -- host.domain, default FTP server 00434 */ 00435 #define kICFTPHost "\pFTPHost" 00436 /* 00437 PString -- second level FTP proxy authorisation 00438 */ 00439 #define kICFTPProxyAccount "\pFTPProxyAccount" 00440 /* 00441 PString -- host.domain 00442 */ 00443 #define kICFTPProxyHost "\pFTPProxyHost" 00444 /* 00445 PString -- scrambled, password for FTPProxyUser 00446 */ 00447 #define kICFTPProxyPassword "\pFTPProxyPassword" 00448 /* 00449 PString -- first level FTP proxy authorisation 00450 */ 00451 #define kICFTPProxyUser "\pFTPProxyUser" 00452 /* 00453 PString -- host.domain, default finger server 00454 */ 00455 #define kICFingerHost "\pFingerHost" 00456 /* 00457 PString -- host.domain, default Gopher server 00458 */ 00459 #define kICGopherHost "\pGopherHost" 00460 /* 00461 PString -- host.domain, see note in Prog Docs 00462 */ 00463 #define kICGopherProxy "\pGopherProxy" 00464 /* 00465 PString -- host.domain 00466 */ 00467 #define kICHTTPProxyHost "\pHTTPProxyHost" 00468 /* 00469 ICAppSpec -- helpers for URL schemes 00470 */ 00471 #define kICHelper "\pHelper„" 00472 /* 00473 PString -- description for URL scheme 00474 */ 00475 #define kICHelperDesc "\pHelperDesc„" 00476 /* 00477 ICAppSpecList -- list of common helpers for URL schemes 00478 */ 00479 #define kICHelperList "\pHelperList„" 00480 /* 00481 PString -- host.domain, Internet Relay Chat server 00482 */ 00483 #define kICIRCHost "\pIRCHost" 00484 /* 00485 STR# -- formatted, list of Info-Mac servers 00486 */ 00487 #define kICInfoMacAll "\pInfoMacAll" 00488 /* 00489 PString -- formatted, preferred Info-Mac server 00490 */ 00491 #define kICInfoMacPreferred "\pInfoMacPreferred" 00492 /* 00493 PString -- string LDAP thing 00494 */ 00495 #define kICLDAPSearchbase "\pLDAPSearchbase" 00496 /* 00497 PString -- host.domain 00498 */ 00499 #define kICLDAPServer "\pLDAPServer" 00500 /* 00501 ICFontRecord -- font used for lists of items (eg news article lists) 00502 */ 00503 #define kICListFont "\pListFont" 00504 /* 00505 PString -- host for MacSearch queries 00506 */ 00507 #define kICMacSearchHost "\pMacSearchHost" 00508 /* 00509 PString -- user@host.domain, account from which to fetch mail 00510 */ 00511 #define kICMailAccount "\pMailAccount" 00512 /* 00513 TEXT -- extra headers for mail messages 00514 */ 00515 #define kICMailHeaders "\pMailHeaders" 00516 /* 00517 PString -- scrambled, password for MailAccount 00518 */ 00519 #define kICMailPassword "\pMailPassword" 00520 /* 00521 ICMapEntries -- file type mapping, see documentation 00522 */ 00523 #define kICMapping "\pMapping" 00524 /* 00525 PString -- host.domain, NNTP server 00526 */ 00527 #define kICNNTPHost "\pNNTPHost" 00528 /* 00529 PString -- host.domain, Network Time Protocol (NTP) 00530 */ 00531 #define kICNTPHost "\pNTPHost" 00532 /* 00533 Boolean 00534 */ 00535 #define kICNewMailDialog "\pNewMailDialog" 00536 /* 00537 Boolean -- how to announce new mail 00538 */ 00539 #define kICNewMailFlashIcon "\pNewMailFlashIcon" 00540 /* 00541 Boolean 00542 */ 00543 #define kICNewMailPlaySound "\pNewMailPlaySound" 00544 /* 00545 PString 00546 */ 00547 #define kICNewMailSoundName "\pNewMailSoundName" 00548 /* 00549 PString -- scrambled, password for NewsAuthUsername 00550 */ 00551 #define kICNewsAuthPassword "\pNewsAuthPassword" 00552 /* 00553 PString -- user name for authorised news servers 00554 */ 00555 #define kICNewsAuthUsername "\pNewsAuthUsername" 00556 /* 00557 TEXT -- extra headers for news messages 00558 */ 00559 #define kICNewsHeaders "\pNewsHeaders" 00560 /* 00561 STR# -- list of domains not to be proxied 00562 */ 00563 #define kICNoProxyDomains "\pNoProxyDomains" 00564 /* 00565 PString -- for X-Organization string 00566 */ 00567 #define kICOrganization "\pOrganization" 00568 /* 00569 PString -- host.domain, default Ph server 00570 */ 00571 #define kICPhHost "\pPhHost" 00572 /* 00573 TEXT -- default response for finger servers 00574 */ 00575 #define kICPlan "\pPlan" 00576 /* 00577 ICFontRecord -- font used to print ScreenFont 00578 */ 00579 #define kICPrinterFont "\pPrinterFont" 00580 /* 00581 PString -- used to quote responses in news and mail 00582 */ 00583 #define kICQuotingString "\pQuotingString" 00584 /* 00585 PString -- real name of user 00586 */ 00587 #define kICRealName "\pRealName" 00588 /* 00589 PString -- RTSP Proxy Host 00590 */ 00591 #define kICRTSPProxyHost "\pRTSPProxyHost" 00592 /* 00593 PString -- host.domain, SMTP server 00594 */ 00595 #define kICSMTPHost "\pSMTPHost" 00596 /* 00597 ICFontRecord -- font used for monospaced text (eg news articles) 00598 */ 00599 #define kICScreenFont "\pScreenFont" 00600 /* 00601 ICServices -- TCP and IP port-to-name mapping 00602 */ 00603 #define kICServices "\pServices" 00604 /* 00605 TEXT -- append to news and mail messages 00606 */ 00607 #define kICSignature "\pSignature" 00608 /* 00609 TEXT -- preferred mailing address 00610 */ 00611 #define kICSnailMailAddress "\pSnailMailAddress" 00612 /* 00613 PString -- host.domain, remember that host.domain format allows ":port" and " port" 00614 */ 00615 #define kICSocksHost "\pSocksHost" 00616 /* 00617 PString -- host.domain, default Telnet address 00618 */ 00619 #define kICTelnetHost "\pTelnetHost" 00620 /* 00621 STR# -- formatted, list of UMich servers 00622 */ 00623 #define kICUMichAll "\pUMichAll" 00624 /* 00625 PString -- formatted, preferred UMich server 00626 */ 00627 #define kICUMichPreferred "\pUMichPreferred" 00628 /* 00629 Boolean 00630 */ 00631 #define kICUseFTPProxy "\pUseFTPProxy" 00632 /* 00633 Boolean 00634 */ 00635 #define kICUseGopherProxy "\pUseGopherProxy" 00636 /* 00637 Boolean 00638 */ 00639 #define kICUseHTTPProxy "\pUseHTTPProxy" 00640 /* 00641 Boolean -- use PASV command for FTP transfers 00642 */ 00643 #define kICUsePassiveFTP "\pUsePassiveFTP" 00644 /* 00645 Boolean 00646 */ 00647 #define kICUseRTSPProxy "\pUseRTSPProxy" 00648 /* 00649 Boolean 00650 */ 00651 #define kICUseSocks "\pUseSocks" 00652 /* 00653 PString -- no idea 00654 */ 00655 #define kICWAISGateway "\pWAISGateway" 00656 /* 00657 PString -- URL, users default WWW page 00658 */ 00659 #define kICWWWHomePage "\pWWWHomePage" 00660 /* 00661 RGBColor -- background colour for web pages 00662 */ 00663 #define kICWebBackgroundColour "\pWebBackgroundColour" 00664 /* 00665 RGBColor -- colour for read links 00666 */ 00667 #define kICWebReadColor "\p646F6777„WebReadColor" 00668 /* 00669 PString -- URL, users default search page 00670 */ 00671 #define kICWebSearchPagePrefs "\pWebSearchPagePrefs" 00672 /* 00673 RGBColor -- colour for normal text 00674 */ 00675 #define kICWebTextColor "\pWebTextColor" 00676 /* 00677 Boolean -- whether to underline links 00678 */ 00679 #define kICWebUnderlineLinks "\p646F6777„WebUnderlineLinks" 00680 /* 00681 RGBColor -- colour for unread links 00682 */ 00683 #define kICWebUnreadColor "\p646F6777„WebUnreadColor" 00684 /* 00685 PString -- host.domain, default whois server 00686 */ 00687 #define kICWhoisHost "\pWhoisHost" 00688 00689 /************************************************************************************************ 00690 00691 FUNCTIONS 00692 00693 What do the annotations after each API mean? 00694 -------------------------------------------- 00695 00696 [r1] Requires IC 1.1 or higher. 00697 [r2] Requires IC 1.2 or higher. 00698 [r3] Requires IC 2.0 or higher. 00699 [r4] Requires IC 2.5 or higher. 00700 00701 IMPORTANT: 00702 00703 In IC 2.5, instances automatically use the default configuration. 00704 You no longer need to configure an instance explicitly, except 00705 if your code might run with an older version of IC. So the following 00706 notes only apply to IC 2.0 and earlier. 00707 00708 [c1] You must have specified a configuration before calling this routine. 00709 00710 [c2] You must have specified the default configuration before calling this 00711 routine. 00712 00713 [c3] You do not need to specify a configuration before calling this routine. 00714 00715 [b1] You must be inside a Begin/End pair when calling this routine. 00716 00717 [b2] You must be inside a Begin/End read/write pair when calling this routine. 00718 00719 [b3] You do not need to be inside a Begin/End pair when calling this routine. 00720 00721 [b4] If you are getting or setting multiple preferences, you should make this 00722 call inside a Begin/End pair. If you do not make this call inside a Begin/End 00723 pair, the call will automatically do it for you. 00724 00725 [b5] It is illegal to call this routine inside a Begin/End pair. 00726 00727 ************************************************************************************************/ 00728 00729 /* ***** Starting Up and Shutting Down ***** */ 00730 /* 00731 * ICStart() 00732 * 00733 * Availability: 00734 * Non-Carbon CFM: in InternetConfig 2.5 and later 00735 * CarbonLib: in CarbonLib 1.0.2 and later 00736 * Mac OS X: in version 10.0 or later 00737 */ 00738 EXTERN_API( OSStatus ) 00739 ICStart( 00740 ICInstance * inst, 00741 OSType signature); 00742 00743 00744 /* Call this at application initialisation. Set signature to a value 00745 * which has been regsitered with DTS to allow for future expansion 00746 * of the IC system. Returns inst as a connection to the IC system. 00747 */ 00748 /* 00749 * ICStop() 00750 * 00751 * Availability: 00752 * Non-Carbon CFM: in InternetConfig 2.5 and later 00753 * CarbonLib: in CarbonLib 1.0.2 and later 00754 * Mac OS X: in version 10.0 or later 00755 */ 00756 EXTERN_API( OSStatus ) 00757 ICStop(ICInstance inst); 00758 00759 00760 /* [b5] 00761 * Call this at application initialisation, after which inst 00762 * is no longer valid connection to IC. 00763 */ 00764 /* 00765 * ICGetVersion() 00766 * 00767 * Availability: 00768 * Non-Carbon CFM: in InternetConfig 2.5 and later 00769 * CarbonLib: in CarbonLib 1.0.2 and later 00770 * Mac OS X: in version 10.0 or later 00771 */ 00772 EXTERN_API( OSStatus ) 00773 ICGetVersion( 00774 ICInstance inst, 00775 long whichVersion, 00776 UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A); 00777 00778 00779 /* [r4] [c3] [b3] 00780 * Returns the version of Internet Config. Pass kICComponentVersion 00781 * to get the version as previously returned by GetComponenVerson. 00782 * Pass kICNumVersion to get a NumVersion structure. 00783 */ 00784 /* ***** Specifying a Configuration ***** */ 00785 #if CALL_NOT_IN_CARBON 00786 /* 00787 * ICFindConfigFile() 00788 * 00789 * Availability: 00790 * Non-Carbon CFM: in InternetConfig 2.5 and later 00791 * CarbonLib: not available 00792 * Mac OS X: not available 00793 */ 00794 EXTERN_API( OSStatus ) 00795 ICFindConfigFile( 00796 ICInstance inst, 00797 short count, 00798 ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A); 00799 00800 00801 /* [b5] 00802 * Call to configure this connection to IC. 00803 * Set count as the number of valid elements in folders. 00804 * Set folders to a pointer to the folders to search. 00805 * Setting count to 0 and folders to nil is OK. 00806 * Searches the specified folders and then the Preferences folder 00807 * in a unspecified manner. 00808 */ 00809 /* 00810 * ICFindUserConfigFile() 00811 * 00812 * Availability: 00813 * Non-Carbon CFM: in InternetConfig 2.5 and later 00814 * CarbonLib: not available 00815 * Mac OS X: not available 00816 */ 00817 EXTERN_API( OSStatus ) 00818 ICFindUserConfigFile( 00819 ICInstance inst, 00820 ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A); 00821 00822 00823 /* [r1] [b5] 00824 * Similar to ICFindConfigFile except that it only searches the folder 00825 * specified in where. If the input parameters are valid the routine 00826 * will always successful configure the instance, creating an 00827 * empty configuration if necessary 00828 * For use with double-clickable preference files. 00829 */ 00830 /* 00831 * ICGeneralFindConfigFile() 00832 * 00833 * Availability: 00834 * Non-Carbon CFM: in InternetConfig 2.5 and later 00835 * CarbonLib: not available 00836 * Mac OS X: not available 00837 */ 00838 EXTERN_API( OSStatus ) 00839 ICGeneralFindConfigFile( 00840 ICInstance inst, 00841 Boolean searchPrefs, 00842 Boolean canCreate, 00843 short count, 00844 ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A); 00845 00846 00847 /* [r2] [b5] 00848 * Call to configure this connection to IC. 00849 * This routine acts as a more general replacement for 00850 * ICFindConfigFile and ICFindUserConfigFile. 00851 * Set search_prefs to true if you want it to search the preferences folder. 00852 * Set can_create to true if you want it to be able to create a new config. 00853 * Set count as the number of valid elements in folders. 00854 * Set folders to a pointer to the folders to search. 00855 * Setting count to 0 and folders to nil is OK. 00856 * Searches the specified folders and then optionally the Preferences folder 00857 * in a unspecified manner. 00858 */ 00859 /* 00860 * ICChooseConfig() 00861 * 00862 * Availability: 00863 * Non-Carbon CFM: in InternetConfig 2.5 and later 00864 * CarbonLib: not available 00865 * Mac OS X: not available 00866 */ 00867 EXTERN_API( OSStatus ) 00868 ICChooseConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A); 00869 00870 00871 /* [r2] [b5] 00872 * Requests the user to choose a configuration, typically using some 00873 * sort of modal dialog. If the user cancels the dialog the configuration 00874 * state will be unaffected. 00875 */ 00876 /* 00877 * ICChooseNewConfig() 00878 * 00879 * Availability: 00880 * Non-Carbon CFM: in InternetConfig 2.5 and later 00881 * CarbonLib: not available 00882 * Mac OS X: not available 00883 */ 00884 EXTERN_API( OSStatus ) 00885 ICChooseNewConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A); 00886 00887 00888 /* [r2] [b5] 00889 * Requests the user to create a new configuration, typically using some 00890 * sort of modal dialog. If the user cancels the dialog the configuration 00891 * state will be unaffected. 00892 */ 00893 #endif /* CALL_NOT_IN_CARBON */ 00894 00895 /* 00896 * ICGetConfigName() 00897 * 00898 * Availability: 00899 * Non-Carbon CFM: in InternetConfig 2.5 and later 00900 * CarbonLib: in CarbonLib 1.0.2 and later 00901 * Mac OS X: in version 10.0 or later 00902 */ 00903 EXTERN_API( OSStatus ) 00904 ICGetConfigName( 00905 ICInstance inst, 00906 Boolean longname, 00907 Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A); 00908 00909 00910 /* [r2] [c1] [b3] 00911 * Returns a string that describes the current configuration at a user 00912 * level. Set longname to true if you want a long name, up to 255 00913 * characters, or false if you want a short name, typically about 32 00914 * characters. 00915 * The returned string is for user display only. If you rely on the 00916 * exact format of it, you will conflict with any future IC 00917 * implementation that doesn't use explicit preference files. 00918 */ 00919 #if CALL_NOT_IN_CARBON 00920 /* 00921 * ICGetConfigReference() 00922 * 00923 * Availability: 00924 * Non-Carbon CFM: in InternetConfig 2.5 and later 00925 * CarbonLib: not available 00926 * Mac OS X: not available 00927 */ 00928 EXTERN_API( OSStatus ) 00929 ICGetConfigReference( 00930 ICInstance inst, 00931 ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A); 00932 00933 00934 /* [r2] [c1] [b3] 00935 * Returns a self-contained reference to the instance's current 00936 * configuration. 00937 * ref must be a valid non-nil handle and it will be resized to fit the 00938 * resulting data. 00939 */ 00940 /* 00941 * ICSetConfigReference() 00942 * 00943 * Availability: 00944 * Non-Carbon CFM: in InternetConfig 2.5 and later 00945 * CarbonLib: not available 00946 * Mac OS X: not available 00947 */ 00948 EXTERN_API( OSStatus ) 00949 ICSetConfigReference( 00950 ICInstance inst, 00951 ICConfigRefHandle ref, 00952 long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A); 00953 00954 00955 /* [r2] [b5] 00956 * Reconfigures the instance using a configuration reference that was 00957 * got using ICGetConfigReference reference. Set the 00958 * icNoUserInteraction_bit in flags if you require that this routine 00959 * not present a modal dialog. Other flag bits are reserved and should 00960 * be set to zero. 00961 * ref must not be nil. 00962 */ 00963 /* ***** Private Routines ***** 00964 * 00965 * If you are calling these routines, you are most probably doing something 00966 * wrong. Please read the documentation for more details. 00967 */ 00968 /* 00969 * ICSpecifyConfigFile() 00970 * 00971 * Availability: 00972 * Non-Carbon CFM: in InternetConfig 2.5 and later 00973 * CarbonLib: not available 00974 * Mac OS X: not available 00975 */ 00976 EXTERN_API( OSStatus ) 00977 ICSpecifyConfigFile( 00978 ICInstance inst, 00979 FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A); 00980 00981 00982 /* [b5] 00983 * For use only by the IC application. 00984 * If you call this routine yourself, you will conflict with any 00985 * future IC implementation that doesn't use explicit preference files. 00986 */ 00987 /* 00988 * ICRefreshCaches() 00989 * 00990 * Availability: 00991 * Non-Carbon CFM: in InternetConfig 2.5 and later 00992 * CarbonLib: not available 00993 * Mac OS X: not available 00994 */ 00995 EXTERN_API( OSStatus ) 00996 ICRefreshCaches(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A); 00997 00998 00999 /* [r3] [c1] [b3] 01000 * For use only by the IC application. 01001 * If you call this routine yourself, you will conflict with any 01002 * future IC implementation that doesn't use explicit preference files. 01003 */ 01004 /* ***** Getting Information ***** */ 01005 #endif /* CALL_NOT_IN_CARBON */ 01006 01007 /* 01008 * ICGetSeed() 01009 * 01010 * Availability: 01011 * Non-Carbon CFM: in InternetConfig 2.5 and later 01012 * CarbonLib: in CarbonLib 1.0.2 and later 01013 * Mac OS X: in version 10.0 or later 01014 */ 01015 EXTERN_API( OSStatus ) 01016 ICGetSeed( 01017 ICInstance inst, 01018 long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A); 01019 01020 01021 /* [c3] [b3] 01022 * Returns the current seed for the IC prefs database. 01023 * This seed changes each time a non-volatile preference is changed. 01024 * You can poll this to determine if any cached preferences change. 01025 */ 01026 /* 01027 * ICGetPerm() 01028 * 01029 * Availability: 01030 * Non-Carbon CFM: in InternetConfig 2.5 and later 01031 * CarbonLib: in CarbonLib 1.0.2 and later 01032 * Mac OS X: in version 10.0 or later 01033 */ 01034 EXTERN_API( OSStatus ) 01035 ICGetPerm( 01036 ICInstance inst, 01037 ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A); 01038 01039 01040 /* [c3] [b3] 01041 * Returns the access permissions currently associated with this instance. 01042 * While applications normally know what permissions they have, 01043 * this routine is designed for use by override components. 01044 */ 01045 #if CALL_NOT_IN_CARBON 01046 /* 01047 * ICDefaultFileName() 01048 * 01049 * Availability: 01050 * Non-Carbon CFM: in InternetConfig 2.5 and later 01051 * CarbonLib: not available 01052 * Mac OS X: not available 01053 */ 01054 EXTERN_API( OSStatus ) 01055 ICDefaultFileName( 01056 ICInstance inst, 01057 Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A); 01058 01059 01060 /* [c3] [b3] 01061 * Returns the default file name for IC preference files. 01062 * Applications should never need to call this routine. 01063 * If you rely on information returned by this routine yourself, 01064 * you may conflict with any future IC implementation that doesn't use 01065 * explicit preference files. 01066 * The component calls this routine to set up the default IC file name. 01067 * This allows this operation to be intercepted by a component that has 01068 * captured us. It currently gets it from the component resource file. 01069 * The glue version is hardwired to "Internet Preferences". 01070 */ 01071 /* 01072 * ICGetComponentInstance() 01073 * 01074 * Availability: 01075 * Non-Carbon CFM: in InternetConfig 2.5 and later 01076 * CarbonLib: not available 01077 * Mac OS X: not available 01078 */ 01079 EXTERN_API( OSStatus ) 01080 ICGetComponentInstance( 01081 ICInstance inst, 01082 ComponentInstance * componentInst); 01083 01084 01085 /* [c3] [b3] 01086 * Returns noErr and the connection to the IC component, 01087 * if we're using the component. 01088 * Returns badComponenInstance and nil if we're operating with glue. 01089 */ 01090 /* ***** Reading and Writing Preferences ***** */ 01091 #endif /* CALL_NOT_IN_CARBON */ 01092 01093 /* 01094 * ICBegin() 01095 * 01096 * Availability: 01097 * Non-Carbon CFM: in InternetConfig 2.5 and later 01098 * CarbonLib: in CarbonLib 1.0.2 and later 01099 * Mac OS X: in version 10.0 or later 01100 */ 01101 EXTERN_API( OSStatus ) 01102 ICBegin( 01103 ICInstance inst, 01104 ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A); 01105 01106 01107 /* [c1] [b5] 01108 * Starting reading or writing multiple preferences. 01109 * A call to this must be balanced by a call to ICEnd. 01110 * Do not call WaitNextEvent between these calls. 01111 * The perm specifies whether you intend to read or read/write. 01112 * Only one writer is allowed per instance. 01113 * Note that this may open resource files that are not closed 01114 * until you call ICEnd. 01115 */ 01116 /* 01117 * ICGetPref() 01118 * 01119 * Availability: 01120 * Non-Carbon CFM: in InternetConfig 2.5 and later 01121 * CarbonLib: in CarbonLib 1.0.2 and later 01122 * Mac OS X: in version 10.0 or later 01123 */ 01124 EXTERN_API( OSStatus ) 01125 ICGetPref( 01126 ICInstance inst, 01127 ConstStr255Param key, 01128 ICAttr * attr, 01129 void * buf, 01130 long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A); 01131 01132 01133 /* [c1] [b4] 01134 * Reads the preference specified by key from the IC database to the 01135 * buffer pointed to by buf and size. 01136 * key must not be the empty string. 01137 * If buf is nil then no data is returned. 01138 * size must be non-negative. 01139 * attr and size are always set on return. On errors (except icTruncatedErr) 01140 * attr is set to ICattr_no_change and size is set to 0. 01141 * size is the actual size of the data. 01142 * attr is set to the attributes associated with the preference. 01143 * If this routine returns icTruncatedErr then the other returned 01144 * values are valid except that only the first size bytes have been 01145 * return. size is adjusted to reflect the true size of the preference. 01146 * Returns icPrefNotFound if there is no preference for the key. 01147 */ 01148 /* 01149 * ICSetPref() 01150 * 01151 * Availability: 01152 * Non-Carbon CFM: in InternetConfig 2.5 and later 01153 * CarbonLib: in CarbonLib 1.0.2 and later 01154 * Mac OS X: in version 10.0 or later 01155 */ 01156 EXTERN_API( OSStatus ) 01157 ICSetPref( 01158 ICInstance inst, 01159 ConstStr255Param key, 01160 ICAttr attr, 01161 const void * buf, 01162 long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A); 01163 01164 01165 /* [c1] [b4] 01166 * Sets the preference specified by key from the IC database to the 01167 * value pointed to by buf and size. 01168 * key must not be the empty string. 01169 * size must be non-negative. 01170 * If buf is nil then the preference value is not set and size is ignored. 01171 * If buf is not nil then the preference value is set to the size 01172 * bytes pointed to by buf. 01173 * If attr is ICattr_no_change then the preference attributes are not set. 01174 * Otherwise the preference attributes are set to attr. 01175 * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm. 01176 * Returns icPermErr if current attr is locked, new attr is locked and buf <> nil. 01177 */ 01178 /* 01179 * ICFindPrefHandle() 01180 * 01181 * Availability: 01182 * Non-Carbon CFM: in InternetConfig 2.5 and later 01183 * CarbonLib: in CarbonLib 1.0.2 and later 01184 * Mac OS X: in version 10.0 or later 01185 */ 01186 EXTERN_API( OSStatus ) 01187 ICFindPrefHandle( 01188 ICInstance inst, 01189 ConstStr255Param key, 01190 ICAttr * attr, 01191 Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A); 01192 01193 01194 /* [r2] [c1] [b4] 01195 * This routine effectively replaces ICGetPrefHandle. 01196 * Reads the preference specified by key from the IC database into 01197 * a handle, prefh. 01198 * key must not be the empty string. 01199 * attr is set to the attributes associated with the preference. 01200 * You must set prefh to a non-nil handle before calling this routine. 01201 * If the preference does not exist, icPrefNotFoundErr is returned. 01202 */ 01203 /* 01204 * ICGetPrefHandle() 01205 * 01206 * Availability: 01207 * Non-Carbon CFM: in InternetConfig 2.5 and later 01208 * CarbonLib: in CarbonLib 1.0.2 and later 01209 * Mac OS X: in version 10.0 or later 01210 */ 01211 EXTERN_API( OSStatus ) 01212 ICGetPrefHandle( 01213 ICInstance inst, 01214 ConstStr255Param key, 01215 ICAttr * attr, 01216 Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A); 01217 01218 01219 /* [r1] [c1] [b4] 01220 * This routine is now obsolete. Use ICFindPrefHandle instead. 01221 * Reads the preference specified by key from the IC database into 01222 * a newly created handle, prefh. 01223 * key must not be the empty string. 01224 * attr is set to the attributes associated with the preference. 01225 * The incoming value of prefh is ignored. 01226 * A new handle is created in the current heap and returned in prefh. 01227 * If the routine returns an error, prefh is set to nil. 01228 * If the preference does not exist, no error is returned and prefh is set 01229 * to an empty handle. 01230 */ 01231 /* 01232 * ICSetPrefHandle() 01233 * 01234 * Availability: 01235 * Non-Carbon CFM: in InternetConfig 2.5 and later 01236 * CarbonLib: in CarbonLib 1.0.2 and later 01237 * Mac OS X: in version 10.0 or later 01238 */ 01239 EXTERN_API( OSStatus ) 01240 ICSetPrefHandle( 01241 ICInstance inst, 01242 ConstStr255Param key, 01243 ICAttr attr, 01244 Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A); 01245 01246 01247 /* [r1] [c1] [b4] 01248 * Sets the preference specified by key from the IC database to the 01249 * value contained in prefh. 01250 * key must not be the empty string. 01251 * If prefh is nil then the preference value is not set. 01252 * If buf is not nil then the preference value is set to the data 01253 * contained in it. 01254 * If attr is ICattr_no_change then the preference attributes are not set. 01255 * Otherwise the preference attributes are set to attr. 01256 * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm. 01257 * Returns icPermErr if current attr is locked, new attr is locked and prefh <> nil. 01258 */ 01259 /* 01260 * ICCountPref() 01261 * 01262 * Availability: 01263 * Non-Carbon CFM: in InternetConfig 2.5 and later 01264 * CarbonLib: in CarbonLib 1.0.2 and later 01265 * Mac OS X: in version 10.0 or later 01266 */ 01267 EXTERN_API( OSStatus ) 01268 ICCountPref( 01269 ICInstance inst, 01270 long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A); 01271 01272 01273 /* [c1] [b1] 01274 * Counts the total number of preferences. 01275 * If the routine returns an error, count is set to 0. 01276 */ 01277 /* 01278 * ICGetIndPref() 01279 * 01280 * Availability: 01281 * Non-Carbon CFM: in InternetConfig 2.5 and later 01282 * CarbonLib: in CarbonLib 1.0.2 and later 01283 * Mac OS X: in version 10.0 or later 01284 */ 01285 EXTERN_API( OSStatus ) 01286 ICGetIndPref( 01287 ICInstance inst, 01288 long index, 01289 Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A); 01290 01291 01292 /* [c1] [b1] 01293 * Returns the key of the index'th preference. 01294 * index must be positive. 01295 * Returns icPrefNotFoundErr if index is greater than the total number of preferences. 01296 * If the routine returns an error, key is undefined. 01297 */ 01298 /* 01299 * ICDeletePref() 01300 * 01301 * Availability: 01302 * Non-Carbon CFM: in InternetConfig 2.5 and later 01303 * CarbonLib: in CarbonLib 1.0.2 and later 01304 * Mac OS X: in version 10.0 or later 01305 */ 01306 EXTERN_API( OSStatus ) 01307 ICDeletePref( 01308 ICInstance inst, 01309 ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A); 01310 01311 01312 /* [c1] [b2] 01313 * Deletes the preference specified by key. 01314 * key must not be the empty string. 01315 * Returns icPrefNotFound if the preference specified by key is not present. 01316 */ 01317 /* 01318 * ICEnd() 01319 * 01320 * Availability: 01321 * Non-Carbon CFM: in InternetConfig 2.5 and later 01322 * CarbonLib: in CarbonLib 1.0.2 and later 01323 * Mac OS X: in version 10.0 or later 01324 */ 01325 EXTERN_API( OSStatus ) 01326 ICEnd(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A); 01327 01328 01329 /* [c1] [b1] 01330 * Terminates a preference session, as started by ICBegin. 01331 * You must have called ICBegin before calling this routine. 01332 */ 01333 /* 01334 * ICGetDefaultPref() 01335 * 01336 * Availability: 01337 * Non-Carbon CFM: in InternetConfig 2.5 and later 01338 * CarbonLib: in CarbonLib 1.0.2 and later 01339 * Mac OS X: in version 10.0 or later 01340 */ 01341 EXTERN_API( OSStatus ) 01342 ICGetDefaultPref( 01343 ICInstance inst, 01344 ConstStr255Param key, 01345 Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A); 01346 01347 01348 /* [r4] [c3] [b5] 01349 * Returns a default preference value for the specified key. You 01350 * must pass in a valid prefH, which is resized to fit the data. 01351 */ 01352 /* ***** User Interface Stuff ***** */ 01353 /* 01354 * ICEditPreferences() 01355 * 01356 * Availability: 01357 * Non-Carbon CFM: in InternetConfig 2.5 and later 01358 * CarbonLib: in CarbonLib 1.0.2 and later 01359 * Mac OS X: in version 10.0 or later 01360 */ 01361 EXTERN_API( OSStatus ) 01362 ICEditPreferences( 01363 ICInstance inst, 01364 ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A); 01365 01366 01367 /* [r1] [c1] [b3] 01368 * Instructs IC to display the user interface associated with editing 01369 * preferences and focusing on the preference specified by key. 01370 * If key is the empty string then no preference should be focused upon. 01371 * You must have specified a configuration before calling this routine. 01372 * You do not need to call ICBegin before calling this routine. 01373 * In the current implementation this launches the IC application 01374 * (or brings it to the front) and displays the window containing 01375 * the preference specified by key. 01376 * It may have a radically different implementation in future 01377 * IC systems. 01378 */ 01379 /* ***** URL Handling ***** */ 01380 /* 01381 * ICLaunchURL() 01382 * 01383 * Availability: 01384 * Non-Carbon CFM: in InternetConfig 2.5 and later 01385 * CarbonLib: in CarbonLib 1.0.2 and later 01386 * Mac OS X: in version 10.0 or later 01387 */ 01388 EXTERN_API( OSStatus ) 01389 ICLaunchURL( 01390 ICInstance inst, 01391 ConstStr255Param hint, 01392 const void * data, 01393 long len, 01394 long * selStart, 01395 long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A); 01396 01397 01398 /* [r1] [c1] [b3] 01399 * Parses a URL out of the specified text and feeds it off to the 01400 * appropriate helper. 01401 * hint indicates the default scheme for URLs of the form "name@address". 01402 * If hint is the empty string then URLs of that form are not allowed. 01403 * data points to the start of the text. It must not be nil. 01404 * len indicates the length of the text. It must be non-negative. 01405 * selStart and selEnd should be passed in as the current selection of 01406 * the text. This selection is given in the same manner as TextEdit, 01407 * ie if selStart = selEnd then there is no selection only an insertion 01408 * point. Also selStart ² selEnd and 0 ² selStart ² len and 0 ² selEnd ² len. 01409 * selStart and selEnd are returned as the bounds of the URL. If the 01410 * routine returns an error then these new boundaries may be 01411 * invalid but they will be close. 01412 * The URL is parsed out of the text and passed off to the appropriate 01413 * helper using the GURL AppleEvent. 01414 */ 01415 /* 01416 * ICParseURL() 01417 * 01418 * Availability: 01419 * Non-Carbon CFM: in InternetConfig 2.5 and later 01420 * CarbonLib: in CarbonLib 1.0.2 and later 01421 * Mac OS X: in version 10.0 or later 01422 */ 01423 EXTERN_API( OSStatus ) 01424 ICParseURL( 01425 ICInstance inst, 01426 ConstStr255Param hint, 01427 const void * data, 01428 long len, 01429 long * selStart, 01430 long * selEnd, 01431 Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A); 01432 01433 01434 /* [r1] [c1] [b3] 01435 * Parses a URL out of the specified text and returns it in a canonical form 01436 * in a handle. 01437 * hint indicates the default scheme for URLs of the form "name@address". 01438 * If hint is the empty string then URLs of that form are not allowed. 01439 * data points to the start of the text. It must not be nil. 01440 * len indicates the length of the text. It must be non-negative. 01441 * selStart and selEnd should be passed in as the current selection of 01442 * the text. This selection is given in the same manner as TextEdit, 01443 * ie if selStart = selEnd then there is no selection only an insertion 01444 * point. Also selStart ² selEnd and 0 ² selStart ² len and 0 ² selEnd ² len. 01445 * selStart and selEnd are returned as the bounds of the URL. If the 01446 * routine returns an error then these new boundaries may be 01447 * invalid but they will be close. 01448 * The incoming url handle must not be nil. The resulting URL is normalised 01449 * and copied into the url handle, which is resized to fit. 01450 */ 01451 /* 01452 * ICCreateGURLEvent() 01453 * 01454 * Availability: 01455 * Non-Carbon CFM: in InternetConfig 2.5 and later 01456 * CarbonLib: in CarbonLib 1.0.2 and later 01457 * Mac OS X: in version 10.0 or later 01458 */ 01459 EXTERN_API( OSStatus ) 01460 ICCreateGURLEvent( 01461 ICInstance inst, 01462 OSType helperCreator, 01463 Handle urlH, 01464 AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A); 01465 01466 01467 /* [r4] [c1] [b3] 01468 * Creates a GURL Apple event, targetted at the application whose creator 01469 * code is helperCreator, with a direct object containing the URL text from urlH. 01470 */ 01471 /* 01472 * ICSendGURLEvent() 01473 * 01474 * Availability: 01475 * Non-Carbon CFM: in InternetConfig 2.5 and later 01476 * CarbonLib: in CarbonLib 1.0.2 and later 01477 * Mac OS X: in version 10.0 or later 01478 */ 01479 EXTERN_API( OSStatus ) 01480 ICSendGURLEvent( 01481 ICInstance inst, 01482 AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A); 01483 01484 01485 /* [r4] [c1] [b3] 01486 * Sends theEvent to the target application. 01487 */ 01488 /* ***** Mappings Routines ***** 01489 * 01490 * Routines for interrogating mappings database. 01491 * 01492 * ----- High Level Routines ----- 01493 */ 01494 /* 01495 * ICMapFilename() 01496 * 01497 * Availability: 01498 * Non-Carbon CFM: in InternetConfig 2.5 and later 01499 * CarbonLib: in CarbonLib 1.0.2 and later 01500 * Mac OS X: in version 10.0 or later 01501 */ 01502 EXTERN_API( OSStatus ) 01503 ICMapFilename( 01504 ICInstance inst, 01505 ConstStr255Param filename, 01506 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A); 01507 01508 01509 /* [r1] [c1] [b4] 01510 * Takes the name of an incoming file and returns the most appropriate 01511 * mappings database entry, based on its extension. 01512 * filename must not be the empty string. 01513 * Returns icPrefNotFoundErr if no suitable entry is found. 01514 */ 01515 /* 01516 * ICMapTypeCreator() 01517 * 01518 * Availability: 01519 * Non-Carbon CFM: in InternetConfig 2.5 and later 01520 * CarbonLib: in CarbonLib 1.0.2 and later 01521 * Mac OS X: in version 10.0 or later 01522 */ 01523 EXTERN_API( OSStatus ) 01524 ICMapTypeCreator( 01525 ICInstance inst, 01526 OSType fType, 01527 OSType fCreator, 01528 ConstStr255Param filename, 01529 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A); 01530 01531 01532 /* [r1] [c1] [b4] 01533 * Takes the type and creator (and optionally the name) of an outgoing 01534 * file and returns the most appropriate mappings database entry. 01535 * The filename may be either the name of the outgoing file or 01536 * the empty string. 01537 * Returns icPrefNotFoundErr if no suitable entry found. 01538 */ 01539 /* ----- Mid Level Routines ----- */ 01540 /* 01541 * ICMapEntriesFilename() 01542 * 01543 * Availability: 01544 * Non-Carbon CFM: in InternetConfig 2.5 and later 01545 * CarbonLib: in CarbonLib 1.0.2 and later 01546 * Mac OS X: in version 10.0 or later 01547 */ 01548 EXTERN_API( OSStatus ) 01549 ICMapEntriesFilename( 01550 ICInstance inst, 01551 Handle entries, 01552 ConstStr255Param filename, 01553 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A); 01554 01555 01556 /* [r1] [c1] [b3] 01557 * Takes the name of an incoming file and returns the most appropriate 01558 * mappings database entry, based on its extension. 01559 * entries must be a handle to a valid IC mappings database preference. 01560 * filename must not be the empty string. 01561 * Returns icPrefNotFoundErr if no suitable entry is found. 01562 */ 01563 /* 01564 * ICMapEntriesTypeCreator() 01565 * 01566 * Availability: 01567 * Non-Carbon CFM: in InternetConfig 2.5 and later 01568 * CarbonLib: in CarbonLib 1.0.2 and later 01569 * Mac OS X: in version 10.0 or later 01570 */ 01571 EXTERN_API( OSStatus ) 01572 ICMapEntriesTypeCreator( 01573 ICInstance inst, 01574 Handle entries, 01575 OSType fType, 01576 OSType fCreator, 01577 ConstStr255Param filename, 01578 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A); 01579 01580 01581 /* [r1] [c1] [b3] 01582 * Takes the type and creator (and optionally the name) of an outgoing 01583 * file and returns the most appropriate mappings database entry. 01584 * entries must be a handle to a valid IC mappings database preference. 01585 * The filename may be either the name of the outgoing file or 01586 * the empty string. 01587 * Returns icPrefNotFoundErr if no suitable entry found. 01588 */ 01589 /* ----- Low Level Routines ----- */ 01590 /* 01591 * ICCountMapEntries() 01592 * 01593 * Availability: 01594 * Non-Carbon CFM: in InternetConfig 2.5 and later 01595 * CarbonLib: in CarbonLib 1.0.2 and later 01596 * Mac OS X: in version 10.0 or later 01597 */ 01598 EXTERN_API( OSStatus ) 01599 ICCountMapEntries( 01600 ICInstance inst, 01601 Handle entries, 01602 long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A); 01603 01604 01605 /* [r1] [c1] [b3] 01606 * Counts the number of entries in the mappings database. 01607 * entries must be a handle to a valid IC mappings database preference. 01608 * count is set to the number of entries. 01609 */ 01610 /* 01611 * ICGetIndMapEntry() 01612 * 01613 * Availability: 01614 * Non-Carbon CFM: in InternetConfig 2.5 and later 01615 * CarbonLib: in CarbonLib 1.0.2 and later 01616 * Mac OS X: in version 10.0 or later 01617 */ 01618 EXTERN_API( OSStatus ) 01619 ICGetIndMapEntry( 01620 ICInstance inst, 01621 Handle entries, 01622 long index, 01623 long * pos, 01624 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A); 01625 01626 01627 /* [r1] [c1] [b3] 01628 * Gets the index'th entry in the mappings database. 01629 * entries must be a handle to a valid IC mappings database preference. 01630 * index must be in the range from 1 to the number of entries in the database. 01631 * The value of pos is ignored on input. pos is set to the position of 01632 * the index'th entry in the database and is suitable for passing back 01633 * into ICSetMapEntry. 01634 * Does not return any user data associated with the entry. 01635 */ 01636 /* 01637 * ICGetMapEntry() 01638 * 01639 * Availability: 01640 * Non-Carbon CFM: in InternetConfig 2.5 and later 01641 * CarbonLib: in CarbonLib 1.0.2 and later 01642 * Mac OS X: in version 10.0 or later 01643 */ 01644 EXTERN_API( OSStatus ) 01645 ICGetMapEntry( 01646 ICInstance inst, 01647 Handle entries, 01648 long pos, 01649 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A); 01650 01651 01652 /* [r1] [c1] [b3] 01653 * Returns the entry located at position pos in the mappings database. 01654 * entries must be a handle to a valid IC mappings database preference. 01655 * pos should be 0 to get the first entry. To get the subsequent entries, add 01656 * entry.total_size to pos and iterate. 01657 * Does not return any user data associated with the entry. 01658 */ 01659 /* 01660 * ICSetMapEntry() 01661 * 01662 * Availability: 01663 * Non-Carbon CFM: in InternetConfig 2.5 and later 01664 * CarbonLib: in CarbonLib 1.0.2 and later 01665 * Mac OS X: in version 10.0 or later 01666 */ 01667 EXTERN_API( OSStatus ) 01668 ICSetMapEntry( 01669 ICInstance inst, 01670 Handle entries, 01671 long pos, 01672 const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A); 01673 01674 01675 /* [r1] [c1] [b3] 01676 * Sets the entry located at position pos in the mappings database. 01677 * entries must be a handle to a valid IC mappings database preference. 01678 * pos should be either a value returned from ICGetIndMapEntry or a value 01679 * calculated using ICGetMapEntry. 01680 * entry is a var parameter purely for stack space reasons. It is not 01681 * modified in any way. 01682 * Any user data associated with the entry is unmodified. 01683 */ 01684 /* 01685 * ICDeleteMapEntry() 01686 * 01687 * Availability: 01688 * Non-Carbon CFM: in InternetConfig 2.5 and later 01689 * CarbonLib: in CarbonLib 1.0.2 and later 01690 * Mac OS X: in version 10.0 or later 01691 */ 01692 EXTERN_API( OSStatus ) 01693 ICDeleteMapEntry( 01694 ICInstance inst, 01695 Handle entries, 01696 long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A); 01697 01698 01699 /* [r1] [c1] [b3] 01700 * Deletes the mappings database entry at pos. 01701 * entries must be a handle to a valid IC mappings database preference. 01702 * pos should be either a value returned from ICGetIndMapEntry or a value 01703 * calculated using ICGetMapEntry. 01704 * Also deletes any user data associated with the entry. 01705 */ 01706 /* 01707 * ICAddMapEntry() 01708 * 01709 * Availability: 01710 * Non-Carbon CFM: in InternetConfig 2.5 and later 01711 * CarbonLib: in CarbonLib 1.0.2 and later 01712 * Mac OS X: in version 10.0 or later 01713 */ 01714 EXTERN_API( OSStatus ) 01715 ICAddMapEntry( 01716 ICInstance inst, 01717 Handle entries, 01718 const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A); 01719 01720 01721 /* [r1] [c1] [b3] 01722 * Adds an entry to the mappings database. 01723 * entries must be a handle to a valid IC mappings database preference. 01724 * The entry is added to the end of the entries database. 01725 * No user data is added. 01726 */ 01727 /* ***** Profile Management Routines ***** */ 01728 /* 01729 * ICGetCurrentProfile() 01730 * 01731 * Availability: 01732 * Non-Carbon CFM: in InternetConfig 2.5 and later 01733 * CarbonLib: in CarbonLib 1.0.2 and later 01734 * Mac OS X: in version 10.0 or later 01735 */ 01736 EXTERN_API( OSStatus ) 01737 ICGetCurrentProfile( 01738 ICInstance inst, 01739 ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A); 01740 01741 01742 /* [r3] [c1] [b3] 01743 * Returns the profile ID of the current profile. 01744 */ 01745 /* 01746 * ICSetCurrentProfile() 01747 * 01748 * Availability: 01749 * Non-Carbon CFM: in InternetConfig 2.5 and later 01750 * CarbonLib: in CarbonLib 1.0.2 and later 01751 * Mac OS X: in version 10.0 or later 01752 */ 01753 EXTERN_API( OSStatus ) 01754 ICSetCurrentProfile( 01755 ICInstance inst, 01756 ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A); 01757 01758 01759 /* [r3] [c1] [b3] 01760 * Sets the current profile to the profile specified in newProfile. 01761 */ 01762 /* 01763 * ICCountProfiles() 01764 * 01765 * Availability: 01766 * Non-Carbon CFM: in InternetConfig 2.5 and later 01767 * CarbonLib: in CarbonLib 1.0.2 and later 01768 * Mac OS X: in version 10.0 or later 01769 */ 01770 EXTERN_API( OSStatus ) 01771 ICCountProfiles( 01772 ICInstance inst, 01773 long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A); 01774 01775 01776 /* [r3] [c1] [b1] 01777 * Returns the total number of profiles. 01778 */ 01779 /* 01780 * ICGetIndProfile() 01781 * 01782 * Availability: 01783 * Non-Carbon CFM: in InternetConfig 2.5 and later 01784 * CarbonLib: in CarbonLib 1.0.2 and later 01785 * Mac OS X: in version 10.0 or later 01786 */ 01787 EXTERN_API( OSStatus ) 01788 ICGetIndProfile( 01789 ICInstance inst, 01790 long index, 01791 ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A); 01792 01793 01794 /* [r3] [c1] [b1] 01795 * Returns the profile ID of the index'th profile. index must be positive. 01796 * Returns icProfileNotFoundErr if index is greater than the total number 01797 * of profiles. 01798 */ 01799 /* 01800 * ICGetProfileName() 01801 * 01802 * Availability: 01803 * Non-Carbon CFM: in InternetConfig 2.5 and later 01804 * CarbonLib: in CarbonLib 1.0.2 and later 01805 * Mac OS X: in version 10.0 or later 01806 */ 01807 EXTERN_API( OSStatus ) 01808 ICGetProfileName( 01809 ICInstance inst, 01810 ICProfileID thisID, 01811 Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A); 01812 01813 01814 /* [r3] [c1] [b3] 01815 * Returns the name of a profile given its ID. The name may not uniquely 01816 * identify the profile. [That's what the profile ID is for!] The name 01817 * is assumed to be in the system script. 01818 */ 01819 /* 01820 * ICSetProfileName() 01821 * 01822 * Availability: 01823 * Non-Carbon CFM: in InternetConfig 2.5 and later 01824 * CarbonLib: in CarbonLib 1.0.2 and later 01825 * Mac OS X: in version 10.0 or later 01826 */ 01827 EXTERN_API( OSStatus ) 01828 ICSetProfileName( 01829 ICInstance inst, 01830 ICProfileID thisID, 01831 ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A); 01832 01833 01834 /* [r3] [c1] [b3] 01835 * This routine sets the name of the specified profile. Profile names 01836 * need not be unique. The name should be in the system script. 01837 */ 01838 /* 01839 * ICAddProfile() 01840 * 01841 * Availability: 01842 * Non-Carbon CFM: in InternetConfig 2.5 and later 01843 * CarbonLib: in CarbonLib 1.0.2 and later 01844 * Mac OS X: in version 10.0 or later 01845 */ 01846 EXTERN_API( OSStatus ) 01847 ICAddProfile( 01848 ICInstance inst, 01849 ICProfileID prototypeID, 01850 ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A); 01851 01852 01853 /* [r3] [c1] [b2] 01854 * If prototypeID = kICNilProfileID, this routine 01855 * creates a default profile, otherwise it creates a 01856 * profile by cloning the prototype profile. The ID 01857 * of the new profile is returned in newID. 01858 * The new profile will be give a new, unique, name. 01859 * This does not switch to the new profile. 01860 */ 01861 /* 01862 * ICDeleteProfile() 01863 * 01864 * Availability: 01865 * Non-Carbon CFM: in InternetConfig 2.5 and later 01866 * CarbonLib: in CarbonLib 1.0.2 and later 01867 * Mac OS X: in version 10.0 or later 01868 */ 01869 EXTERN_API( OSStatus ) 01870 ICDeleteProfile( 01871 ICInstance inst, 01872 ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A); 01873 01874 01875 /* [r3] [c1] [b2] 01876 * This routine deletes the profile specified by 01877 * thisID. Attempting to delete the current profile 01878 * or the last profile will return error. 01879 */ 01880 /************************************************************************************************ 01881 NOTHING BELOW THIS DIVIDER IS IN CARBON 01882 ************************************************************************************************/ 01883 /* ***** Interrupt Safe Routines ***** */ 01884 #if CALL_NOT_IN_CARBON 01885 /* 01886 * ICRequiresInterruptSafe() 01887 * 01888 * Availability: 01889 * Non-Carbon CFM: in InternetConfig 2.5 and later 01890 * CarbonLib: not available 01891 * Mac OS X: not available 01892 */ 01893 EXTERN_API( OSStatus ) 01894 ICRequiresInterruptSafe(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A); 01895 01896 01897 /* [r3] [c2] [b3] 01898 * You must call this routine before calling GetMapEntryInterruptSafe 01899 * to give IC chance to cache the mappings data in memory. The only 01900 * way to clear this state is to close the instance. You can not reconfigure 01901 * the instance after calling this routine. 01902 */ 01903 /* 01904 * ICGetMappingInterruptSafe() 01905 * 01906 * Availability: 01907 * Non-Carbon CFM: in InternetConfig 2.5 and later 01908 * CarbonLib: not available 01909 * Mac OS X: not available 01910 */ 01911 EXTERN_API( OSStatus ) 01912 ICGetMappingInterruptSafe( 01913 ICInstance inst, 01914 Ptr * mappingPref, 01915 long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A); 01916 01917 01918 /* [r3] [c2] [b3] 01919 * Returns the "Mapping" preference in an interrupt safe fashion. 01920 * The preference returned pointer is valid until the next 01921 * non-interrupt safe call to IC. Typically this API is used 01922 * by software that needs to map extensions to type and creator 01923 * at interrupt time, eg foreign file systems. 01924 */ 01925 /* 01926 * ICGetSeedInterruptSafe() 01927 * 01928 * Availability: 01929 * Non-Carbon CFM: in InternetConfig 2.5 and later 01930 * CarbonLib: not available 01931 * Mac OS X: not available 01932 */ 01933 EXTERN_API( OSStatus ) 01934 ICGetSeedInterruptSafe( 01935 ICInstance inst, 01936 long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A); 01937 01938 01939 /* [r3] [c2] [b3] 01940 * An interrupt safe version of ICGetSeed. 01941 */ 01942 /* ***** Starting Up and Shutting Down ***** */ 01943 /* 01944 * ICCStart() 01945 * 01946 * Availability: 01947 * Non-Carbon CFM: in InternetConfig 2.5 and later 01948 * CarbonLib: not available 01949 * Mac OS X: not available 01950 */ 01951 EXTERN_API( OSStatus ) 01952 ICCStart( 01953 ComponentInstance * inst, 01954 OSType creator); 01955 01956 01957 /* See comment for ICCStart. */ 01958 /* 01959 * ICCStop() 01960 * 01961 * Availability: 01962 * Non-Carbon CFM: in InternetConfig 2.5 and later 01963 * CarbonLib: not available 01964 * Mac OS X: not available 01965 */ 01966 EXTERN_API( OSStatus ) 01967 ICCStop(ComponentInstance inst); 01968 01969 01970 /* See comment for ICCStop. */ 01971 /* 01972 * ICCGetVersion() 01973 * 01974 * Availability: 01975 * Non-Carbon CFM: in InternetConfig 2.5 and later 01976 * CarbonLib: not available 01977 * Mac OS X: not available 01978 */ 01979 EXTERN_API( OSStatus ) 01980 ICCGetVersion( 01981 ComponentInstance inst, 01982 long whichVersion, 01983 UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A); 01984 01985 01986 /* See comment for ICCGetVersion. */ 01987 /* ***** Specifying a Configuration ***** */ 01988 /* 01989 * ICCFindConfigFile() 01990 * 01991 * Availability: 01992 * Non-Carbon CFM: in InternetConfig 2.5 and later 01993 * CarbonLib: not available 01994 * Mac OS X: not available 01995 */ 01996 EXTERN_API( OSStatus ) 01997 ICCFindConfigFile( 01998 ComponentInstance inst, 01999 short count, 02000 ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A); 02001 02002 02003 /* See comment for ICCFindConfigFile. */ 02004 /* 02005 * ICCFindUserConfigFile() 02006 * 02007 * Availability: 02008 * Non-Carbon CFM: in InternetConfig 2.5 and later 02009 * CarbonLib: not available 02010 * Mac OS X: not available 02011 */ 02012 EXTERN_API( OSStatus ) 02013 ICCFindUserConfigFile( 02014 ComponentInstance inst, 02015 ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A); 02016 02017 02018 /* See comment for ICCFindUserConfigFile. */ 02019 /* 02020 * ICCGeneralFindConfigFile() 02021 * 02022 * Availability: 02023 * Non-Carbon CFM: in InternetConfig 2.5 and later 02024 * CarbonLib: not available 02025 * Mac OS X: not available 02026 */ 02027 EXTERN_API( OSStatus ) 02028 ICCGeneralFindConfigFile( 02029 ComponentInstance inst, 02030 Boolean searchPrefs, 02031 Boolean canCreate, 02032 short count, 02033 ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A); 02034 02035 02036 /* See comment for ICCGeneralFindConfigFile. */ 02037 /* 02038 * ICCChooseConfig() 02039 * 02040 * Availability: 02041 * Non-Carbon CFM: in InternetConfig 2.5 and later 02042 * CarbonLib: not available 02043 * Mac OS X: not available 02044 */ 02045 EXTERN_API( OSStatus ) 02046 ICCChooseConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A); 02047 02048 02049 /* See comment for ICCChooseConfig. */ 02050 /* 02051 * ICCChooseNewConfig() 02052 * 02053 * Availability: 02054 * Non-Carbon CFM: in InternetConfig 2.5 and later 02055 * CarbonLib: not available 02056 * Mac OS X: not available 02057 */ 02058 EXTERN_API( OSStatus ) 02059 ICCChooseNewConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A); 02060 02061 02062 /* See comment for ICCChooseNewConfig. */ 02063 /* 02064 * ICCGetConfigName() 02065 * 02066 * Availability: 02067 * Non-Carbon CFM: in InternetConfig 2.5 and later 02068 * CarbonLib: not available 02069 * Mac OS X: not available 02070 */ 02071 EXTERN_API( OSStatus ) 02072 ICCGetConfigName( 02073 ComponentInstance inst, 02074 Boolean longname, 02075 Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A); 02076 02077 02078 /* See comment for ICCGetConfigName. */ 02079 /* 02080 * ICCGetConfigReference() 02081 * 02082 * Availability: 02083 * Non-Carbon CFM: in InternetConfig 2.5 and later 02084 * CarbonLib: not available 02085 * Mac OS X: not available 02086 */ 02087 EXTERN_API( OSStatus ) 02088 ICCGetConfigReference( 02089 ComponentInstance inst, 02090 ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A); 02091 02092 02093 /* See comment for ICCGetConfigReference. */ 02094 /* 02095 * ICCSetConfigReference() 02096 * 02097 * Availability: 02098 * Non-Carbon CFM: in InternetConfig 2.5 and later 02099 * CarbonLib: not available 02100 * Mac OS X: not available 02101 */ 02102 EXTERN_API( OSStatus ) 02103 ICCSetConfigReference( 02104 ComponentInstance inst, 02105 ICConfigRefHandle ref, 02106 long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A); 02107 02108 02109 /* See comment for ICCSetConfigReference. */ 02110 /* ***** Private Routines ***** 02111 * 02112 * If you are calling these routines, you are most probably doing something 02113 * wrong. Please read the documentation for more details. 02114 */ 02115 /* 02116 * ICCSpecifyConfigFile() 02117 * 02118 * Availability: 02119 * Non-Carbon CFM: in InternetConfig 2.5 and later 02120 * CarbonLib: not available 02121 * Mac OS X: not available 02122 */ 02123 EXTERN_API( OSStatus ) 02124 ICCSpecifyConfigFile( 02125 ComponentInstance inst, 02126 FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A); 02127 02128 02129 /* See comment for ICCSpecifyConfigFile. */ 02130 /* 02131 * ICCRefreshCaches() 02132 * 02133 * Availability: 02134 * Non-Carbon CFM: in InternetConfig 2.5 and later 02135 * CarbonLib: not available 02136 * Mac OS X: not available 02137 */ 02138 EXTERN_API( OSStatus ) 02139 ICCRefreshCaches(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A); 02140 02141 02142 /* See comment for ICCRefreshCaches. */ 02143 /* ***** Getting Information ***** */ 02144 /* 02145 * ICCGetSeed() 02146 * 02147 * Availability: 02148 * Non-Carbon CFM: in InternetConfig 2.5 and later 02149 * CarbonLib: not available 02150 * Mac OS X: not available 02151 */ 02152 EXTERN_API( OSStatus ) 02153 ICCGetSeed( 02154 ComponentInstance inst, 02155 long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A); 02156 02157 02158 /* See comment for ICCGetSeed. */ 02159 /* 02160 * ICCGetPerm() 02161 * 02162 * Availability: 02163 * Non-Carbon CFM: in InternetConfig 2.5 and later 02164 * CarbonLib: not available 02165 * Mac OS X: not available 02166 */ 02167 EXTERN_API( OSStatus ) 02168 ICCGetPerm( 02169 ComponentInstance inst, 02170 ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A); 02171 02172 02173 /* See comment for ICCGetPerm. */ 02174 /* 02175 * ICCDefaultFileName() 02176 * 02177 * Availability: 02178 * Non-Carbon CFM: in InternetConfig 2.5 and later 02179 * CarbonLib: not available 02180 * Mac OS X: not available 02181 */ 02182 EXTERN_API( OSStatus ) 02183 ICCDefaultFileName( 02184 ComponentInstance inst, 02185 Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A); 02186 02187 02188 /* See comment for ICCDefaultFileName. */ 02189 /* 02190 * ICCGetComponentInstance() 02191 * 02192 * Availability: 02193 * Non-Carbon CFM: in InternetConfig 2.5 and later 02194 * CarbonLib: not available 02195 * Mac OS X: not available 02196 */ 02197 EXTERN_API( OSStatus ) 02198 ICCGetComponentInstance( 02199 ComponentInstance inst, 02200 ComponentInstance * componentInst); 02201 02202 02203 /* See comment for ICCGetComponentInstance. */ 02204 /* ***** Reading and Writing Preferences ***** */ 02205 /* 02206 * ICCBegin() 02207 * 02208 * Availability: 02209 * Non-Carbon CFM: in InternetConfig 2.5 and later 02210 * CarbonLib: not available 02211 * Mac OS X: not available 02212 */ 02213 EXTERN_API( OSStatus ) 02214 ICCBegin( 02215 ComponentInstance inst, 02216 ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A); 02217 02218 02219 /* See comment for ICCBegin. */ 02220 /* 02221 * ICCGetPref() 02222 * 02223 * Availability: 02224 * Non-Carbon CFM: in InternetConfig 2.5 and later 02225 * CarbonLib: not available 02226 * Mac OS X: not available 02227 */ 02228 EXTERN_API( OSStatus ) 02229 ICCGetPref( 02230 ComponentInstance inst, 02231 ConstStr255Param key, 02232 ICAttr * attr, 02233 Ptr buf, 02234 long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A); 02235 02236 02237 /* See comment for ICCGetPref. */ 02238 /* 02239 * ICCSetPref() 02240 * 02241 * Availability: 02242 * Non-Carbon CFM: in InternetConfig 2.5 and later 02243 * CarbonLib: not available 02244 * Mac OS X: not available 02245 */ 02246 EXTERN_API( OSStatus ) 02247 ICCSetPref( 02248 ComponentInstance inst, 02249 ConstStr255Param key, 02250 ICAttr attr, 02251 Ptr buf, 02252 long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A); 02253 02254 02255 /* See comment for ICCSetPref. */ 02256 /* 02257 * ICCFindPrefHandle() 02258 * 02259 * Availability: 02260 * Non-Carbon CFM: in InternetConfig 2.5 and later 02261 * CarbonLib: not available 02262 * Mac OS X: not available 02263 */ 02264 EXTERN_API( OSStatus ) 02265 ICCFindPrefHandle( 02266 ComponentInstance inst, 02267 ConstStr255Param key, 02268 ICAttr * attr, 02269 Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A); 02270 02271 02272 /* See comment for ICCFindPrefHandle. */ 02273 /* 02274 * ICCGetPrefHandle() 02275 * 02276 * Availability: 02277 * Non-Carbon CFM: in InternetConfig 2.5 and later 02278 * CarbonLib: not available 02279 * Mac OS X: not available 02280 */ 02281 EXTERN_API( OSStatus ) 02282 ICCGetPrefHandle( 02283 ComponentInstance inst, 02284 ConstStr255Param key, 02285 ICAttr * attr, 02286 Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A); 02287 02288 02289 /* See comment for ICCGetPrefHandle. */ 02290 /* 02291 * ICCSetPrefHandle() 02292 * 02293 * Availability: 02294 * Non-Carbon CFM: in InternetConfig 2.5 and later 02295 * CarbonLib: not available 02296 * Mac OS X: not available 02297 */ 02298 EXTERN_API( OSStatus ) 02299 ICCSetPrefHandle( 02300 ComponentInstance inst, 02301 ConstStr255Param key, 02302 ICAttr attr, 02303 Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A); 02304 02305 02306 /* See comment for ICCSetPrefHandle. */ 02307 /* 02308 * ICCCountPref() 02309 * 02310 * Availability: 02311 * Non-Carbon CFM: in InternetConfig 2.5 and later 02312 * CarbonLib: not available 02313 * Mac OS X: not available 02314 */ 02315 EXTERN_API( OSStatus ) 02316 ICCCountPref( 02317 ComponentInstance inst, 02318 long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A); 02319 02320 02321 /* See comment for ICCCountPref. */ 02322 /* 02323 * ICCGetIndPref() 02324 * 02325 * Availability: 02326 * Non-Carbon CFM: in InternetConfig 2.5 and later 02327 * CarbonLib: not available 02328 * Mac OS X: not available 02329 */ 02330 EXTERN_API( OSStatus ) 02331 ICCGetIndPref( 02332 ComponentInstance inst, 02333 long index, 02334 Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A); 02335 02336 02337 /* See comment for ICCGetIndPref. */ 02338 /* 02339 * ICCDeletePref() 02340 * 02341 * Availability: 02342 * Non-Carbon CFM: in InternetConfig 2.5 and later 02343 * CarbonLib: not available 02344 * Mac OS X: not available 02345 */ 02346 EXTERN_API( OSStatus ) 02347 ICCDeletePref( 02348 ComponentInstance inst, 02349 ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A); 02350 02351 02352 /* See comment for ICCDeletePref. */ 02353 /* 02354 * ICCEnd() 02355 * 02356 * Availability: 02357 * Non-Carbon CFM: in InternetConfig 2.5 and later 02358 * CarbonLib: not available 02359 * Mac OS X: not available 02360 */ 02361 EXTERN_API( OSStatus ) 02362 ICCEnd(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A); 02363 02364 02365 /* See comment for ICCEnd. */ 02366 /* 02367 * ICCGetDefaultPref() 02368 * 02369 * Availability: 02370 * Non-Carbon CFM: in InternetConfig 2.5 and later 02371 * CarbonLib: not available 02372 * Mac OS X: not available 02373 */ 02374 EXTERN_API( OSStatus ) 02375 ICCGetDefaultPref( 02376 ComponentInstance inst, 02377 ConstStr255Param key, 02378 Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A); 02379 02380 02381 /* See comment for ICCGetDefaultPref. */ 02382 /* ***** User Interface Stuff ***** */ 02383 /* 02384 * ICCEditPreferences() 02385 * 02386 * Availability: 02387 * Non-Carbon CFM: in InternetConfig 2.5 and later 02388 * CarbonLib: not available 02389 * Mac OS X: not available 02390 */ 02391 EXTERN_API( OSStatus ) 02392 ICCEditPreferences( 02393 ComponentInstance inst, 02394 ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A); 02395 02396 02397 /* See comment for ICCEditPreferences. */ 02398 /* ***** URL Handling ***** */ 02399 /* 02400 * ICCLaunchURL() 02401 * 02402 * Availability: 02403 * Non-Carbon CFM: in InternetConfig 2.5 and later 02404 * CarbonLib: not available 02405 * Mac OS X: not available 02406 */ 02407 EXTERN_API( OSStatus ) 02408 ICCLaunchURL( 02409 ComponentInstance inst, 02410 ConstStr255Param hint, 02411 Ptr data, 02412 long len, 02413 long * selStart, 02414 long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A); 02415 02416 02417 /* See comment for ICCLaunchURL. */ 02418 /* 02419 * ICCParseURL() 02420 * 02421 * Availability: 02422 * Non-Carbon CFM: in InternetConfig 2.5 and later 02423 * CarbonLib: not available 02424 * Mac OS X: not available 02425 */ 02426 EXTERN_API( OSStatus ) 02427 ICCParseURL( 02428 ComponentInstance inst, 02429 ConstStr255Param hint, 02430 Ptr data, 02431 long len, 02432 long * selStart, 02433 long * selEnd, 02434 Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A); 02435 02436 02437 /* See comment for ICCParseURL. */ 02438 /* 02439 * ICCCreateGURLEvent() 02440 * 02441 * Availability: 02442 * Non-Carbon CFM: in InternetConfig 2.5 and later 02443 * CarbonLib: not available 02444 * Mac OS X: not available 02445 */ 02446 EXTERN_API( OSStatus ) 02447 ICCCreateGURLEvent( 02448 ComponentInstance inst, 02449 OSType helperCreator, 02450 Handle urlH, 02451 AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A); 02452 02453 02454 /* See comment for ICCCreateGURLEvent. */ 02455 /* 02456 * ICCSendGURLEvent() 02457 * 02458 * Availability: 02459 * Non-Carbon CFM: in InternetConfig 2.5 and later 02460 * CarbonLib: not available 02461 * Mac OS X: not available 02462 */ 02463 EXTERN_API( OSStatus ) 02464 ICCSendGURLEvent( 02465 ComponentInstance inst, 02466 AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A); 02467 02468 02469 /* See comment for ICCSendGURLEvent. */ 02470 /* ***** Mappings Routines ***** 02471 * 02472 * Routines for interrogating mappings database. 02473 * 02474 * ----- High Level Routines ----- 02475 */ 02476 /* 02477 * ICCMapFilename() 02478 * 02479 * Availability: 02480 * Non-Carbon CFM: in InternetConfig 2.5 and later 02481 * CarbonLib: not available 02482 * Mac OS X: not available 02483 */ 02484 EXTERN_API( OSStatus ) 02485 ICCMapFilename( 02486 ComponentInstance inst, 02487 ConstStr255Param filename, 02488 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A); 02489 02490 02491 /* See comment for ICCMapFilename. */ 02492 /* 02493 * ICCMapTypeCreator() 02494 * 02495 * Availability: 02496 * Non-Carbon CFM: in InternetConfig 2.5 and later 02497 * CarbonLib: not available 02498 * Mac OS X: not available 02499 */ 02500 EXTERN_API( OSStatus ) 02501 ICCMapTypeCreator( 02502 ComponentInstance inst, 02503 OSType fType, 02504 OSType fCreator, 02505 ConstStr255Param filename, 02506 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A); 02507 02508 02509 /* See comment for ICCMapTypeCreator. */ 02510 /* ----- Mid Level Routines ----- */ 02511 /* 02512 * ICCMapEntriesFilename() 02513 * 02514 * Availability: 02515 * Non-Carbon CFM: in InternetConfig 2.5 and later 02516 * CarbonLib: not available 02517 * Mac OS X: not available 02518 */ 02519 EXTERN_API( OSStatus ) 02520 ICCMapEntriesFilename( 02521 ComponentInstance inst, 02522 Handle entries, 02523 ConstStr255Param filename, 02524 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A); 02525 02526 02527 /* See comment for ICCMapEntriesFilename. */ 02528 /* 02529 * ICCMapEntriesTypeCreator() 02530 * 02531 * Availability: 02532 * Non-Carbon CFM: in InternetConfig 2.5 and later 02533 * CarbonLib: not available 02534 * Mac OS X: not available 02535 */ 02536 EXTERN_API( OSStatus ) 02537 ICCMapEntriesTypeCreator( 02538 ComponentInstance inst, 02539 Handle entries, 02540 OSType fType, 02541 OSType fCreator, 02542 ConstStr255Param filename, 02543 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A); 02544 02545 02546 /* See comment for ICCMapEntriesTypeCreator. */ 02547 /* ----- Low Level Routines ----- */ 02548 /* 02549 * ICCCountMapEntries() 02550 * 02551 * Availability: 02552 * Non-Carbon CFM: in InternetConfig 2.5 and later 02553 * CarbonLib: not available 02554 * Mac OS X: not available 02555 */ 02556 EXTERN_API( OSStatus ) 02557 ICCCountMapEntries( 02558 ComponentInstance inst, 02559 Handle entries, 02560 long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A); 02561 02562 02563 /* See comment for ICCCountMapEntries. */ 02564 /* 02565 * ICCGetIndMapEntry() 02566 * 02567 * Availability: 02568 * Non-Carbon CFM: in InternetConfig 2.5 and later 02569 * CarbonLib: not available 02570 * Mac OS X: not available 02571 */ 02572 EXTERN_API( OSStatus ) 02573 ICCGetIndMapEntry( 02574 ComponentInstance inst, 02575 Handle entries, 02576 long index, 02577 long * pos, 02578 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A); 02579 02580 02581 /* See comment for ICCGetIndMapEntry. */ 02582 /* 02583 * ICCGetMapEntry() 02584 * 02585 * Availability: 02586 * Non-Carbon CFM: in InternetConfig 2.5 and later 02587 * CarbonLib: not available 02588 * Mac OS X: not available 02589 */ 02590 EXTERN_API( OSStatus ) 02591 ICCGetMapEntry( 02592 ComponentInstance inst, 02593 Handle entries, 02594 long pos, 02595 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A); 02596 02597 02598 /* See comment for ICCGetMapEntry. */ 02599 /* 02600 * ICCSetMapEntry() 02601 * 02602 * Availability: 02603 * Non-Carbon CFM: in InternetConfig 2.5 and later 02604 * CarbonLib: not available 02605 * Mac OS X: not available 02606 */ 02607 EXTERN_API( OSStatus ) 02608 ICCSetMapEntry( 02609 ComponentInstance inst, 02610 Handle entries, 02611 long pos, 02612 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A); 02613 02614 02615 /* See comment for ICCSetMapEntry. */ 02616 /* 02617 * ICCDeleteMapEntry() 02618 * 02619 * Availability: 02620 * Non-Carbon CFM: in InternetConfig 2.5 and later 02621 * CarbonLib: not available 02622 * Mac OS X: not available 02623 */ 02624 EXTERN_API( OSStatus ) 02625 ICCDeleteMapEntry( 02626 ComponentInstance inst, 02627 Handle entries, 02628 long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A); 02629 02630 02631 /* See comment for ICCDeleteMapEntry. */ 02632 /* 02633 * ICCAddMapEntry() 02634 * 02635 * Availability: 02636 * Non-Carbon CFM: in InternetConfig 2.5 and later 02637 * CarbonLib: not available 02638 * Mac OS X: not available 02639 */ 02640 EXTERN_API( OSStatus ) 02641 ICCAddMapEntry( 02642 ComponentInstance inst, 02643 Handle entries, 02644 ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A); 02645 02646 02647 /* See comment for ICCAddMapEntry. */ 02648 /* ***** Profile Management Routines ***** */ 02649 /* 02650 * ICCGetCurrentProfile() 02651 * 02652 * Availability: 02653 * Non-Carbon CFM: in InternetConfig 2.5 and later 02654 * CarbonLib: not available 02655 * Mac OS X: not available 02656 */ 02657 EXTERN_API( OSStatus ) 02658 ICCGetCurrentProfile( 02659 ComponentInstance inst, 02660 ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A); 02661 02662 02663 /* See comment for ICCGetCurrentProfile. */ 02664 /* 02665 * ICCSetCurrentProfile() 02666 * 02667 * Availability: 02668 * Non-Carbon CFM: in InternetConfig 2.5 and later 02669 * CarbonLib: not available 02670 * Mac OS X: not available 02671 */ 02672 EXTERN_API( OSStatus ) 02673 ICCSetCurrentProfile( 02674 ComponentInstance inst, 02675 ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A); 02676 02677 02678 /* See comment for ICCSetCurrentProfile. */ 02679 /* 02680 * ICCCountProfiles() 02681 * 02682 * Availability: 02683 * Non-Carbon CFM: in InternetConfig 2.5 and later 02684 * CarbonLib: not available 02685 * Mac OS X: not available 02686 */ 02687 EXTERN_API( OSStatus ) 02688 ICCCountProfiles( 02689 ComponentInstance inst, 02690 long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A); 02691 02692 02693 /* See comment for ICCCountProfiles. */ 02694 /* 02695 * ICCGetIndProfile() 02696 * 02697 * Availability: 02698 * Non-Carbon CFM: in InternetConfig 2.5 and later 02699 * CarbonLib: not available 02700 * Mac OS X: not available 02701 */ 02702 EXTERN_API( OSStatus ) 02703 ICCGetIndProfile( 02704 ComponentInstance inst, 02705 long index, 02706 ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A); 02707 02708 02709 /* See comment for ICCGetIndProfile. */ 02710 /* 02711 * ICCGetProfileName() 02712 * 02713 * Availability: 02714 * Non-Carbon CFM: in InternetConfig 2.5 and later 02715 * CarbonLib: not available 02716 * Mac OS X: not available 02717 */ 02718 EXTERN_API( OSStatus ) 02719 ICCGetProfileName( 02720 ComponentInstance inst, 02721 ICProfileID thisID, 02722 Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A); 02723 02724 02725 /* See comment for ICCGetProfileName. */ 02726 /* 02727 * ICCSetProfileName() 02728 * 02729 * Availability: 02730 * Non-Carbon CFM: in InternetConfig 2.5 and later 02731 * CarbonLib: not available 02732 * Mac OS X: not available 02733 */ 02734 EXTERN_API( OSStatus ) 02735 ICCSetProfileName( 02736 ComponentInstance inst, 02737 ICProfileID thisID, 02738 ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A); 02739 02740 02741 /* See comment for ICCSetProfileName. */ 02742 /* 02743 * ICCAddProfile() 02744 * 02745 * Availability: 02746 * Non-Carbon CFM: in InternetConfig 2.5 and later 02747 * CarbonLib: not available 02748 * Mac OS X: not available 02749 */ 02750 EXTERN_API( OSStatus ) 02751 ICCAddProfile( 02752 ComponentInstance inst, 02753 ICProfileID prototypeID, 02754 ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A); 02755 02756 02757 /* See comment for ICCAddProfile. */ 02758 /* 02759 * ICCDeleteProfile() 02760 * 02761 * Availability: 02762 * Non-Carbon CFM: in InternetConfig 2.5 and later 02763 * CarbonLib: not available 02764 * Mac OS X: not available 02765 */ 02766 EXTERN_API( OSStatus ) 02767 ICCDeleteProfile( 02768 ComponentInstance inst, 02769 ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A); 02770 02771 02772 /* See comment for ICCDeleteProfile. */ 02773 /* ***** Interrupt Safe Routines ***** */ 02774 /* 02775 * ICCRequiresInterruptSafe() 02776 * 02777 * Availability: 02778 * Non-Carbon CFM: in InternetConfig 2.5 and later 02779 * CarbonLib: not available 02780 * Mac OS X: not available 02781 */ 02782 EXTERN_API( OSStatus ) 02783 ICCRequiresInterruptSafe(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A); 02784 02785 02786 /* See comment for ICCRequiresInterruptSafe. */ 02787 /* 02788 * ICCGetMappingInterruptSafe() 02789 * 02790 * Availability: 02791 * Non-Carbon CFM: in InternetConfig 2.5 and later 02792 * CarbonLib: not available 02793 * Mac OS X: not available 02794 */ 02795 EXTERN_API( OSStatus ) 02796 ICCGetMappingInterruptSafe( 02797 ComponentInstance inst, 02798 Ptr * mappingPref, 02799 long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A); 02800 02801 02802 /* See comment for ICCGetMappingInterruptSafe. */ 02803 /* 02804 * ICCGetSeedInterruptSafe() 02805 * 02806 * Availability: 02807 * Non-Carbon CFM: in InternetConfig 2.5 and later 02808 * CarbonLib: not available 02809 * Mac OS X: not available 02810 */ 02811 EXTERN_API( OSStatus ) 02812 ICCGetSeedInterruptSafe( 02813 ComponentInstance inst, 02814 long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A); 02815 02816 02817 /* See comment for ICCGetSeedInterruptSafe. */ 02818 #endif /* CALL_NOT_IN_CARBON */ 02819 02820 #if CALL_NOT_IN_CARBON 02821 02822 /************************************************************************************************ 02823 component selectors 02824 ************************************************************************************************/ 02825 02826 enum { 02827 kICCStart = 0, 02828 kICCStop = 1, 02829 kICCGetVersion = 50, 02830 kICCFindConfigFile = 2, 02831 kICCFindUserConfigFile = 14, 02832 kICCGeneralFindConfigFile = 30, 02833 kICCChooseConfig = 33, 02834 kICCChooseNewConfig = 34, 02835 kICCGetConfigName = 35, 02836 kICCGetConfigReference = 31, 02837 kICCSetConfigReference = 32, 02838 kICCSpecifyConfigFile = 3, 02839 kICCRefreshCaches = 47, 02840 kICCGetSeed = 4, 02841 kICCGetPerm = 13, 02842 kICCDefaultFileName = 11, 02843 kICCBegin = 5, 02844 kICCGetPref = 6, 02845 kICCSetPref = 7, 02846 kICCFindPrefHandle = 36, 02847 kICCGetPrefHandle = 26, 02848 kICCSetPrefHandle = 27, 02849 kICCCountPref = 8, 02850 kICCGetIndPref = 9, 02851 kICCDeletePref = 12, 02852 kICCEnd = 10, 02853 kICCGetDefaultPref = 49, 02854 kICCEditPreferences = 15, 02855 kICCLaunchURL = 17, 02856 kICCParseURL = 16, 02857 kICCCreateGURLEvent = 51, 02858 kICCSendGURLEvent = 52, 02859 kICCMapFilename = 24, 02860 kICCMapTypeCreator = 25, 02861 kICCMapEntriesFilename = 28, 02862 kICCMapEntriesTypeCreator = 29, 02863 kICCCountMapEntries = 18, 02864 kICCGetIndMapEntry = 19, 02865 kICCGetMapEntry = 20, 02866 kICCSetMapEntry = 21, 02867 kICCDeleteMapEntry = 22, 02868 kICCAddMapEntry = 23, 02869 kICCGetCurrentProfile = 37, 02870 kICCSetCurrentProfile = 38, 02871 kICCCountProfiles = 39, 02872 kICCGetIndProfile = 40, 02873 kICCGetProfileName = 41, 02874 kICCSetProfileName = 42, 02875 kICCAddProfile = 43, 02876 kICCDeleteProfile = 44, 02877 kICCRequiresInterruptSafe = 45, 02878 kICCGetMappingInterruptSafe = 46, 02879 kICCGetSeedInterruptSafe = 48, 02880 kICCFirstSelector = kICCStart, 02881 kICCLastSelector = 52 02882 }; 02883 02884 /************************************************************************************************ 02885 component selector proc infos 02886 ************************************************************************************************/ 02887 02888 enum { 02889 kICCStartProcInfo = 1008, 02890 kICCStopProcInfo = 240, 02891 kICCGetVersionProcInfo = 4080, 02892 kICCFindConfigFileProcInfo = 3824, 02893 kICCFindUserConfigFileProcInfo = 1008, 02894 kICCGeneralFindConfigFileProcInfo = 58864L, 02895 kICCChooseConfigProcInfo = 240, 02896 kICCChooseNewConfigProcInfo = 240, 02897 kICCGetConfigNameProcInfo = 3568, 02898 kICCGetConfigReferenceProcInfo = 1008, 02899 kICCSetConfigReferenceProcInfo = 4080, 02900 kICCSpecifyConfigFileProcInfo = 1008, 02901 kICCRefreshCachesProcInfo = 240, 02902 kICCGetSeedProcInfo = 1008, 02903 kICCGetPermProcInfo = 1008, 02904 kICCDefaultFileNameProcInfo = 1008, 02905 kICCGetComponentInstanceProcInfo = 1008, 02906 kICCBeginProcInfo = 496, 02907 kICCGetPrefProcInfo = 65520L, 02908 kICCSetPrefProcInfo = 65520L, 02909 kICCFindPrefHandleProcInfo = 16368, 02910 kICCGetPrefHandleProcInfo = 16368, 02911 kICCSetPrefHandleProcInfo = 16368, 02912 kICCCountPrefProcInfo = 1008, 02913 kICCGetIndPrefProcInfo = 4080, 02914 kICCDeletePrefProcInfo = 1008, 02915 kICCEndProcInfo = 240, 02916 kICCGetDefaultPrefProcInfo = 4080, 02917 kICCEditPreferencesProcInfo = 1008, 02918 kICCLaunchURLProcInfo = 262128L, 02919 kICCParseURLProcInfo = 1048560L, 02920 kICCCreateGURLEventProcInfo = 16368, 02921 kICCSendGURLEventProcInfo = 1008, 02922 kICCMapFilenameProcInfo = 4080, 02923 kICCMapTypeCreatorProcInfo = 65520L, 02924 kICCMapEntriesFilenameProcInfo = 16368, 02925 kICCMapEntriesTypeCreatorProcInfo = 262128L, 02926 kICCCountMapEntriesProcInfo = 4080, 02927 kICCGetIndMapEntryProcInfo = 65520L, 02928 kICCGetMapEntryProcInfo = 16368, 02929 kICCSetMapEntryProcInfo = 16368, 02930 kICCDeleteMapEntryProcInfo = 4080, 02931 kICCAddMapEntryProcInfo = 4080, 02932 kICCGetCurrentProfileProcInfo = 1008, 02933 kICCSetCurrentProfileProcInfo = 1008, 02934 kICCCountProfilesProcInfo = 1008, 02935 kICCGetIndProfileProcInfo = 4080, 02936 kICCGetProfileNameProcInfo = 4080, 02937 kICCSetProfileNameProcInfo = 4080, 02938 kICCAddProfileProcInfo = 4080, 02939 kICCDeleteProfileProcInfo = 1008, 02940 kICCRequiresInterruptSafeProcInfo = 240, 02941 kICCGetMappingInterruptSafeProcInfo = 4080, 02942 kICCGetSeedInterruptSafeProcInfo = 1008 02943 }; 02944 02945 /************************************************************************************************ 02946 component identifiers 02947 ************************************************************************************************/ 02948 02949 enum { 02950 kICComponentType = FOUR_CHAR_CODE('PREF'), 02951 kICComponentSubType = FOUR_CHAR_CODE('ICAp'), 02952 kICComponentManufacturer = FOUR_CHAR_CODE('JPQE') 02953 }; 02954 02955 /************************************************************************************************ 02956 The following type is now obsolete. 02957 If you're using it, please switch to ComponentInstance or ICInstance. 02958 ************************************************************************************************/ 02959 02960 #if OLDROUTINENAMES 02961 typedef ComponentInstance internetConfigurationComponent; 02962 02963 #endif /* OLDROUTINENAMES */ 02964 02965 #endif /* CALL_NOT_IN_CARBON */ 02966 02967 /************************************************************************************************ 02968 old names for stuff declared above 02969 ************************************************************************************************/ 02970 02971 #if OLDROUTINENAMES 02972 02973 typedef long ICError; 02974 02975 enum { 02976 ICattr_no_change = (unsigned long)(kICAttrNoChange), 02977 ICattr_locked_bit = kICAttrLockedBit, 02978 ICattr_locked_mask = kICAttrLockedMask, 02979 ICattr_volatile_bit = kICAttrVolatileBit, 02980 ICattr_volatile_mask = kICAttrVolatileMask, 02981 icNoUserInteraction_bit = kICNoUserInteractionBit, 02982 icNoUserInteraction_mask = kICNoUserInteractionMask, 02983 ICfiletype = kICFileType, 02984 ICcreator = kICCreator 02985 }; 02986 02987 /* 02988 ICFileInfo was originally used to define the format of a key. 02989 That key was removed, but we forgot to remove ICFileInfo. 02990 I hope to remove it entirely, but for the moment it's available 02991 if you define OLDROUTINENAMES. 02992 */ 02993 struct ICFileInfo { 02994 OSType fType; 02995 OSType fCreator; 02996 Str63 name; 02997 }; 02998 typedef struct ICFileInfo ICFileInfo; 02999 typedef ICFileInfo * ICFileInfoPtr; 03000 typedef ICFileInfoPtr * ICFileInfoHandle; 03001 03002 enum { 03003 ICfile_spec_header_size = kICFileSpecHeaderSize 03004 }; 03005 03006 enum { 03007 ICmap_binary_bit = kICMapBinaryBit, 03008 ICmap_binary_mask = kICMapBinaryMask, 03009 ICmap_resource_fork_bit = kICMapResourceForkBit, 03010 ICmap_resource_fork_mask = kICMapResourceForkMask, 03011 ICmap_data_fork_bit = kICMapDataForkBit, 03012 ICmap_data_fork_mask = kICMapDataForkMask, 03013 ICmap_post_bit = kICMapPostBit, 03014 ICmap_post_mask = kICMapPostMask, 03015 ICmap_not_incoming_bit = kICMapNotIncomingBit, 03016 ICmap_not_incoming_mask = kICMapNotIncomingMask, 03017 ICmap_not_outgoing_bit = kICMapNotOutgoingBit, 03018 ICmap_not_outgoing_mask = kICMapNotOutgoingMask, 03019 ICmap_fixed_length = kICMapFixedLength 03020 }; 03021 03022 enum { 03023 ICservices_tcp_bit = kICServicesTCPBit, 03024 ICservices_tcp_mask = kICServicesTCPMask, 03025 ICservices_udp_bit = kICServicesUDPBit, 03026 ICservices_udp_mask = kICServicesUDPMask 03027 }; 03028 03029 /* This definitions are a) very long, and b) don't conform 03030 to Mac OS standards for naming constants, so I've put 03031 them in only if you're using OLDROUTINENAMES. Please switch 03032 to the new names given above. 03033 */ 03034 enum { 03035 internetConfigurationComponentType = FOUR_CHAR_CODE('PREF'), /* the component type */ 03036 internetConfigurationComponentSubType = FOUR_CHAR_CODE('ICAp'), /* the component subtype */ 03037 internetConfigurationComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */ 03038 internetConfigurationComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */ 03039 internetConfigurationComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */ 03040 internetConfigurationComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */ 03041 /* current version number is version 3 */ 03042 internetConfigurationComponentInterfaceVersion = internetConfigurationComponentInterfaceVersion3 03043 }; 03044 03045 #endif /* OLDROUTINENAMES */ 03046 03047 03048 #if PRAGMA_STRUCT_ALIGN 03049 #pragma options align=reset 03050 #elif PRAGMA_STRUCT_PACKPUSH 03051 #pragma pack(pop) 03052 #elif PRAGMA_STRUCT_PACK 03053 #pragma pack() 03054 #endif 03055 03056 #ifdef PRAGMA_IMPORT_OFF 03057 #pragma import off 03058 #elif PRAGMA_IMPORT 03059 #pragma import reset 03060 #endif 03061 03062 #ifdef __cplusplus 03063 } 03064 #endif 03065 03066 #endif /* __INTERNETCONFIG__ */ 03067
Generated on Thu Oct 27 11:46:44 2005 with
1.4.5 written by Dimitri van Heesch,
© 1997-2001