InternetConfig.pas 85 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461
  1. {
  2. File: InternetConfig.p
  3. Contains: Internet Config interfaces
  4. Version: Technology: based on IC 2.5 alpha
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1999-2002 by Apple Computer, Inc., all rights reserved.
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {*********************************************************************************************}
  12. {
  13. Modified for use with Free Pascal
  14. Version 200
  15. Please report any bugs to <[email protected]>
  16. }
  17. {$mode macpas}
  18. {$packenum 1}
  19. {$macro on}
  20. {$inline on}
  21. {$CALLING MWPASCAL}
  22. unit InternetConfig;
  23. interface
  24. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  25. {$setc GAP_INTERFACES_VERSION := $0200}
  26. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  27. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  28. {$endc}
  29. {$ifc defined CPUPOWERPC and defined CPUI386}
  30. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  31. {$endc}
  32. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  33. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  34. {$endc}
  35. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  36. {$setc __ppc__ := 1}
  37. {$elsec}
  38. {$setc __ppc__ := 0}
  39. {$endc}
  40. {$ifc not defined __i386__ and defined CPUI386}
  41. {$setc __i386__ := 1}
  42. {$elsec}
  43. {$setc __i386__ := 0}
  44. {$endc}
  45. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  46. {$error Conflicting definitions for __ppc__ and __i386__}
  47. {$endc}
  48. {$ifc defined __ppc__ and __ppc__}
  49. {$setc TARGET_CPU_PPC := TRUE}
  50. {$setc TARGET_CPU_X86 := FALSE}
  51. {$elifc defined __i386__ and __i386__}
  52. {$setc TARGET_CPU_PPC := FALSE}
  53. {$setc TARGET_CPU_X86 := TRUE}
  54. {$elsec}
  55. {$error Neither __ppc__ nor __i386__ is defined.}
  56. {$endc}
  57. {$setc TARGET_CPU_PPC_64 := FALSE}
  58. {$ifc defined FPC_BIG_ENDIAN}
  59. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  60. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  61. {$elifc defined FPC_LITTLE_ENDIAN}
  62. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  63. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  64. {$elsec}
  65. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  66. {$endc}
  67. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  68. {$setc CALL_NOT_IN_CARBON := FALSE}
  69. {$setc OLDROUTINENAMES := FALSE}
  70. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  71. {$setc OPAQUE_UPP_TYPES := TRUE}
  72. {$setc OTCARBONAPPLICATION := TRUE}
  73. {$setc OTKERNEL := FALSE}
  74. {$setc PM_USE_SESSION_APIS := TRUE}
  75. {$setc TARGET_API_MAC_CARBON := TRUE}
  76. {$setc TARGET_API_MAC_OS8 := FALSE}
  77. {$setc TARGET_API_MAC_OSX := TRUE}
  78. {$setc TARGET_CARBON := TRUE}
  79. {$setc TARGET_CPU_68K := FALSE}
  80. {$setc TARGET_CPU_MIPS := FALSE}
  81. {$setc TARGET_CPU_SPARC := FALSE}
  82. {$setc TARGET_OS_MAC := TRUE}
  83. {$setc TARGET_OS_UNIX := FALSE}
  84. {$setc TARGET_OS_WIN32 := FALSE}
  85. {$setc TARGET_RT_MAC_68881 := FALSE}
  86. {$setc TARGET_RT_MAC_CFM := FALSE}
  87. {$setc TARGET_RT_MAC_MACHO := TRUE}
  88. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  89. {$setc TYPE_BOOL := FALSE}
  90. {$setc TYPE_EXTENDED := FALSE}
  91. {$setc TYPE_LONGLONG := TRUE}
  92. uses MacTypes,Files,Aliases,Components,AEDataModel;
  93. {$ALIGN MAC68K}
  94. {***********************************************************************************************
  95. IC error codes
  96. ***********************************************************************************************}
  97. const
  98. icPrefNotFoundErr = -666; { preference not found (duh!) }
  99. icPermErr = -667; { cannot set preference }
  100. icPrefDataErr = -668; { problem with preference data }
  101. icInternalErr = -669; { hmm, this is not good }
  102. icTruncatedErr = -670; { more data was present than was returned }
  103. icNoMoreWritersErr = -671; { you cannot begin a write session because someone else is already doing it }
  104. icNothingToOverrideErr = -672; { no component for the override component to capture }
  105. icNoURLErr = -673; { no URL found }
  106. icConfigNotFoundErr = -674; { no configuration was found }
  107. icConfigInappropriateErr = -675; { incorrect manufacturer code }
  108. icProfileNotFoundErr = -676; { profile not found }
  109. icTooManyProfilesErr = -677; { too many profiles in database }
  110. { ***********************************************************************************************
  111. IC versions (not necessarily, but historically, from a component)
  112. *********************************************************************************************** }
  113. kICComponentInterfaceVersion0 = $00000000; { IC >= 1.0 }
  114. kICComponentInterfaceVersion1 = $00010000; { IC >= 1.1 }
  115. kICComponentInterfaceVersion2 = $00020000; { IC >= 1.2 }
  116. kICComponentInterfaceVersion3 = $00030000; { IC >= 2.0 }
  117. kICComponentInterfaceVersion4 = $00040000; { IC >= 2.5 }
  118. kICComponentInterfaceVersion = $00040000; { current version number is 4 }
  119. { ***********************************************************************************************
  120. opaque type for preference reference
  121. *********************************************************************************************** }
  122. type
  123. ICInstance = ^SInt32; { an opaque 32-bit type }
  124. ICInstancePtr = ^ICInstance; { when a var xx:ICInstance parameter can be nil, it is changed to xx: ICInstancePtr }
  125. { ***********************************************************************************************
  126. a record that specifies a folder, an array of such records, and a pointer to such an array
  127. *********************************************************************************************** }
  128. ICDirSpecPtr = ^ICDirSpec;
  129. ICDirSpec = record
  130. vRefNum: SInt16;
  131. dirID: SInt32;
  132. end;
  133. ICDirSpecArray = array [0..3] of ICDirSpec;
  134. ICDirSpecArrayPtr = ^ICDirSpecArray;
  135. { ***********************************************************************************************
  136. preference attributes type, bit number constants, and mask constants
  137. *********************************************************************************************** }
  138. ICAttr = UInt32;
  139. const
  140. kICAttrLockedBit = 0;
  141. kICAttrVolatileBit = 1;
  142. kICAttrNoChange = $FFFFFFFF; { pass this to ICSetPref to tell it not to change the attributes }
  143. kICAttrLockedMask = $00000001;
  144. kICAttrVolatileMask = $00000002;
  145. { ***********************************************************************************************
  146. permissions for use with ICBegin
  147. *********************************************************************************************** }
  148. type
  149. ICPerm = UInt8;
  150. const
  151. icNoPerm = 0;
  152. icReadOnlyPerm = 1;
  153. icReadWritePerm = 2;
  154. { ***********************************************************************************************
  155. a reference to an instance's current configuration
  156. *********************************************************************************************** }
  157. {$ifc CALL_NOT_IN_CARBON}
  158. type
  159. ICConfigRefPtr = ^ICConfigRef;
  160. ICConfigRef = record
  161. manufacturer: OSType;
  162. { other private data follows }
  163. end;
  164. ICConfigRefHandle = ^ICConfigRefPtr;
  165. {$endc} {CALL_NOT_IN_CARBON}
  166. {***********************************************************************************************
  167. profile IDs
  168. ***********************************************************************************************}
  169. type
  170. ICProfileID = SInt32;
  171. ICProfileIDPtr = ^ICProfileID;
  172. const
  173. kICNilProfileID = 0;
  174. { ***********************************************************************************************
  175. other constants
  176. *********************************************************************************************** }
  177. kICNoUserInteractionBit = 0;
  178. kICNoUserInteractionMask = $00000001;
  179. kICFileType = $49434170 (* 'ICAp' *);
  180. kICCreator = $49434170 (* 'ICAp' *);
  181. { ***********************************************************************************************
  182. Apple event constants
  183. *********************************************************************************************** }
  184. kInternetEventClass = $4755524C (* 'GURL' *);
  185. kAEGetURL = $4755524C (* 'GURL' *);
  186. kAEFetchURL = $4655524C (* 'FURL' *);
  187. keyAEAttaching = $41746368 (* 'Atch' *);
  188. { AERegistry.i defines a compatible keyAEDestination }
  189. kICEditPreferenceEventClass = $49434170 (* 'ICAp' *);
  190. kICEditPreferenceEvent = $49434170 (* 'ICAp' *);
  191. keyICEditPreferenceDestination = $64657374 (* 'dest' *);
  192. { ***********************************************************************************************
  193. constants for use with ICGetVersion
  194. *********************************************************************************************** }
  195. kICComponentVersion = 0; { Return a component version, comparable to kICComponentInterfaceVersion }
  196. kICNumVersion = 1; { Return a NumVersion structure }
  197. { ***********************************************************************************************
  198. types and constants for use with kICDocumentFont, et. al.
  199. *********************************************************************************************** }
  200. type
  201. ICFontRecordPtr = ^ICFontRecord;
  202. ICFontRecord = record
  203. size: SInt16;
  204. face: SInt8;
  205. pad: SInt8;
  206. font: Str255;
  207. end;
  208. ICFontRecordHandle = ^ICFontRecordPtr;
  209. { ***********************************************************************************************
  210. types and constants for use with kICCharacterSet, et. al.
  211. *********************************************************************************************** }
  212. ICCharTablePtr = ^ICCharTable;
  213. ICCharTable = record
  214. netToMac: packed array [0..255] of UInt8;
  215. macToNet: packed array [0..255] of UInt8;
  216. end;
  217. ICCharTableHandle = ^ICCharTablePtr;
  218. { ***********************************************************************************************
  219. types and constants for use with kICHelper, et. al.
  220. *********************************************************************************************** }
  221. ICAppSpecPtr = ^ICAppSpec;
  222. ICAppSpec = record
  223. fCreator: OSType;
  224. name: Str63;
  225. end;
  226. ICAppSpecHandle = ^ICAppSpecPtr;
  227. ICAppSpecListPtr = ^ICAppSpecList;
  228. ICAppSpecList = record
  229. numberOfItems: SInt16;
  230. appSpecs: array [0..0] of ICAppSpec;
  231. end;
  232. ICAppSpecListHandle = ^ICAppSpecListPtr;
  233. { ***********************************************************************************************
  234. types and constants for use with kICDownloadFolder, et. al.
  235. *********************************************************************************************** }
  236. {$ifc NOT OLDROUTINENAMES}
  237. ICFileSpecPtr = ^ICFileSpec;
  238. ICFileSpec = record
  239. volName: Str31;
  240. volCreationDate: SInt32;
  241. fss: FSSpec;
  242. alias: AliasRecord;
  243. { plus extra data, aliasSize 0 means no alias manager present when }
  244. { ICFileSpecification was created }
  245. end;
  246. ICFileSpecHandle = ^ICFileSpecPtr;
  247. {$elsec}
  248. ICFileSpecPtr = ^ICFileSpec;
  249. ICFileSpec = record
  250. vol_name: Str31;
  251. vol_creation_date: SInt32;
  252. fss: FSSpec;
  253. alias: AliasRecord;
  254. end;
  255. ICFileSpecHandle = ^ICFileSpecPtr;
  256. {$endc}
  257. const
  258. kICFileSpecHeaderSize = 106;
  259. { ***********************************************************************************************
  260. types and constants for use with ICMapFilename, et. al.
  261. *********************************************************************************************** }
  262. type
  263. ICMapEntryFlags = SInt32;
  264. ICFixedLength = SInt16;
  265. {$ifc NOT OLDROUTINENAMES}
  266. ICMapEntryPtr = ^ICMapEntry;
  267. ICMapEntry = record
  268. totalLength: SInt16;
  269. fixedLength: ICFixedLength;
  270. version: SInt16;
  271. fileType: OSType;
  272. fileCreator: OSType;
  273. postCreator: OSType;
  274. flags: ICMapEntryFlags;
  275. { variable part starts here }
  276. extension: Str255;
  277. creatorAppName: Str255;
  278. postAppName: Str255;
  279. MIMEType: Str255;
  280. entryName: Str255;
  281. end;
  282. ICMapEntryHandle = ^ICMapEntryPtr;
  283. {$elsec}
  284. ICMapEntryPtr = ^ICMapEntry;
  285. ICMapEntry = record
  286. total_length: SInt16;
  287. fixed_length: ICFixedLength;
  288. version: SInt16;
  289. file_type: OSType;
  290. file_creator: OSType;
  291. post_creator: OSType;
  292. flags: ICMapEntryFlags;
  293. extension: Str255;
  294. creator_app_name: Str255;
  295. post_app_name: Str255;
  296. MIME_type: Str255;
  297. entry_name: Str255;
  298. end;
  299. ICMapEntryHandle = ^ICMapEntryPtr;
  300. {$endc}
  301. const
  302. kICMapFixedLength = 22; { number in fixedLength field }
  303. kICMapBinaryBit = 0; { file should be transfered in binary as opposed to text mode }
  304. kICMapResourceForkBit = 1; { the resource fork of the file is significant }
  305. kICMapDataForkBit = 2; { the data fork of the file is significant }
  306. kICMapPostBit = 3; { post process using post fields }
  307. kICMapNotIncomingBit = 4; { ignore this mapping for incoming files }
  308. kICMapNotOutgoingBit = 5; { ignore this mapping for outgoing files }
  309. kICMapBinaryMask = $00000001; { file should be transfered in binary as opposed to text mode }
  310. kICMapResourceForkMask = $00000002; { the resource fork of the file is significant }
  311. kICMapDataForkMask = $00000004; { the data fork of the file is significant }
  312. kICMapPostMask = $00000008; { post process using post fields }
  313. kICMapNotIncomingMask = $00000010; { ignore this mapping for incoming files }
  314. kICMapNotOutgoingMask = $00000020; { ignore this mapping for outgoing files }
  315. { ***********************************************************************************************
  316. types and constants for use with kICServices, et. al.
  317. *********************************************************************************************** }
  318. type
  319. ICServiceEntryFlags = SInt16;
  320. ICServiceEntryPtr = ^ICServiceEntry;
  321. ICServiceEntry = record
  322. name: Str255;
  323. port: SInt16;
  324. flags: ICServiceEntryFlags;
  325. end;
  326. ICServiceEntryHandle = ^ICServiceEntryPtr;
  327. const
  328. kICServicesTCPBit = 0;
  329. kICServicesUDPBit = 1; { both bits can be set, which means the service is both TCP and UDP, eg daytime }
  330. kICServicesTCPMask = $00000001;
  331. kICServicesUDPMask = $00000002; { both bits can be set, which means the service is both TCP and UDP, eg daytime }
  332. type
  333. ICServicesPtr = ^ICServices;
  334. ICServices = record
  335. count: SInt16;
  336. services: array [0..0] of ICServiceEntry;
  337. end;
  338. ICServicesHandle = ^ICServicesPtr;
  339. { ***********************************************************************************************
  340. default file name, for internal use, overridden by a component resource
  341. *********************************************************************************************** }
  342. {$ifc CALL_NOT_IN_CARBON}
  343. const
  344. kICDefaultFileName = 'Internet Preferences';
  345. {$endc} {CALL_NOT_IN_CARBON}
  346. {***********************************************************************************************
  347. keys
  348. ***********************************************************************************************}
  349. {
  350. key reserved for use by Internet Config
  351. }
  352. const
  353. kICReservedKey = 'kICReservedKey';
  354. {
  355. STR# -- formatted, list of Archie servers
  356. }
  357. kICArchieAll = 'ArchieAll';
  358. {
  359. PString -- formatted, preferred Archie server
  360. }
  361. kICArchiePreferred = 'ArchiePreferred';
  362. {
  363. ICCharTable -- Mac-to-Net and Net-to-Mac character translation
  364. }
  365. kICCharacterSet = 'CharacterSet';
  366. {
  367. ICFontRecord -- font used for proportional text
  368. }
  369. kICDocumentFont = 'DocumentFont';
  370. {
  371. ICFileSpec -- where to put newly downloaded files
  372. }
  373. kICDownloadFolder = 'DownloadFolder';
  374. {
  375. PString -- [email protected], email address of user, ie return address
  376. }
  377. kICEmail = 'Email';
  378. {
  379. PString -- host.domain, default FTP server
  380. }
  381. kICFTPHost = 'FTPHost';
  382. {
  383. PString -- second level FTP proxy authorisation
  384. }
  385. kICFTPProxyAccount = 'FTPProxyAccount';
  386. {
  387. PString -- host.domain
  388. }
  389. kICFTPProxyHost = 'FTPProxyHost';
  390. {
  391. PString -- scrambled, password for FTPProxyUser
  392. }
  393. kICFTPProxyPassword = 'FTPProxyPassword';
  394. {
  395. PString -- first level FTP proxy authorisation
  396. }
  397. kICFTPProxyUser = 'FTPProxyUser';
  398. {
  399. PString -- host.domain, default finger server
  400. }
  401. kICFingerHost = 'FingerHost';
  402. {
  403. PString -- host.domain, default Gopher server
  404. }
  405. kICGopherHost = 'GopherHost';
  406. {
  407. PString -- host.domain, see note in Prog Docs
  408. }
  409. kICGopherProxy = 'GopherProxy';
  410. {
  411. PString -- host.domain
  412. }
  413. kICHTTPProxyHost = 'HTTPProxyHost';
  414. {
  415. ICAppSpec -- helpers for URL schemes
  416. }
  417. kICHelper = 'Helper¥';
  418. {
  419. PString -- description for URL scheme
  420. }
  421. kICHelperDesc = 'HelperDesc¥';
  422. {
  423. ICAppSpecList -- list of common helpers for URL schemes
  424. }
  425. kICHelperList = 'HelperList¥';
  426. {
  427. PString -- host.domain, Internet Relay Chat server
  428. }
  429. kICIRCHost = 'IRCHost';
  430. {
  431. STR# -- formatted, list of Info-Mac servers
  432. }
  433. kICInfoMacAll = 'InfoMacAll';
  434. {
  435. PString -- formatted, preferred Info-Mac server
  436. }
  437. kICInfoMacPreferred = 'InfoMacPreferred';
  438. {
  439. PString -- string LDAP thing
  440. }
  441. kICLDAPSearchbase = 'LDAPSearchbase';
  442. {
  443. PString -- host.domain
  444. }
  445. kICLDAPServer = 'LDAPServer';
  446. {
  447. ICFontRecord -- font used for lists of items (eg news article lists)
  448. }
  449. kICListFont = 'ListFont';
  450. {
  451. PString -- host for MacSearch queries
  452. }
  453. kICMacSearchHost = 'MacSearchHost';
  454. {
  455. PString -- [email protected], account from which to fetch mail
  456. }
  457. kICMailAccount = 'MailAccount';
  458. {
  459. TEXT -- extra headers for mail messages
  460. }
  461. kICMailHeaders = 'MailHeaders';
  462. {
  463. PString -- scrambled, password for MailAccount
  464. }
  465. kICMailPassword = 'MailPassword';
  466. {
  467. ICMapEntries -- file type mapping, see documentation
  468. }
  469. kICMapping = 'Mapping';
  470. {
  471. PString -- host.domain, NNTP server
  472. }
  473. kICNNTPHost = 'NNTPHost';
  474. {
  475. PString -- host.domain, Network Time Protocol (NTP)
  476. }
  477. kICNTPHost = 'NTPHost';
  478. {
  479. Boolean
  480. }
  481. kICNewMailDialog = 'NewMailDialog';
  482. {
  483. Boolean -- how to announce new mail
  484. }
  485. kICNewMailFlashIcon = 'NewMailFlashIcon';
  486. {
  487. Boolean
  488. }
  489. kICNewMailPlaySound = 'NewMailPlaySound';
  490. {
  491. PString
  492. }
  493. kICNewMailSoundName = 'NewMailSoundName';
  494. {
  495. PString -- scrambled, password for NewsAuthUsername
  496. }
  497. kICNewsAuthPassword = 'NewsAuthPassword';
  498. {
  499. PString -- user name for authorised news servers
  500. }
  501. kICNewsAuthUsername = 'NewsAuthUsername';
  502. {
  503. TEXT -- extra headers for news messages
  504. }
  505. kICNewsHeaders = 'NewsHeaders';
  506. {
  507. STR# -- list of domains not to be proxied
  508. }
  509. kICNoProxyDomains = 'NoProxyDomains';
  510. {
  511. PString -- for X-Organization string
  512. }
  513. kICOrganization = 'Organization';
  514. {
  515. PString -- host.domain, default Ph server
  516. }
  517. kICPhHost = 'PhHost';
  518. {
  519. TEXT -- default response for finger servers
  520. }
  521. kICPlan = $506C616E (* 'Plan' *);
  522. {
  523. ICFontRecord -- font used to print ScreenFont
  524. }
  525. kICPrinterFont = 'PrinterFont';
  526. {
  527. PString -- used to quote responses in news and mail
  528. }
  529. kICQuotingString = 'QuotingString';
  530. {
  531. PString -- real name of user
  532. }
  533. kICRealName = 'RealName';
  534. {
  535. PString -- RTSP Proxy Host
  536. }
  537. kICRTSPProxyHost = 'RTSPProxyHost';
  538. {
  539. PString -- host.domain, SMTP server
  540. }
  541. kICSMTPHost = 'SMTPHost';
  542. {
  543. ICFontRecord -- font used for monospaced text (eg news articles)
  544. }
  545. kICScreenFont = 'ScreenFont';
  546. {
  547. ICServices -- TCP and IP port-to-name mapping
  548. }
  549. kICServices = 'Services';
  550. {
  551. TEXT -- append to news and mail messages
  552. }
  553. kICSignature = 'Signature';
  554. {
  555. TEXT -- preferred mailing address
  556. }
  557. kICSnailMailAddress = 'SnailMailAddress';
  558. {
  559. PString -- host.domain, remember that host.domain format allows ":port" and " port"
  560. }
  561. kICSocksHost = 'SocksHost';
  562. {
  563. PString -- host.domain, default Telnet address
  564. }
  565. kICTelnetHost = 'TelnetHost';
  566. {
  567. STR# -- formatted, list of UMich servers
  568. }
  569. kICUMichAll = 'UMichAll';
  570. {
  571. PString -- formatted, preferred UMich server
  572. }
  573. kICUMichPreferred = 'UMichPreferred';
  574. {
  575. Boolean
  576. }
  577. kICUseFTPProxy = 'UseFTPProxy';
  578. {
  579. Boolean
  580. }
  581. kICUseGopherProxy = 'UseGopherProxy';
  582. {
  583. Boolean
  584. }
  585. kICUseHTTPProxy = 'UseHTTPProxy';
  586. {
  587. Boolean -- use PASV command for FTP transfers
  588. }
  589. kICUsePassiveFTP = 'UsePassiveFTP';
  590. {
  591. Boolean
  592. }
  593. kICUseRTSPProxy = 'UseRTSPProxy';
  594. {
  595. Boolean
  596. }
  597. kICUseSocks = 'UseSocks';
  598. {
  599. PString -- no idea
  600. }
  601. kICWAISGateway = 'WAISGateway';
  602. {
  603. PString -- URL, users default WWW page
  604. }
  605. kICWWWHomePage = 'WWWHomePage';
  606. {
  607. RGBColor -- background colour for web pages
  608. }
  609. kICWebBackgroundColour = 'WebBackgroundColour';
  610. {
  611. RGBColor -- colour for read links
  612. }
  613. kICWebReadColor = '646F6777¥WebReadColor';
  614. {
  615. PString -- URL, users default search page
  616. }
  617. kICWebSearchPagePrefs = 'WebSearchPagePrefs';
  618. {
  619. RGBColor -- colour for normal text
  620. }
  621. kICWebTextColor = 'WebTextColor';
  622. {
  623. Boolean -- whether to underline links
  624. }
  625. kICWebUnderlineLinks = '646F6777¥WebUnderlineLinks';
  626. {
  627. RGBColor -- colour for unread links
  628. }
  629. kICWebUnreadColor = '646F6777¥WebUnreadColor';
  630. {
  631. PString -- host.domain, default whois server
  632. }
  633. kICWhoisHost = 'WhoisHost';
  634. { ***********************************************************************************************
  635. FUNCTIONS
  636. What do the annotations after each API mean?
  637. --------------------------------------------
  638. [r1] Requires IC 1.1 or higher.
  639. [r2] Requires IC 1.2 or higher.
  640. [r3] Requires IC 2.0 or higher.
  641. [r4] Requires IC 2.5 or higher.
  642. IMPORTANT:
  643. In IC 2.5, instances automatically use the default configuration.
  644. You no longer need to configure an instance explicitly, except
  645. if your code might run with an older version of IC. So the following
  646. notes only apply to IC 2.0 and earlier.
  647. [c1] You must have specified a configuration before calling this routine.
  648. [c2] You must have specified the default configuration before calling this
  649. routine.
  650. [c3] You do not need to specify a configuration before calling this routine.
  651. [b1] You must be inside a Begin/End pair when calling this routine.
  652. [b2] You must be inside a Begin/End read/write pair when calling this routine.
  653. [b3] You do not need to be inside a Begin/End pair when calling this routine.
  654. [b4] If you are getting or setting multiple preferences, you should make this
  655. call inside a Begin/End pair. If you do not make this call inside a Begin/End
  656. pair, the call will automatically do it for you.
  657. [b5] It is illegal to call this routine inside a Begin/End pair.
  658. *********************************************************************************************** }
  659. { ***** Starting Up and Shutting Down ***** }
  660. {
  661. * ICStart()
  662. *
  663. * Availability:
  664. * Non-Carbon CFM: in InternetConfig 2.5 and later
  665. * CarbonLib: in CarbonLib 1.0.2 and later
  666. * Mac OS X: in version 10.0 and later
  667. }
  668. function ICStart(var inst: ICInstance; signature: OSType): OSStatus; external name '_ICStart';
  669. { Call this at application initialisation. Set signature to a value
  670. * which has been regsitered with DTS to allow for future expansion
  671. * of the IC system. Returns inst as a connection to the IC system.
  672. }
  673. {
  674. * ICStop()
  675. *
  676. * Availability:
  677. * Non-Carbon CFM: in InternetConfig 2.5 and later
  678. * CarbonLib: in CarbonLib 1.0.2 and later
  679. * Mac OS X: in version 10.0 and later
  680. }
  681. function ICStop(inst: ICInstance): OSStatus; external name '_ICStop';
  682. { [b5]
  683. * Call this at application initialisation, after which inst
  684. * is no longer valid connection to IC.
  685. }
  686. {
  687. * ICGetVersion()
  688. *
  689. * Availability:
  690. * Non-Carbon CFM: in InternetConfig 2.5 and later
  691. * CarbonLib: in CarbonLib 1.0.2 and later
  692. * Mac OS X: in version 10.0 and later
  693. }
  694. function ICGetVersion(inst: ICInstance; whichVersion: SInt32; var version: UInt32): OSStatus; external name '_ICGetVersion';
  695. { [r4] [c3] [b3]
  696. * Returns the version of Internet Config. Pass kICComponentVersion
  697. * to get the version as previously returned by GetComponenVerson.
  698. * Pass kICNumVersion to get a NumVersion structure.
  699. }
  700. { ***** Specifying a Configuration ***** }
  701. {$ifc CALL_NOT_IN_CARBON}
  702. {
  703. * ICFindConfigFile()
  704. *
  705. * Availability:
  706. * Non-Carbon CFM: in InternetConfig 2.5 and later
  707. * CarbonLib: not available
  708. * Mac OS X: not available
  709. }
  710. function ICFindConfigFile(inst: ICInstance; count: SInt16; folders: ICDirSpecArrayPtr): OSStatus; external name '_ICFindConfigFile';
  711. { [b5]
  712. * Call to configure this connection to IC.
  713. * Set count as the number of valid elements in folders.
  714. * Set folders to a pointer to the folders to search.
  715. * Setting count to 0 and folders to nil is OK.
  716. * Searches the specified folders and then the Preferences folder
  717. * in a unspecified manner.
  718. }
  719. {
  720. * ICFindUserConfigFile()
  721. *
  722. * Availability:
  723. * Non-Carbon CFM: in InternetConfig 2.5 and later
  724. * CarbonLib: not available
  725. * Mac OS X: not available
  726. }
  727. function ICFindUserConfigFile(inst: ICInstance; var where: ICDirSpec): OSStatus; external name '_ICFindUserConfigFile';
  728. { [r1] [b5]
  729. * Similar to ICFindConfigFile except that it only searches the folder
  730. * specified in where. If the input parameters are valid the routine
  731. * will always successful configure the instance, creating an
  732. * empty configuration if necessary
  733. * For use with double-clickable preference files.
  734. }
  735. {
  736. * ICGeneralFindConfigFile()
  737. *
  738. * Availability:
  739. * Non-Carbon CFM: in InternetConfig 2.5 and later
  740. * CarbonLib: not available
  741. * Mac OS X: not available
  742. }
  743. function ICGeneralFindConfigFile(inst: ICInstance; searchPrefs: boolean; canCreate: boolean; count: SInt16; folders: ICDirSpecArrayPtr): OSStatus; external name '_ICGeneralFindConfigFile';
  744. { [r2] [b5]
  745. * Call to configure this connection to IC.
  746. * This routine acts as a more general replacement for
  747. * ICFindConfigFile and ICFindUserConfigFile.
  748. * Set search_prefs to true if you want it to search the preferences folder.
  749. * Set can_create to true if you want it to be able to create a new config.
  750. * Set count as the number of valid elements in folders.
  751. * Set folders to a pointer to the folders to search.
  752. * Setting count to 0 and folders to nil is OK.
  753. * Searches the specified folders and then optionally the Preferences folder
  754. * in a unspecified manner.
  755. }
  756. {
  757. * ICChooseConfig()
  758. *
  759. * Availability:
  760. * Non-Carbon CFM: in InternetConfig 2.5 and later
  761. * CarbonLib: not available
  762. * Mac OS X: not available
  763. }
  764. function ICChooseConfig(inst: ICInstance): OSStatus; external name '_ICChooseConfig';
  765. { [r2] [b5]
  766. * Requests the user to choose a configuration, typically using some
  767. * sort of modal dialog. If the user cancels the dialog the configuration
  768. * state will be unaffected.
  769. }
  770. {
  771. * ICChooseNewConfig()
  772. *
  773. * Availability:
  774. * Non-Carbon CFM: in InternetConfig 2.5 and later
  775. * CarbonLib: not available
  776. * Mac OS X: not available
  777. }
  778. function ICChooseNewConfig(inst: ICInstance): OSStatus; external name '_ICChooseNewConfig';
  779. { [r2] [b5]
  780. * Requests the user to create a new configuration, typically using some
  781. * sort of modal dialog. If the user cancels the dialog the configuration
  782. * state will be unaffected.
  783. }
  784. {$endc} {CALL_NOT_IN_CARBON}
  785. {
  786. * ICGetConfigName()
  787. *
  788. * Availability:
  789. * Non-Carbon CFM: in InternetConfig 2.5 and later
  790. * CarbonLib: in CarbonLib 1.0.2 and later
  791. * Mac OS X: in version 10.0 and later
  792. }
  793. function ICGetConfigName(inst: ICInstance; longname: boolean; var name: Str255): OSStatus; external name '_ICGetConfigName';
  794. { [r2] [c1] [b3]
  795. * Returns a string that describes the current configuration at a user
  796. * level. Set longname to true if you want a long name, up to 255
  797. * characters, or false if you want a short name, typically about 32
  798. * characters.
  799. * The returned string is for user display only. If you rely on the
  800. * exact format of it, you will conflict with any future IC
  801. * implementation that doesn't use explicit preference files.
  802. }
  803. {$ifc CALL_NOT_IN_CARBON}
  804. {
  805. * ICGetConfigReference()
  806. *
  807. * Availability:
  808. * Non-Carbon CFM: in InternetConfig 2.5 and later
  809. * CarbonLib: not available
  810. * Mac OS X: not available
  811. }
  812. function ICGetConfigReference(inst: ICInstance; ref: ICConfigRefHandle): OSStatus; external name '_ICGetConfigReference';
  813. { [r2] [c1] [b3]
  814. * Returns a self-contained reference to the instance's current
  815. * configuration.
  816. * ref must be a valid non-nil handle and it will be resized to fit the
  817. * resulting data.
  818. }
  819. {
  820. * ICSetConfigReference()
  821. *
  822. * Availability:
  823. * Non-Carbon CFM: in InternetConfig 2.5 and later
  824. * CarbonLib: not available
  825. * Mac OS X: not available
  826. }
  827. function ICSetConfigReference(inst: ICInstance; ref: ICConfigRefHandle; flags: SInt32): OSStatus; external name '_ICSetConfigReference';
  828. { [r2] [b5]
  829. * Reconfigures the instance using a configuration reference that was
  830. * got using ICGetConfigReference reference. Set the
  831. * icNoUserInteraction_bit in flags if you require that this routine
  832. * not present a modal dialog. Other flag bits are reserved and should
  833. * be set to zero.
  834. * ref must not be nil.
  835. }
  836. { ***** Private Routines *****
  837. *
  838. * If you are calling these routines, you are most probably doing something
  839. * wrong. Please read the documentation for more details.
  840. }
  841. {
  842. * ICSpecifyConfigFile()
  843. *
  844. * Availability:
  845. * Non-Carbon CFM: in InternetConfig 2.5 and later
  846. * CarbonLib: not available
  847. * Mac OS X: not available
  848. }
  849. function ICSpecifyConfigFile(inst: ICInstance; var config: FSSpec): OSStatus; external name '_ICSpecifyConfigFile';
  850. { [b5]
  851. * For use only by the IC application.
  852. * If you call this routine yourself, you will conflict with any
  853. * future IC implementation that doesn't use explicit preference files.
  854. }
  855. {
  856. * ICRefreshCaches()
  857. *
  858. * Availability:
  859. * Non-Carbon CFM: in InternetConfig 2.5 and later
  860. * CarbonLib: not available
  861. * Mac OS X: not available
  862. }
  863. function ICRefreshCaches(inst: ICInstance): OSStatus; external name '_ICRefreshCaches';
  864. { [r3] [c1] [b3]
  865. * For use only by the IC application.
  866. * If you call this routine yourself, you will conflict with any
  867. * future IC implementation that doesn't use explicit preference files.
  868. }
  869. { ***** Getting Information ***** }
  870. {$endc} {CALL_NOT_IN_CARBON}
  871. {
  872. * ICGetSeed()
  873. *
  874. * Availability:
  875. * Non-Carbon CFM: in InternetConfig 2.5 and later
  876. * CarbonLib: in CarbonLib 1.0.2 and later
  877. * Mac OS X: in version 10.0 and later
  878. }
  879. function ICGetSeed(inst: ICInstance; var seed: SInt32): OSStatus; external name '_ICGetSeed';
  880. { [c3] [b3]
  881. * Returns the current seed for the IC prefs database.
  882. * This seed changes each time a non-volatile preference is changed.
  883. * You can poll this to determine if any cached preferences change.
  884. }
  885. {
  886. * ICGetPerm()
  887. *
  888. * Availability:
  889. * Non-Carbon CFM: in InternetConfig 2.5 and later
  890. * CarbonLib: in CarbonLib 1.0.2 and later
  891. * Mac OS X: in version 10.0 and later
  892. }
  893. function ICGetPerm(inst: ICInstance; var perm: ICPerm): OSStatus; external name '_ICGetPerm';
  894. { [c3] [b3]
  895. * Returns the access permissions currently associated with this instance.
  896. * While applications normally know what permissions they have,
  897. * this routine is designed for use by override components.
  898. }
  899. {$ifc CALL_NOT_IN_CARBON}
  900. {
  901. * ICDefaultFileName()
  902. *
  903. * Availability:
  904. * Non-Carbon CFM: in InternetConfig 2.5 and later
  905. * CarbonLib: not available
  906. * Mac OS X: not available
  907. }
  908. function ICDefaultFileName(inst: ICInstance; var name: Str63): OSStatus; external name '_ICDefaultFileName';
  909. { [c3] [b3]
  910. * Returns the default file name for IC preference files.
  911. * Applications should never need to call this routine.
  912. * If you rely on information returned by this routine yourself,
  913. * you may conflict with any future IC implementation that doesn't use
  914. * explicit preference files.
  915. * The component calls this routine to set up the default IC file name.
  916. * This allows this operation to be intercepted by a component that has
  917. * captured us. It currently gets it from the component resource file.
  918. * The glue version is hardwired to "Internet Preferences".
  919. }
  920. {
  921. * ICGetComponentInstance()
  922. *
  923. * Availability:
  924. * Non-Carbon CFM: in InternetConfig 2.5 and later
  925. * CarbonLib: not available
  926. * Mac OS X: not available
  927. }
  928. function ICGetComponentInstance(inst: ICInstance; var componentInst: ComponentInstance): OSStatus; external name '_ICGetComponentInstance';
  929. { [c3] [b3]
  930. * Returns noErr and the connection to the IC component,
  931. * if we're using the component.
  932. * Returns badComponenInstance and nil if we're operating with glue.
  933. }
  934. { ***** Reading and Writing Preferences ***** }
  935. {$endc} {CALL_NOT_IN_CARBON}
  936. {
  937. * ICBegin()
  938. *
  939. * Availability:
  940. * Non-Carbon CFM: in InternetConfig 2.5 and later
  941. * CarbonLib: in CarbonLib 1.0.2 and later
  942. * Mac OS X: in version 10.0 and later
  943. }
  944. function ICBegin(inst: ICInstance; perm: ByteParameter): OSStatus; external name '_ICBegin';
  945. { [c1] [b5]
  946. * Starting reading or writing multiple preferences.
  947. * A call to this must be balanced by a call to ICEnd.
  948. * Do not call WaitNextEvent between these calls.
  949. * The perm specifies whether you intend to read or read/write.
  950. * Only one writer is allowed per instance.
  951. * Note that this may open resource files that are not closed
  952. * until you call ICEnd.
  953. }
  954. {
  955. * ICGetPref()
  956. *
  957. * Availability:
  958. * Non-Carbon CFM: in InternetConfig 2.5 and later
  959. * CarbonLib: in CarbonLib 1.0.2 and later
  960. * Mac OS X: in version 10.0 and later
  961. }
  962. function ICGetPref(inst: ICInstance; const (*var*) key: Str255; var attr: ICAttr; buf: UnivPtr; var size: SInt32): OSStatus; external name '_ICGetPref';
  963. { [c1] [b4]
  964. * Reads the preference specified by key from the IC database to the
  965. * buffer pointed to by buf and size.
  966. * key must not be the empty string.
  967. * If buf is nil then no data is returned.
  968. * size must be non-negative.
  969. * attr and size are always set on return. On errors (except icTruncatedErr)
  970. * attr is set to ICattr_no_change and size is set to 0.
  971. * size is the actual size of the data.
  972. * attr is set to the attributes associated with the preference.
  973. * If this routine returns icTruncatedErr then the other returned
  974. * values are valid except that only the first size bytes have been
  975. * return. size is adjusted to reflect the true size of the preference.
  976. * Returns icPrefNotFound if there is no preference for the key.
  977. }
  978. {
  979. * ICSetPref()
  980. *
  981. * Availability:
  982. * Non-Carbon CFM: in InternetConfig 2.5 and later
  983. * CarbonLib: in CarbonLib 1.0.2 and later
  984. * Mac OS X: in version 10.0 and later
  985. }
  986. function ICSetPref(inst: ICInstance; const (*var*) key: Str255; attr: ICAttr; buf: UnivPtr; size: SInt32): OSStatus; external name '_ICSetPref';
  987. { [c1] [b4]
  988. * Sets the preference specified by key from the IC database to the
  989. * value pointed to by buf and size.
  990. * key must not be the empty string.
  991. * size must be non-negative.
  992. * If buf is nil then the preference value is not set and size is ignored.
  993. * If buf is not nil then the preference value is set to the size
  994. * bytes pointed to by buf.
  995. * If attr is ICattr_no_change then the preference attributes are not set.
  996. * Otherwise the preference attributes are set to attr.
  997. * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
  998. * Returns icPermErr if current attr is locked, new attr is locked and buf <> nil.
  999. }
  1000. {
  1001. * ICFindPrefHandle()
  1002. *
  1003. * Availability:
  1004. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1005. * CarbonLib: in CarbonLib 1.0.2 and later
  1006. * Mac OS X: in version 10.0 and later
  1007. }
  1008. function ICFindPrefHandle(inst: ICInstance; const (*var*) key: Str255; var attr: ICAttr; prefh: Handle): OSStatus; external name '_ICFindPrefHandle';
  1009. { [r2] [c1] [b4]
  1010. * This routine effectively replaces ICGetPrefHandle.
  1011. * Reads the preference specified by key from the IC database into
  1012. * a handle, prefh.
  1013. * key must not be the empty string.
  1014. * attr is set to the attributes associated with the preference.
  1015. * You must set prefh to a non-nil handle before calling this routine.
  1016. * If the preference does not exist, icPrefNotFoundErr is returned.
  1017. }
  1018. {
  1019. * ICGetPrefHandle()
  1020. *
  1021. * Availability:
  1022. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1023. * CarbonLib: in CarbonLib 1.0.2 and later
  1024. * Mac OS X: in version 10.0 and later
  1025. }
  1026. function ICGetPrefHandle(inst: ICInstance; const (*var*) key: Str255; var attr: ICAttr; var prefh: Handle): OSStatus; external name '_ICGetPrefHandle';
  1027. { [r1] [c1] [b4]
  1028. * This routine is now obsolete. Use ICFindPrefHandle instead.
  1029. * Reads the preference specified by key from the IC database into
  1030. * a newly created handle, prefh.
  1031. * key must not be the empty string.
  1032. * attr is set to the attributes associated with the preference.
  1033. * The incoming value of prefh is ignored.
  1034. * A new handle is created in the current heap and returned in prefh.
  1035. * If the routine returns an error, prefh is set to nil.
  1036. * If the preference does not exist, no error is returned and prefh is set
  1037. * to an empty handle.
  1038. }
  1039. {
  1040. * ICSetPrefHandle()
  1041. *
  1042. * Availability:
  1043. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1044. * CarbonLib: in CarbonLib 1.0.2 and later
  1045. * Mac OS X: in version 10.0 and later
  1046. }
  1047. function ICSetPrefHandle(inst: ICInstance; const (*var*) key: Str255; attr: ICAttr; prefh: Handle): OSStatus; external name '_ICSetPrefHandle';
  1048. { [r1] [c1] [b4]
  1049. * Sets the preference specified by key from the IC database to the
  1050. * value contained in prefh.
  1051. * key must not be the empty string.
  1052. * If prefh is nil then the preference value is not set.
  1053. * If buf is not nil then the preference value is set to the data
  1054. * contained in it.
  1055. * If attr is ICattr_no_change then the preference attributes are not set.
  1056. * Otherwise the preference attributes are set to attr.
  1057. * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
  1058. * Returns icPermErr if current attr is locked, new attr is locked and prefh <> nil.
  1059. }
  1060. {
  1061. * ICCountPref()
  1062. *
  1063. * Availability:
  1064. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1065. * CarbonLib: in CarbonLib 1.0.2 and later
  1066. * Mac OS X: in version 10.0 and later
  1067. }
  1068. function ICCountPref(inst: ICInstance; var count: SInt32): OSStatus; external name '_ICCountPref';
  1069. { [c1] [b1]
  1070. * Counts the total number of preferences.
  1071. * If the routine returns an error, count is set to 0.
  1072. }
  1073. {
  1074. * ICGetIndPref()
  1075. *
  1076. * Availability:
  1077. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1078. * CarbonLib: in CarbonLib 1.0.2 and later
  1079. * Mac OS X: in version 10.0 and later
  1080. }
  1081. function ICGetIndPref(inst: ICInstance; index: SInt32; var key: Str255): OSStatus; external name '_ICGetIndPref';
  1082. { [c1] [b1]
  1083. * Returns the key of the index'th preference.
  1084. * index must be positive.
  1085. * Returns icPrefNotFoundErr if index is greater than the total number of preferences.
  1086. * If the routine returns an error, key is undefined.
  1087. }
  1088. {
  1089. * ICDeletePref()
  1090. *
  1091. * Availability:
  1092. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1093. * CarbonLib: in CarbonLib 1.0.2 and later
  1094. * Mac OS X: in version 10.0 and later
  1095. }
  1096. function ICDeletePref(inst: ICInstance; const (*var*) key: Str255): OSStatus; external name '_ICDeletePref';
  1097. { [c1] [b2]
  1098. * Deletes the preference specified by key.
  1099. * key must not be the empty string.
  1100. * Returns icPrefNotFound if the preference specified by key is not present.
  1101. }
  1102. {
  1103. * ICEnd()
  1104. *
  1105. * Availability:
  1106. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1107. * CarbonLib: in CarbonLib 1.0.2 and later
  1108. * Mac OS X: in version 10.0 and later
  1109. }
  1110. function ICEnd(inst: ICInstance): OSStatus; external name '_ICEnd';
  1111. { [c1] [b1]
  1112. * Terminates a preference session, as started by ICBegin.
  1113. * You must have called ICBegin before calling this routine.
  1114. }
  1115. {
  1116. * ICGetDefaultPref()
  1117. *
  1118. * Availability:
  1119. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1120. * CarbonLib: in CarbonLib 1.0.2 and later
  1121. * Mac OS X: in version 10.0 and later
  1122. }
  1123. function ICGetDefaultPref(inst: ICInstance; const (*var*) key: Str255; prefH: Handle): OSStatus; external name '_ICGetDefaultPref';
  1124. { [r4] [c3] [b5]
  1125. * Returns a default preference value for the specified key. You
  1126. * must pass in a valid prefH, which is resized to fit the data.
  1127. }
  1128. { ***** User Interface Stuff ***** }
  1129. {
  1130. * ICEditPreferences()
  1131. *
  1132. * Availability:
  1133. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1134. * CarbonLib: in CarbonLib 1.0.2 and later
  1135. * Mac OS X: in version 10.0 and later
  1136. }
  1137. function ICEditPreferences(inst: ICInstance; const (*var*) key: Str255): OSStatus; external name '_ICEditPreferences';
  1138. { [r1] [c1] [b3]
  1139. * Instructs IC to display the user interface associated with editing
  1140. * preferences and focusing on the preference specified by key.
  1141. * If key is the empty string then no preference should be focused upon.
  1142. * You must have specified a configuration before calling this routine.
  1143. * You do not need to call ICBegin before calling this routine.
  1144. * In the current implementation this launches the IC application
  1145. * (or brings it to the front) and displays the window containing
  1146. * the preference specified by key.
  1147. * It may have a radically different implementation in future
  1148. * IC systems.
  1149. }
  1150. { ***** URL Handling ***** }
  1151. {
  1152. * ICLaunchURL()
  1153. *
  1154. * Availability:
  1155. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1156. * CarbonLib: in CarbonLib 1.0.2 and later
  1157. * Mac OS X: in version 10.0 and later
  1158. }
  1159. function ICLaunchURL(inst: ICInstance; const (*var*) hint: Str255; data: UnivPtr; len: SInt32; var selStart: SInt32; var selEnd: SInt32): OSStatus; external name '_ICLaunchURL';
  1160. { [r1] [c1] [b3]
  1161. * Parses a URL out of the specified text and feeds it off to the
  1162. * appropriate helper.
  1163. * hint indicates the default scheme for URLs of the form "name@address".
  1164. * If hint is the empty string then URLs of that form are not allowed.
  1165. * data points to the start of the text. It must not be nil.
  1166. * len indicates the length of the text. It must be non-negative.
  1167. * selStart and selEnd should be passed in as the current selection of
  1168. * the text. This selection is given in the same manner as TextEdit,
  1169. * ie if selStart = selEnd then there is no selection only an insertion
  1170. * point. Also selStart ² selEnd and 0 ² selStart ² len and 0 ² selEnd ² len.
  1171. * selStart and selEnd are returned as the bounds of the URL. If the
  1172. * routine returns an error then these new boundaries may be
  1173. * invalid but they will be close.
  1174. * The URL is parsed out of the text and passed off to the appropriate
  1175. * helper using the GURL AppleEvent.
  1176. }
  1177. {
  1178. * ICParseURL()
  1179. *
  1180. * Availability:
  1181. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1182. * CarbonLib: in CarbonLib 1.0.2 and later
  1183. * Mac OS X: in version 10.0 and later
  1184. }
  1185. function ICParseURL(inst: ICInstance; const (*var*) hint: Str255; data: UnivPtr; len: SInt32; var selStart: SInt32; var selEnd: SInt32; url: Handle): OSStatus; external name '_ICParseURL';
  1186. { [r1] [c1] [b3]
  1187. * Parses a URL out of the specified text and returns it in a canonical form
  1188. * in a handle.
  1189. * hint indicates the default scheme for URLs of the form "name@address".
  1190. * If hint is the empty string then URLs of that form are not allowed.
  1191. * data points to the start of the text. It must not be nil.
  1192. * len indicates the length of the text. It must be non-negative.
  1193. * selStart and selEnd should be passed in as the current selection of
  1194. * the text. This selection is given in the same manner as TextEdit,
  1195. * ie if selStart = selEnd then there is no selection only an insertion
  1196. * point. Also selStart ² selEnd and 0 ² selStart ² len and 0 ² selEnd ² len.
  1197. * selStart and selEnd are returned as the bounds of the URL. If the
  1198. * routine returns an error then these new boundaries may be
  1199. * invalid but they will be close.
  1200. * The incoming url handle must not be nil. The resulting URL is normalised
  1201. * and copied into the url handle, which is resized to fit.
  1202. }
  1203. {
  1204. * ICCreateGURLEvent()
  1205. *
  1206. * Availability:
  1207. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1208. * CarbonLib: in CarbonLib 1.0.2 and later
  1209. * Mac OS X: in version 10.0 and later
  1210. }
  1211. function ICCreateGURLEvent(inst: ICInstance; helperCreator: OSType; urlH: Handle; var theEvent: AppleEvent): OSStatus; external name '_ICCreateGURLEvent';
  1212. { [r4] [c1] [b3]
  1213. * Creates a GURL Apple event, targetted at the application whose creator
  1214. * code is helperCreator, with a direct object containing the URL text from urlH.
  1215. }
  1216. {
  1217. * ICSendGURLEvent()
  1218. *
  1219. * Availability:
  1220. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1221. * CarbonLib: in CarbonLib 1.0.2 and later
  1222. * Mac OS X: in version 10.0 and later
  1223. }
  1224. function ICSendGURLEvent(inst: ICInstance; var theEvent: AppleEvent): OSStatus; external name '_ICSendGURLEvent';
  1225. { [r4] [c1] [b3]
  1226. * Sends theEvent to the target application.
  1227. }
  1228. { ***** Mappings Routines *****
  1229. *
  1230. * Routines for interrogating mappings database.
  1231. *
  1232. * ----- High Level Routines -----
  1233. }
  1234. {
  1235. * ICMapFilename()
  1236. *
  1237. * Availability:
  1238. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1239. * CarbonLib: in CarbonLib 1.0.2 and later
  1240. * Mac OS X: in version 10.0 and later
  1241. }
  1242. function ICMapFilename(inst: ICInstance; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICMapFilename';
  1243. { [r1] [c1] [b4]
  1244. * Takes the name of an incoming file and returns the most appropriate
  1245. * mappings database entry, based on its extension.
  1246. * filename must not be the empty string.
  1247. * Returns icPrefNotFoundErr if no suitable entry is found.
  1248. }
  1249. {
  1250. * ICMapTypeCreator()
  1251. *
  1252. * Availability:
  1253. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1254. * CarbonLib: in CarbonLib 1.0.2 and later
  1255. * Mac OS X: in version 10.0 and later
  1256. }
  1257. function ICMapTypeCreator(inst: ICInstance; fType: OSType; fCreator: OSType; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICMapTypeCreator';
  1258. { [r1] [c1] [b4]
  1259. * Takes the type and creator (and optionally the name) of an outgoing
  1260. * file and returns the most appropriate mappings database entry.
  1261. * The filename may be either the name of the outgoing file or
  1262. * the empty string.
  1263. * Returns icPrefNotFoundErr if no suitable entry found.
  1264. }
  1265. { ----- Mid Level Routines ----- }
  1266. {
  1267. * ICMapEntriesFilename()
  1268. *
  1269. * Availability:
  1270. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1271. * CarbonLib: in CarbonLib 1.0.2 and later
  1272. * Mac OS X: in version 10.0 and later
  1273. }
  1274. function ICMapEntriesFilename(inst: ICInstance; entries: Handle; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICMapEntriesFilename';
  1275. { [r1] [c1] [b3]
  1276. * Takes the name of an incoming file and returns the most appropriate
  1277. * mappings database entry, based on its extension.
  1278. * entries must be a handle to a valid IC mappings database preference.
  1279. * filename must not be the empty string.
  1280. * Returns icPrefNotFoundErr if no suitable entry is found.
  1281. }
  1282. {
  1283. * ICMapEntriesTypeCreator()
  1284. *
  1285. * Availability:
  1286. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1287. * CarbonLib: in CarbonLib 1.0.2 and later
  1288. * Mac OS X: in version 10.0 and later
  1289. }
  1290. function ICMapEntriesTypeCreator(inst: ICInstance; entries: Handle; fType: OSType; fCreator: OSType; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICMapEntriesTypeCreator';
  1291. { [r1] [c1] [b3]
  1292. * Takes the type and creator (and optionally the name) of an outgoing
  1293. * file and returns the most appropriate mappings database entry.
  1294. * entries must be a handle to a valid IC mappings database preference.
  1295. * The filename may be either the name of the outgoing file or
  1296. * the empty string.
  1297. * Returns icPrefNotFoundErr if no suitable entry found.
  1298. }
  1299. { ----- Low Level Routines ----- }
  1300. {
  1301. * ICCountMapEntries()
  1302. *
  1303. * Availability:
  1304. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1305. * CarbonLib: in CarbonLib 1.0.2 and later
  1306. * Mac OS X: in version 10.0 and later
  1307. }
  1308. function ICCountMapEntries(inst: ICInstance; entries: Handle; var count: SInt32): OSStatus; external name '_ICCountMapEntries';
  1309. { [r1] [c1] [b3]
  1310. * Counts the number of entries in the mappings database.
  1311. * entries must be a handle to a valid IC mappings database preference.
  1312. * count is set to the number of entries.
  1313. }
  1314. {
  1315. * ICGetIndMapEntry()
  1316. *
  1317. * Availability:
  1318. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1319. * CarbonLib: in CarbonLib 1.0.2 and later
  1320. * Mac OS X: in version 10.0 and later
  1321. }
  1322. function ICGetIndMapEntry(inst: ICInstance; entries: Handle; index: SInt32; var pos: SInt32; var entry: ICMapEntry): OSStatus; external name '_ICGetIndMapEntry';
  1323. { [r1] [c1] [b3]
  1324. * Gets the index'th entry in the mappings database.
  1325. * entries must be a handle to a valid IC mappings database preference.
  1326. * index must be in the range from 1 to the number of entries in the database.
  1327. * The value of pos is ignored on input. pos is set to the position of
  1328. * the index'th entry in the database and is suitable for passing back
  1329. * into ICSetMapEntry.
  1330. * Does not return any user data associated with the entry.
  1331. }
  1332. {
  1333. * ICGetMapEntry()
  1334. *
  1335. * Availability:
  1336. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1337. * CarbonLib: in CarbonLib 1.0.2 and later
  1338. * Mac OS X: in version 10.0 and later
  1339. }
  1340. function ICGetMapEntry(inst: ICInstance; entries: Handle; pos: SInt32; var entry: ICMapEntry): OSStatus; external name '_ICGetMapEntry';
  1341. { [r1] [c1] [b3]
  1342. * Returns the entry located at position pos in the mappings database.
  1343. * entries must be a handle to a valid IC mappings database preference.
  1344. * pos should be 0 to get the first entry. To get the subsequent entries, add
  1345. * entry.total_size to pos and iterate.
  1346. * Does not return any user data associated with the entry.
  1347. }
  1348. {
  1349. * ICSetMapEntry()
  1350. *
  1351. * Availability:
  1352. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1353. * CarbonLib: in CarbonLib 1.0.2 and later
  1354. * Mac OS X: in version 10.0 and later
  1355. }
  1356. function ICSetMapEntry(inst: ICInstance; entries: Handle; pos: SInt32; const (*var*) entry: ICMapEntry): OSStatus; external name '_ICSetMapEntry';
  1357. { [r1] [c1] [b3]
  1358. * Sets the entry located at position pos in the mappings database.
  1359. * entries must be a handle to a valid IC mappings database preference.
  1360. * pos should be either a value returned from ICGetIndMapEntry or a value
  1361. * calculated using ICGetMapEntry.
  1362. * entry is a var parameter purely for stack space reasons. It is not
  1363. * modified in any way.
  1364. * Any user data associated with the entry is unmodified.
  1365. }
  1366. {
  1367. * ICDeleteMapEntry()
  1368. *
  1369. * Availability:
  1370. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1371. * CarbonLib: in CarbonLib 1.0.2 and later
  1372. * Mac OS X: in version 10.0 and later
  1373. }
  1374. function ICDeleteMapEntry(inst: ICInstance; entries: Handle; pos: SInt32): OSStatus; external name '_ICDeleteMapEntry';
  1375. { [r1] [c1] [b3]
  1376. * Deletes the mappings database entry at pos.
  1377. * entries must be a handle to a valid IC mappings database preference.
  1378. * pos should be either a value returned from ICGetIndMapEntry or a value
  1379. * calculated using ICGetMapEntry.
  1380. * Also deletes any user data associated with the entry.
  1381. }
  1382. {
  1383. * ICAddMapEntry()
  1384. *
  1385. * Availability:
  1386. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1387. * CarbonLib: in CarbonLib 1.0.2 and later
  1388. * Mac OS X: in version 10.0 and later
  1389. }
  1390. function ICAddMapEntry(inst: ICInstance; entries: Handle; const (*var*) entry: ICMapEntry): OSStatus; external name '_ICAddMapEntry';
  1391. { [r1] [c1] [b3]
  1392. * Adds an entry to the mappings database.
  1393. * entries must be a handle to a valid IC mappings database preference.
  1394. * The entry is added to the end of the entries database.
  1395. * No user data is added.
  1396. }
  1397. { ***** Profile Management Routines ***** }
  1398. {
  1399. * ICGetCurrentProfile()
  1400. *
  1401. * Availability:
  1402. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1403. * CarbonLib: in CarbonLib 1.0.2 and later
  1404. * Mac OS X: in version 10.0 and later
  1405. }
  1406. function ICGetCurrentProfile(inst: ICInstance; var currentID: ICProfileID): OSStatus; external name '_ICGetCurrentProfile';
  1407. { [r3] [c1] [b3]
  1408. * Returns the profile ID of the current profile.
  1409. }
  1410. {
  1411. * ICSetCurrentProfile()
  1412. *
  1413. * Availability:
  1414. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1415. * CarbonLib: in CarbonLib 1.0.2 and later
  1416. * Mac OS X: in version 10.0 and later
  1417. }
  1418. function ICSetCurrentProfile(inst: ICInstance; newID: ICProfileID): OSStatus; external name '_ICSetCurrentProfile';
  1419. { [r3] [c1] [b3]
  1420. * Sets the current profile to the profile specified in newProfile.
  1421. }
  1422. {
  1423. * ICCountProfiles()
  1424. *
  1425. * Availability:
  1426. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1427. * CarbonLib: in CarbonLib 1.0.2 and later
  1428. * Mac OS X: in version 10.0 and later
  1429. }
  1430. function ICCountProfiles(inst: ICInstance; var count: SInt32): OSStatus; external name '_ICCountProfiles';
  1431. { [r3] [c1] [b1]
  1432. * Returns the total number of profiles.
  1433. }
  1434. {
  1435. * ICGetIndProfile()
  1436. *
  1437. * Availability:
  1438. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1439. * CarbonLib: in CarbonLib 1.0.2 and later
  1440. * Mac OS X: in version 10.0 and later
  1441. }
  1442. function ICGetIndProfile(inst: ICInstance; index: SInt32; var thisID: ICProfileID): OSStatus; external name '_ICGetIndProfile';
  1443. { [r3] [c1] [b1]
  1444. * Returns the profile ID of the index'th profile. index must be positive.
  1445. * Returns icProfileNotFoundErr if index is greater than the total number
  1446. * of profiles.
  1447. }
  1448. {
  1449. * ICGetProfileName()
  1450. *
  1451. * Availability:
  1452. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1453. * CarbonLib: in CarbonLib 1.0.2 and later
  1454. * Mac OS X: in version 10.0 and later
  1455. }
  1456. function ICGetProfileName(inst: ICInstance; thisID: ICProfileID; var name: Str255): OSStatus; external name '_ICGetProfileName';
  1457. { [r3] [c1] [b3]
  1458. * Returns the name of a profile given its ID. The name may not uniquely
  1459. * identify the profile. [That's what the profile ID is for!] The name
  1460. * is assumed to be in the system script.
  1461. }
  1462. {
  1463. * ICSetProfileName()
  1464. *
  1465. * Availability:
  1466. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1467. * CarbonLib: in CarbonLib 1.0.2 and later
  1468. * Mac OS X: in version 10.0 and later
  1469. }
  1470. function ICSetProfileName(inst: ICInstance; thisID: ICProfileID; const (*var*) name: Str255): OSStatus; external name '_ICSetProfileName';
  1471. { [r3] [c1] [b3]
  1472. * This routine sets the name of the specified profile. Profile names
  1473. * need not be unique. The name should be in the system script.
  1474. }
  1475. {
  1476. * ICAddProfile()
  1477. *
  1478. * Availability:
  1479. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1480. * CarbonLib: in CarbonLib 1.0.2 and later
  1481. * Mac OS X: in version 10.0 and later
  1482. }
  1483. function ICAddProfile(inst: ICInstance; prototypeID: ICProfileID; var newID: ICProfileID): OSStatus; external name '_ICAddProfile';
  1484. { [r3] [c1] [b2]
  1485. * If prototypeID = kICNilProfileID, this routine
  1486. * creates a default profile, otherwise it creates a
  1487. * profile by cloning the prototype profile. The ID
  1488. * of the new profile is returned in newID.
  1489. * The new profile will be give a new, unique, name.
  1490. * This does not switch to the new profile.
  1491. }
  1492. {
  1493. * ICDeleteProfile()
  1494. *
  1495. * Availability:
  1496. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1497. * CarbonLib: in CarbonLib 1.0.2 and later
  1498. * Mac OS X: in version 10.0 and later
  1499. }
  1500. function ICDeleteProfile(inst: ICInstance; thisID: ICProfileID): OSStatus; external name '_ICDeleteProfile';
  1501. { [r3] [c1] [b2]
  1502. * This routine deletes the profile specified by
  1503. * thisID. Attempting to delete the current profile
  1504. * or the last profile will return error.
  1505. }
  1506. {***********************************************************************************************
  1507. NOTHING BELOW THIS DIVIDER IS IN CARBON
  1508. ***********************************************************************************************}
  1509. { ***** Interrupt Safe Routines ***** }
  1510. {$ifc CALL_NOT_IN_CARBON}
  1511. {
  1512. * ICRequiresInterruptSafe()
  1513. *
  1514. * Availability:
  1515. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1516. * CarbonLib: not available
  1517. * Mac OS X: not available
  1518. }
  1519. function ICRequiresInterruptSafe(inst: ICInstance): OSStatus; external name '_ICRequiresInterruptSafe';
  1520. { [r3] [c2] [b3]
  1521. * You must call this routine before calling GetMapEntryInterruptSafe
  1522. * to give IC chance to cache the mappings data in memory. The only
  1523. * way to clear this state is to close the instance. You can not reconfigure
  1524. * the instance after calling this routine.
  1525. }
  1526. {
  1527. * ICGetMappingInterruptSafe()
  1528. *
  1529. * Availability:
  1530. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1531. * CarbonLib: not available
  1532. * Mac OS X: not available
  1533. }
  1534. function ICGetMappingInterruptSafe(inst: ICInstance; var mappingPref: Ptr; var mappingPrefSize: SInt32): OSStatus; external name '_ICGetMappingInterruptSafe';
  1535. { [r3] [c2] [b3]
  1536. * Returns the "Mapping" preference in an interrupt safe fashion.
  1537. * The preference returned pointer is valid until the next
  1538. * non-interrupt safe call to IC. Typically this API is used
  1539. * by software that needs to map extensions to type and creator
  1540. * at interrupt time, eg foreign file systems.
  1541. }
  1542. {
  1543. * ICGetSeedInterruptSafe()
  1544. *
  1545. * Availability:
  1546. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1547. * CarbonLib: not available
  1548. * Mac OS X: not available
  1549. }
  1550. function ICGetSeedInterruptSafe(inst: ICInstance; var seed: SInt32): OSStatus; external name '_ICGetSeedInterruptSafe';
  1551. { [r3] [c2] [b3]
  1552. * An interrupt safe version of ICGetSeed.
  1553. }
  1554. { ***** Starting Up and Shutting Down ***** }
  1555. {
  1556. * ICCStart()
  1557. *
  1558. * Availability:
  1559. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1560. * CarbonLib: not available
  1561. * Mac OS X: not available
  1562. }
  1563. function ICCStart(var inst: ComponentInstance; creator: OSType): OSStatus; external name '_ICCStart';
  1564. { See comment for ICCStart. }
  1565. {
  1566. * ICCStop()
  1567. *
  1568. * Availability:
  1569. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1570. * CarbonLib: not available
  1571. * Mac OS X: not available
  1572. }
  1573. function ICCStop(inst: ComponentInstance): OSStatus; external name '_ICCStop';
  1574. { See comment for ICCStop. }
  1575. {
  1576. * ICCGetVersion()
  1577. *
  1578. * Availability:
  1579. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1580. * CarbonLib: not available
  1581. * Mac OS X: not available
  1582. }
  1583. function ICCGetVersion(inst: ComponentInstance; whichVersion: SInt32; var version: UInt32): OSStatus; external name '_ICCGetVersion';
  1584. { See comment for ICCGetVersion. }
  1585. { ***** Specifying a Configuration ***** }
  1586. {
  1587. * ICCFindConfigFile()
  1588. *
  1589. * Availability:
  1590. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1591. * CarbonLib: not available
  1592. * Mac OS X: not available
  1593. }
  1594. function ICCFindConfigFile(inst: ComponentInstance; count: SInt16; folders: ICDirSpecArrayPtr): OSStatus; external name '_ICCFindConfigFile';
  1595. { See comment for ICCFindConfigFile. }
  1596. {
  1597. * ICCFindUserConfigFile()
  1598. *
  1599. * Availability:
  1600. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1601. * CarbonLib: not available
  1602. * Mac OS X: not available
  1603. }
  1604. function ICCFindUserConfigFile(inst: ComponentInstance; var where: ICDirSpec): OSStatus; external name '_ICCFindUserConfigFile';
  1605. { See comment for ICCFindUserConfigFile. }
  1606. {
  1607. * ICCGeneralFindConfigFile()
  1608. *
  1609. * Availability:
  1610. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1611. * CarbonLib: not available
  1612. * Mac OS X: not available
  1613. }
  1614. function ICCGeneralFindConfigFile(inst: ComponentInstance; searchPrefs: boolean; canCreate: boolean; count: SInt16; folders: ICDirSpecArrayPtr): OSStatus; external name '_ICCGeneralFindConfigFile';
  1615. { See comment for ICCGeneralFindConfigFile. }
  1616. {
  1617. * ICCChooseConfig()
  1618. *
  1619. * Availability:
  1620. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1621. * CarbonLib: not available
  1622. * Mac OS X: not available
  1623. }
  1624. function ICCChooseConfig(inst: ComponentInstance): OSStatus; external name '_ICCChooseConfig';
  1625. { See comment for ICCChooseConfig. }
  1626. {
  1627. * ICCChooseNewConfig()
  1628. *
  1629. * Availability:
  1630. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1631. * CarbonLib: not available
  1632. * Mac OS X: not available
  1633. }
  1634. function ICCChooseNewConfig(inst: ComponentInstance): OSStatus; external name '_ICCChooseNewConfig';
  1635. { See comment for ICCChooseNewConfig. }
  1636. {
  1637. * ICCGetConfigName()
  1638. *
  1639. * Availability:
  1640. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1641. * CarbonLib: not available
  1642. * Mac OS X: not available
  1643. }
  1644. function ICCGetConfigName(inst: ComponentInstance; longname: boolean; var name: Str255): OSStatus; external name '_ICCGetConfigName';
  1645. { See comment for ICCGetConfigName. }
  1646. {
  1647. * ICCGetConfigReference()
  1648. *
  1649. * Availability:
  1650. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1651. * CarbonLib: not available
  1652. * Mac OS X: not available
  1653. }
  1654. function ICCGetConfigReference(inst: ComponentInstance; ref: ICConfigRefHandle): OSStatus; external name '_ICCGetConfigReference';
  1655. { See comment for ICCGetConfigReference. }
  1656. {
  1657. * ICCSetConfigReference()
  1658. *
  1659. * Availability:
  1660. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1661. * CarbonLib: not available
  1662. * Mac OS X: not available
  1663. }
  1664. function ICCSetConfigReference(inst: ComponentInstance; ref: ICConfigRefHandle; flags: SInt32): OSStatus; external name '_ICCSetConfigReference';
  1665. { See comment for ICCSetConfigReference. }
  1666. { ***** Private Routines *****
  1667. *
  1668. * If you are calling these routines, you are most probably doing something
  1669. * wrong. Please read the documentation for more details.
  1670. }
  1671. {
  1672. * ICCSpecifyConfigFile()
  1673. *
  1674. * Availability:
  1675. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1676. * CarbonLib: not available
  1677. * Mac OS X: not available
  1678. }
  1679. function ICCSpecifyConfigFile(inst: ComponentInstance; var config: FSSpec): OSStatus; external name '_ICCSpecifyConfigFile';
  1680. { See comment for ICCSpecifyConfigFile. }
  1681. {
  1682. * ICCRefreshCaches()
  1683. *
  1684. * Availability:
  1685. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1686. * CarbonLib: not available
  1687. * Mac OS X: not available
  1688. }
  1689. function ICCRefreshCaches(inst: ComponentInstance): OSStatus; external name '_ICCRefreshCaches';
  1690. { See comment for ICCRefreshCaches. }
  1691. { ***** Getting Information ***** }
  1692. {
  1693. * ICCGetSeed()
  1694. *
  1695. * Availability:
  1696. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1697. * CarbonLib: not available
  1698. * Mac OS X: not available
  1699. }
  1700. function ICCGetSeed(inst: ComponentInstance; var seed: SInt32): OSStatus; external name '_ICCGetSeed';
  1701. { See comment for ICCGetSeed. }
  1702. {
  1703. * ICCGetPerm()
  1704. *
  1705. * Availability:
  1706. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1707. * CarbonLib: not available
  1708. * Mac OS X: not available
  1709. }
  1710. function ICCGetPerm(inst: ComponentInstance; var perm: ICPerm): OSStatus; external name '_ICCGetPerm';
  1711. { See comment for ICCGetPerm. }
  1712. {
  1713. * ICCDefaultFileName()
  1714. *
  1715. * Availability:
  1716. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1717. * CarbonLib: not available
  1718. * Mac OS X: not available
  1719. }
  1720. function ICCDefaultFileName(inst: ComponentInstance; var name: Str63): OSStatus; external name '_ICCDefaultFileName';
  1721. { See comment for ICCDefaultFileName. }
  1722. {
  1723. * ICCGetComponentInstance()
  1724. *
  1725. * Availability:
  1726. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1727. * CarbonLib: not available
  1728. * Mac OS X: not available
  1729. }
  1730. function ICCGetComponentInstance(inst: ComponentInstance; var componentInst: ComponentInstance): OSStatus; external name '_ICCGetComponentInstance';
  1731. { See comment for ICCGetComponentInstance. }
  1732. { ***** Reading and Writing Preferences ***** }
  1733. {
  1734. * ICCBegin()
  1735. *
  1736. * Availability:
  1737. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1738. * CarbonLib: not available
  1739. * Mac OS X: not available
  1740. }
  1741. function ICCBegin(inst: ComponentInstance; perm: ByteParameter): OSStatus; external name '_ICCBegin';
  1742. { See comment for ICCBegin. }
  1743. {
  1744. * ICCGetPref()
  1745. *
  1746. * Availability:
  1747. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1748. * CarbonLib: not available
  1749. * Mac OS X: not available
  1750. }
  1751. function ICCGetPref(inst: ComponentInstance; const (*var*) key: Str255; var attr: ICAttr; buf: Ptr; var size: SInt32): OSStatus; external name '_ICCGetPref';
  1752. { See comment for ICCGetPref. }
  1753. {
  1754. * ICCSetPref()
  1755. *
  1756. * Availability:
  1757. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1758. * CarbonLib: not available
  1759. * Mac OS X: not available
  1760. }
  1761. function ICCSetPref(inst: ComponentInstance; const (*var*) key: Str255; attr: ICAttr; buf: Ptr; size: SInt32): OSStatus; external name '_ICCSetPref';
  1762. { See comment for ICCSetPref. }
  1763. {
  1764. * ICCFindPrefHandle()
  1765. *
  1766. * Availability:
  1767. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1768. * CarbonLib: not available
  1769. * Mac OS X: not available
  1770. }
  1771. function ICCFindPrefHandle(inst: ComponentInstance; const (*var*) key: Str255; var attr: ICAttr; prefh: Handle): OSStatus; external name '_ICCFindPrefHandle';
  1772. { See comment for ICCFindPrefHandle. }
  1773. {
  1774. * ICCGetPrefHandle()
  1775. *
  1776. * Availability:
  1777. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1778. * CarbonLib: not available
  1779. * Mac OS X: not available
  1780. }
  1781. function ICCGetPrefHandle(inst: ComponentInstance; const (*var*) key: Str255; var attr: ICAttr; var prefh: Handle): OSStatus; external name '_ICCGetPrefHandle';
  1782. { See comment for ICCGetPrefHandle. }
  1783. {
  1784. * ICCSetPrefHandle()
  1785. *
  1786. * Availability:
  1787. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1788. * CarbonLib: not available
  1789. * Mac OS X: not available
  1790. }
  1791. function ICCSetPrefHandle(inst: ComponentInstance; const (*var*) key: Str255; attr: ICAttr; prefh: Handle): OSStatus; external name '_ICCSetPrefHandle';
  1792. { See comment for ICCSetPrefHandle. }
  1793. {
  1794. * ICCCountPref()
  1795. *
  1796. * Availability:
  1797. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1798. * CarbonLib: not available
  1799. * Mac OS X: not available
  1800. }
  1801. function ICCCountPref(inst: ComponentInstance; var count: SInt32): OSStatus; external name '_ICCCountPref';
  1802. { See comment for ICCCountPref. }
  1803. {
  1804. * ICCGetIndPref()
  1805. *
  1806. * Availability:
  1807. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1808. * CarbonLib: not available
  1809. * Mac OS X: not available
  1810. }
  1811. function ICCGetIndPref(inst: ComponentInstance; index: SInt32; var key: Str255): OSStatus; external name '_ICCGetIndPref';
  1812. { See comment for ICCGetIndPref. }
  1813. {
  1814. * ICCDeletePref()
  1815. *
  1816. * Availability:
  1817. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1818. * CarbonLib: not available
  1819. * Mac OS X: not available
  1820. }
  1821. function ICCDeletePref(inst: ComponentInstance; const (*var*) key: Str255): OSStatus; external name '_ICCDeletePref';
  1822. { See comment for ICCDeletePref. }
  1823. {
  1824. * ICCEnd()
  1825. *
  1826. * Availability:
  1827. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1828. * CarbonLib: not available
  1829. * Mac OS X: not available
  1830. }
  1831. function ICCEnd(inst: ComponentInstance): OSStatus; external name '_ICCEnd';
  1832. { See comment for ICCEnd. }
  1833. {
  1834. * ICCGetDefaultPref()
  1835. *
  1836. * Availability:
  1837. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1838. * CarbonLib: not available
  1839. * Mac OS X: not available
  1840. }
  1841. function ICCGetDefaultPref(inst: ComponentInstance; const (*var*) key: Str255; prefH: Handle): OSStatus; external name '_ICCGetDefaultPref';
  1842. { See comment for ICCGetDefaultPref. }
  1843. { ***** User Interface Stuff ***** }
  1844. {
  1845. * ICCEditPreferences()
  1846. *
  1847. * Availability:
  1848. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1849. * CarbonLib: not available
  1850. * Mac OS X: not available
  1851. }
  1852. function ICCEditPreferences(inst: ComponentInstance; const (*var*) key: Str255): OSStatus; external name '_ICCEditPreferences';
  1853. { See comment for ICCEditPreferences. }
  1854. { ***** URL Handling ***** }
  1855. {
  1856. * ICCLaunchURL()
  1857. *
  1858. * Availability:
  1859. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1860. * CarbonLib: not available
  1861. * Mac OS X: not available
  1862. }
  1863. function ICCLaunchURL(inst: ComponentInstance; const (*var*) hint: Str255; data: Ptr; len: SInt32; var selStart: SInt32; var selEnd: SInt32): OSStatus; external name '_ICCLaunchURL';
  1864. { See comment for ICCLaunchURL. }
  1865. {
  1866. * ICCParseURL()
  1867. *
  1868. * Availability:
  1869. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1870. * CarbonLib: not available
  1871. * Mac OS X: not available
  1872. }
  1873. function ICCParseURL(inst: ComponentInstance; const (*var*) hint: Str255; data: Ptr; len: SInt32; var selStart: SInt32; var selEnd: SInt32; url: Handle): OSStatus; external name '_ICCParseURL';
  1874. { See comment for ICCParseURL. }
  1875. {
  1876. * ICCCreateGURLEvent()
  1877. *
  1878. * Availability:
  1879. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1880. * CarbonLib: not available
  1881. * Mac OS X: not available
  1882. }
  1883. function ICCCreateGURLEvent(inst: ComponentInstance; helperCreator: OSType; urlH: Handle; var theEvent: AppleEvent): OSStatus; external name '_ICCCreateGURLEvent';
  1884. { See comment for ICCCreateGURLEvent. }
  1885. {
  1886. * ICCSendGURLEvent()
  1887. *
  1888. * Availability:
  1889. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1890. * CarbonLib: not available
  1891. * Mac OS X: not available
  1892. }
  1893. function ICCSendGURLEvent(inst: ComponentInstance; var theEvent: AppleEvent): OSStatus; external name '_ICCSendGURLEvent';
  1894. { See comment for ICCSendGURLEvent. }
  1895. { ***** Mappings Routines *****
  1896. *
  1897. * Routines for interrogating mappings database.
  1898. *
  1899. * ----- High Level Routines -----
  1900. }
  1901. {
  1902. * ICCMapFilename()
  1903. *
  1904. * Availability:
  1905. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1906. * CarbonLib: not available
  1907. * Mac OS X: not available
  1908. }
  1909. function ICCMapFilename(inst: ComponentInstance; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICCMapFilename';
  1910. { See comment for ICCMapFilename. }
  1911. {
  1912. * ICCMapTypeCreator()
  1913. *
  1914. * Availability:
  1915. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1916. * CarbonLib: not available
  1917. * Mac OS X: not available
  1918. }
  1919. function ICCMapTypeCreator(inst: ComponentInstance; fType: OSType; fCreator: OSType; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICCMapTypeCreator';
  1920. { See comment for ICCMapTypeCreator. }
  1921. { ----- Mid Level Routines ----- }
  1922. {
  1923. * ICCMapEntriesFilename()
  1924. *
  1925. * Availability:
  1926. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1927. * CarbonLib: not available
  1928. * Mac OS X: not available
  1929. }
  1930. function ICCMapEntriesFilename(inst: ComponentInstance; entries: Handle; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICCMapEntriesFilename';
  1931. { See comment for ICCMapEntriesFilename. }
  1932. {
  1933. * ICCMapEntriesTypeCreator()
  1934. *
  1935. * Availability:
  1936. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1937. * CarbonLib: not available
  1938. * Mac OS X: not available
  1939. }
  1940. function ICCMapEntriesTypeCreator(inst: ComponentInstance; entries: Handle; fType: OSType; fCreator: OSType; const (*var*) filename: Str255; var entry: ICMapEntry): OSStatus; external name '_ICCMapEntriesTypeCreator';
  1941. { See comment for ICCMapEntriesTypeCreator. }
  1942. { ----- Low Level Routines ----- }
  1943. {
  1944. * ICCCountMapEntries()
  1945. *
  1946. * Availability:
  1947. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1948. * CarbonLib: not available
  1949. * Mac OS X: not available
  1950. }
  1951. function ICCCountMapEntries(inst: ComponentInstance; entries: Handle; var count: SInt32): OSStatus; external name '_ICCCountMapEntries';
  1952. { See comment for ICCCountMapEntries. }
  1953. {
  1954. * ICCGetIndMapEntry()
  1955. *
  1956. * Availability:
  1957. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1958. * CarbonLib: not available
  1959. * Mac OS X: not available
  1960. }
  1961. function ICCGetIndMapEntry(inst: ComponentInstance; entries: Handle; index: SInt32; var pos: SInt32; var entry: ICMapEntry): OSStatus; external name '_ICCGetIndMapEntry';
  1962. { See comment for ICCGetIndMapEntry. }
  1963. {
  1964. * ICCGetMapEntry()
  1965. *
  1966. * Availability:
  1967. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1968. * CarbonLib: not available
  1969. * Mac OS X: not available
  1970. }
  1971. function ICCGetMapEntry(inst: ComponentInstance; entries: Handle; pos: SInt32; var entry: ICMapEntry): OSStatus; external name '_ICCGetMapEntry';
  1972. { See comment for ICCGetMapEntry. }
  1973. {
  1974. * ICCSetMapEntry()
  1975. *
  1976. * Availability:
  1977. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1978. * CarbonLib: not available
  1979. * Mac OS X: not available
  1980. }
  1981. function ICCSetMapEntry(inst: ComponentInstance; entries: Handle; pos: SInt32; var entry: ICMapEntry): OSStatus; external name '_ICCSetMapEntry';
  1982. { See comment for ICCSetMapEntry. }
  1983. {
  1984. * ICCDeleteMapEntry()
  1985. *
  1986. * Availability:
  1987. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1988. * CarbonLib: not available
  1989. * Mac OS X: not available
  1990. }
  1991. function ICCDeleteMapEntry(inst: ComponentInstance; entries: Handle; pos: SInt32): OSStatus; external name '_ICCDeleteMapEntry';
  1992. { See comment for ICCDeleteMapEntry. }
  1993. {
  1994. * ICCAddMapEntry()
  1995. *
  1996. * Availability:
  1997. * Non-Carbon CFM: in InternetConfig 2.5 and later
  1998. * CarbonLib: not available
  1999. * Mac OS X: not available
  2000. }
  2001. function ICCAddMapEntry(inst: ComponentInstance; entries: Handle; var entry: ICMapEntry): OSStatus; external name '_ICCAddMapEntry';
  2002. { See comment for ICCAddMapEntry. }
  2003. { ***** Profile Management Routines ***** }
  2004. {
  2005. * ICCGetCurrentProfile()
  2006. *
  2007. * Availability:
  2008. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2009. * CarbonLib: not available
  2010. * Mac OS X: not available
  2011. }
  2012. function ICCGetCurrentProfile(inst: ComponentInstance; var currentID: ICProfileID): OSStatus; external name '_ICCGetCurrentProfile';
  2013. { See comment for ICCGetCurrentProfile. }
  2014. {
  2015. * ICCSetCurrentProfile()
  2016. *
  2017. * Availability:
  2018. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2019. * CarbonLib: not available
  2020. * Mac OS X: not available
  2021. }
  2022. function ICCSetCurrentProfile(inst: ComponentInstance; newID: ICProfileID): OSStatus; external name '_ICCSetCurrentProfile';
  2023. { See comment for ICCSetCurrentProfile. }
  2024. {
  2025. * ICCCountProfiles()
  2026. *
  2027. * Availability:
  2028. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2029. * CarbonLib: not available
  2030. * Mac OS X: not available
  2031. }
  2032. function ICCCountProfiles(inst: ComponentInstance; var count: SInt32): OSStatus; external name '_ICCCountProfiles';
  2033. { See comment for ICCCountProfiles. }
  2034. {
  2035. * ICCGetIndProfile()
  2036. *
  2037. * Availability:
  2038. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2039. * CarbonLib: not available
  2040. * Mac OS X: not available
  2041. }
  2042. function ICCGetIndProfile(inst: ComponentInstance; index: SInt32; var thisID: ICProfileID): OSStatus; external name '_ICCGetIndProfile';
  2043. { See comment for ICCGetIndProfile. }
  2044. {
  2045. * ICCGetProfileName()
  2046. *
  2047. * Availability:
  2048. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2049. * CarbonLib: not available
  2050. * Mac OS X: not available
  2051. }
  2052. function ICCGetProfileName(inst: ComponentInstance; thisID: ICProfileID; var name: Str255): OSStatus; external name '_ICCGetProfileName';
  2053. { See comment for ICCGetProfileName. }
  2054. {
  2055. * ICCSetProfileName()
  2056. *
  2057. * Availability:
  2058. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2059. * CarbonLib: not available
  2060. * Mac OS X: not available
  2061. }
  2062. function ICCSetProfileName(inst: ComponentInstance; thisID: ICProfileID; const (*var*) name: Str255): OSStatus; external name '_ICCSetProfileName';
  2063. { See comment for ICCSetProfileName. }
  2064. {
  2065. * ICCAddProfile()
  2066. *
  2067. * Availability:
  2068. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2069. * CarbonLib: not available
  2070. * Mac OS X: not available
  2071. }
  2072. function ICCAddProfile(inst: ComponentInstance; prototypeID: ICProfileID; var newID: ICProfileID): OSStatus; external name '_ICCAddProfile';
  2073. { See comment for ICCAddProfile. }
  2074. {
  2075. * ICCDeleteProfile()
  2076. *
  2077. * Availability:
  2078. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2079. * CarbonLib: not available
  2080. * Mac OS X: not available
  2081. }
  2082. function ICCDeleteProfile(inst: ComponentInstance; thisID: ICProfileID): OSStatus; external name '_ICCDeleteProfile';
  2083. { See comment for ICCDeleteProfile. }
  2084. { ***** Interrupt Safe Routines ***** }
  2085. {
  2086. * ICCRequiresInterruptSafe()
  2087. *
  2088. * Availability:
  2089. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2090. * CarbonLib: not available
  2091. * Mac OS X: not available
  2092. }
  2093. function ICCRequiresInterruptSafe(inst: ComponentInstance): OSStatus; external name '_ICCRequiresInterruptSafe';
  2094. { See comment for ICCRequiresInterruptSafe. }
  2095. {
  2096. * ICCGetMappingInterruptSafe()
  2097. *
  2098. * Availability:
  2099. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2100. * CarbonLib: not available
  2101. * Mac OS X: not available
  2102. }
  2103. function ICCGetMappingInterruptSafe(inst: ComponentInstance; var mappingPref: Ptr; var mappingPrefSize: SInt32): OSStatus; external name '_ICCGetMappingInterruptSafe';
  2104. { See comment for ICCGetMappingInterruptSafe. }
  2105. {
  2106. * ICCGetSeedInterruptSafe()
  2107. *
  2108. * Availability:
  2109. * Non-Carbon CFM: in InternetConfig 2.5 and later
  2110. * CarbonLib: not available
  2111. * Mac OS X: not available
  2112. }
  2113. function ICCGetSeedInterruptSafe(inst: ComponentInstance; var seed: SInt32): OSStatus; external name '_ICCGetSeedInterruptSafe';
  2114. { See comment for ICCGetSeedInterruptSafe. }
  2115. {$endc} {CALL_NOT_IN_CARBON}
  2116. {$ifc CALL_NOT_IN_CARBON}
  2117. {***********************************************************************************************
  2118. component selectors
  2119. ***********************************************************************************************}
  2120. const
  2121. kICCStart = 0;
  2122. kICCStop = 1;
  2123. kICCGetVersion = 50;
  2124. kICCFindConfigFile = 2;
  2125. kICCFindUserConfigFile = 14;
  2126. kICCGeneralFindConfigFile = 30;
  2127. kICCChooseConfig = 33;
  2128. kICCChooseNewConfig = 34;
  2129. kICCGetConfigName = 35;
  2130. kICCGetConfigReference = 31;
  2131. kICCSetConfigReference = 32;
  2132. kICCSpecifyConfigFile = 3;
  2133. kICCRefreshCaches = 47;
  2134. kICCGetSeed = 4;
  2135. kICCGetPerm = 13;
  2136. kICCDefaultFileName = 11;
  2137. kICCBegin = 5;
  2138. kICCGetPref = 6;
  2139. kICCSetPref = 7;
  2140. kICCFindPrefHandle = 36;
  2141. kICCGetPrefHandle = 26;
  2142. kICCSetPrefHandle = 27;
  2143. kICCCountPref = 8;
  2144. kICCGetIndPref = 9;
  2145. kICCDeletePref = 12;
  2146. kICCEnd = 10;
  2147. kICCGetDefaultPref = 49;
  2148. kICCEditPreferences = 15;
  2149. kICCLaunchURL = 17;
  2150. kICCParseURL = 16;
  2151. kICCCreateGURLEvent = 51;
  2152. kICCSendGURLEvent = 52;
  2153. kICCMapFilename = 24;
  2154. kICCMapTypeCreator = 25;
  2155. kICCMapEntriesFilename = 28;
  2156. kICCMapEntriesTypeCreator = 29;
  2157. kICCCountMapEntries = 18;
  2158. kICCGetIndMapEntry = 19;
  2159. kICCGetMapEntry = 20;
  2160. kICCSetMapEntry = 21;
  2161. kICCDeleteMapEntry = 22;
  2162. kICCAddMapEntry = 23;
  2163. kICCGetCurrentProfile = 37;
  2164. kICCSetCurrentProfile = 38;
  2165. kICCCountProfiles = 39;
  2166. kICCGetIndProfile = 40;
  2167. kICCGetProfileName = 41;
  2168. kICCSetProfileName = 42;
  2169. kICCAddProfile = 43;
  2170. kICCDeleteProfile = 44;
  2171. kICCRequiresInterruptSafe = 45;
  2172. kICCGetMappingInterruptSafe = 46;
  2173. kICCGetSeedInterruptSafe = 48;
  2174. kICCFirstSelector = 0;
  2175. kICCLastSelector = 52;
  2176. { ***********************************************************************************************
  2177. component selector proc infos
  2178. *********************************************************************************************** }
  2179. kICCStartProcInfo = 1008;
  2180. kICCStopProcInfo = 240;
  2181. kICCGetVersionProcInfo = 4080;
  2182. kICCFindConfigFileProcInfo = 3824;
  2183. kICCFindUserConfigFileProcInfo = 1008;
  2184. kICCGeneralFindConfigFileProcInfo = 58864;
  2185. kICCChooseConfigProcInfo = 240;
  2186. kICCChooseNewConfigProcInfo = 240;
  2187. kICCGetConfigNameProcInfo = 3568;
  2188. kICCGetConfigReferenceProcInfo = 1008;
  2189. kICCSetConfigReferenceProcInfo = 4080;
  2190. kICCSpecifyConfigFileProcInfo = 1008;
  2191. kICCRefreshCachesProcInfo = 240;
  2192. kICCGetSeedProcInfo = 1008;
  2193. kICCGetPermProcInfo = 1008;
  2194. kICCDefaultFileNameProcInfo = 1008;
  2195. kICCGetComponentInstanceProcInfo = 1008;
  2196. kICCBeginProcInfo = 496;
  2197. kICCGetPrefProcInfo = 65520;
  2198. kICCSetPrefProcInfo = 65520;
  2199. kICCFindPrefHandleProcInfo = 16368;
  2200. kICCGetPrefHandleProcInfo = 16368;
  2201. kICCSetPrefHandleProcInfo = 16368;
  2202. kICCCountPrefProcInfo = 1008;
  2203. kICCGetIndPrefProcInfo = 4080;
  2204. kICCDeletePrefProcInfo = 1008;
  2205. kICCEndProcInfo = 240;
  2206. kICCGetDefaultPrefProcInfo = 4080;
  2207. kICCEditPreferencesProcInfo = 1008;
  2208. kICCLaunchURLProcInfo = 262128;
  2209. kICCParseURLProcInfo = 1048560;
  2210. kICCCreateGURLEventProcInfo = 16368;
  2211. kICCSendGURLEventProcInfo = 1008;
  2212. kICCMapFilenameProcInfo = 4080;
  2213. kICCMapTypeCreatorProcInfo = 65520;
  2214. kICCMapEntriesFilenameProcInfo = 16368;
  2215. kICCMapEntriesTypeCreatorProcInfo = 262128;
  2216. kICCCountMapEntriesProcInfo = 4080;
  2217. kICCGetIndMapEntryProcInfo = 65520;
  2218. kICCGetMapEntryProcInfo = 16368;
  2219. kICCSetMapEntryProcInfo = 16368;
  2220. kICCDeleteMapEntryProcInfo = 4080;
  2221. kICCAddMapEntryProcInfo = 4080;
  2222. kICCGetCurrentProfileProcInfo = 1008;
  2223. kICCSetCurrentProfileProcInfo = 1008;
  2224. kICCCountProfilesProcInfo = 1008;
  2225. kICCGetIndProfileProcInfo = 4080;
  2226. kICCGetProfileNameProcInfo = 4080;
  2227. kICCSetProfileNameProcInfo = 4080;
  2228. kICCAddProfileProcInfo = 4080;
  2229. kICCDeleteProfileProcInfo = 1008;
  2230. kICCRequiresInterruptSafeProcInfo = 240;
  2231. kICCGetMappingInterruptSafeProcInfo = 4080;
  2232. kICCGetSeedInterruptSafeProcInfo = 1008;
  2233. { ***********************************************************************************************
  2234. component identifiers
  2235. *********************************************************************************************** }
  2236. kICComponentType = $50524546 (* 'PREF' *);
  2237. kICComponentSubType = $49434170 (* 'ICAp' *);
  2238. kICComponentManufacturer = $4A505145 (* 'JPQE' *);
  2239. { ***********************************************************************************************
  2240. The following type is now obsolete.
  2241. If you're using it, please switch to ComponentInstance or ICInstance.
  2242. *********************************************************************************************** }
  2243. {$ifc OLDROUTINENAMES}
  2244. type
  2245. internetConfigurationComponent = ComponentInstance;
  2246. {$endc} {OLDROUTINENAMES}
  2247. {$endc} {CALL_NOT_IN_CARBON}
  2248. {***********************************************************************************************
  2249. old names for stuff declared above
  2250. ***********************************************************************************************}
  2251. {$ifc OLDROUTINENAMES}
  2252. type
  2253. ICError = SInt32;
  2254. const
  2255. ICattr_no_change = $FFFFFFFF;
  2256. ICattr_locked_bit = 0;
  2257. ICattr_locked_mask = $00000001;
  2258. ICattr_volatile_bit = 1;
  2259. ICattr_volatile_mask = $00000002;
  2260. icNoUserInteraction_bit = 0;
  2261. icNoUserInteraction_mask = $00000001;
  2262. ICfiletype = $49434170 (* 'ICAp' *);
  2263. ICcreator = $49434170 (* 'ICAp' *);
  2264. {
  2265. ICFileInfo was originally used to define the format of a key.
  2266. That key was removed, but we forgot to remove ICFileInfo.
  2267. I hope to remove it entirely, but for the moment it's available
  2268. if you define OLDROUTINENAMES.
  2269. }
  2270. type
  2271. ICFileInfoPtr = ^ICFileInfo;
  2272. ICFileInfo = record
  2273. fType: OSType;
  2274. fCreator: OSType;
  2275. name: Str63;
  2276. end;
  2277. ICFileInfoHandle = ^ICFileInfoPtr;
  2278. const
  2279. ICfile_spec_header_size = 106;
  2280. ICmap_binary_bit = 0;
  2281. ICmap_binary_mask = $00000001;
  2282. ICmap_resource_fork_bit = 1;
  2283. ICmap_resource_fork_mask = $00000002;
  2284. ICmap_data_fork_bit = 2;
  2285. ICmap_data_fork_mask = $00000004;
  2286. ICmap_post_bit = 3;
  2287. ICmap_post_mask = $00000008;
  2288. ICmap_not_incoming_bit = 4;
  2289. ICmap_not_incoming_mask = $00000010;
  2290. ICmap_not_outgoing_bit = 5;
  2291. ICmap_not_outgoing_mask = $00000020;
  2292. ICmap_fixed_length = 22;
  2293. ICservices_tcp_bit = 0;
  2294. ICservices_tcp_mask = $00000001;
  2295. ICservices_udp_bit = 1;
  2296. ICservices_udp_mask = $00000002;
  2297. { This definitions are a) very long, and b) don't conform
  2298. to Mac OS standards for naming constants, so I've put
  2299. them in only if you're using OLDROUTINENAMES. Please switch
  2300. to the new names given above.
  2301. }
  2302. internetConfigurationComponentType = $50524546 (* 'PREF' *); { the component type }
  2303. internetConfigurationComponentSubType = $49434170 (* 'ICAp' *); { the component subtype }
  2304. internetConfigurationComponentInterfaceVersion0 = $00000000; { IC >= 1.0 }
  2305. internetConfigurationComponentInterfaceVersion1 = $00010000; { IC >= 1.1 }
  2306. internetConfigurationComponentInterfaceVersion2 = $00020000; { IC >= 1.2 }
  2307. internetConfigurationComponentInterfaceVersion3 = $00030000; { IC >= 2.0 }
  2308. { current version number is version 3 }
  2309. internetConfigurationComponentInterfaceVersion = $00030000;
  2310. {$endc} {OLDROUTINENAMES}
  2311. {$ALIGN MAC68K}
  2312. end.