1 {
2      File:       SearchKit/SKAnalysis.h
3 
4      Contains:   SearchKit Interfaces.
5 
6      Version:    SearchKit-407~38
7 
8      Copyright:  � 2003-2008 by Apple Computer, Inc., all rights reserved
9 
10      Bugs?:      For bug reports, consult the following page on
11                  the World Wide Web:
12 
13                      http://developer.apple.com/bugreporter/
14 
15 }
16 {
17     Modified for use with Free Pascal
18     Version 308
19     Please report any bugs to <gpc@microbizz.nl>
20 }
21 
22 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
23 {$mode macpas}
24 {$modeswitch cblocks}
25 {$packenum 1}
26 {$macro on}
27 {$inline on}
28 {$calling mwpascal}
29 
30 unit SKAnalysis;
31 interface
32 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
33 {$setc GAP_INTERFACES_VERSION := $0308}
34 
35 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
36     {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
37 {$endc}
38 
39 {$ifc defined CPUPOWERPC and defined CPUI386}
40 	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
41 {$endc}
42 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
43 	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
44 {$endc}
45 
46 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
47 	{$setc __ppc__ := 1}
48 {$elsec}
49 	{$setc __ppc__ := 0}
50 {$endc}
51 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
52 	{$setc __ppc64__ := 1}
53 {$elsec}
54 	{$setc __ppc64__ := 0}
55 {$endc}
56 {$ifc not defined __i386__ and defined CPUI386}
57 	{$setc __i386__ := 1}
58 {$elsec}
59 	{$setc __i386__ := 0}
60 {$endc}
61 {$ifc not defined __x86_64__ and defined CPUX86_64}
62 	{$setc __x86_64__ := 1}
63 {$elsec}
64 	{$setc __x86_64__ := 0}
65 {$endc}
66 {$ifc not defined __arm__ and defined CPUARM}
67 	{$setc __arm__ := 1}
68 {$elsec}
69 	{$setc __arm__ := 0}
70 {$endc}
71 {$ifc not defined __arm64__ and defined CPUAARCH64}
72   {$setc __arm64__ := 1}
73 {$elsec}
74   {$setc __arm64__ := 0}
75 {$endc}
76 
77 {$ifc defined cpu64}
78   {$setc __LP64__ := 1}
79 {$elsec}
80   {$setc __LP64__ := 0}
81 {$endc}
82 
83 
84 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
85 	{$error Conflicting definitions for __ppc__ and __i386__}
86 {$endc}
87 
88 {$ifc defined __ppc__ and __ppc__}
89 	{$setc TARGET_CPU_PPC := TRUE}
90 	{$setc TARGET_CPU_PPC64 := FALSE}
91 	{$setc TARGET_CPU_X86 := FALSE}
92 	{$setc TARGET_CPU_X86_64 := FALSE}
93 	{$setc TARGET_CPU_ARM := FALSE}
94 	{$setc TARGET_CPU_ARM64 := FALSE}
95 	{$setc TARGET_OS_MAC := TRUE}
96 	{$setc TARGET_OS_IPHONE := FALSE}
97 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
98 	{$setc TARGET_OS_EMBEDDED := FALSE}
99 {$elifc defined __ppc64__ and __ppc64__}
100 	{$setc TARGET_CPU_PPC := FALSE}
101 	{$setc TARGET_CPU_PPC64 := TRUE}
102 	{$setc TARGET_CPU_X86 := FALSE}
103 	{$setc TARGET_CPU_X86_64 := FALSE}
104 	{$setc TARGET_CPU_ARM := FALSE}
105 	{$setc TARGET_CPU_ARM64 := FALSE}
106 	{$setc TARGET_OS_MAC := TRUE}
107 	{$setc TARGET_OS_IPHONE := FALSE}
108 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
109 	{$setc TARGET_OS_EMBEDDED := FALSE}
110 {$elifc defined __i386__ and __i386__}
111 	{$setc TARGET_CPU_PPC := FALSE}
112 	{$setc TARGET_CPU_PPC64 := FALSE}
113 	{$setc TARGET_CPU_X86 := TRUE}
114 	{$setc TARGET_CPU_X86_64 := FALSE}
115 	{$setc TARGET_CPU_ARM := FALSE}
116 	{$setc TARGET_CPU_ARM64 := FALSE}
117 {$ifc defined iphonesim}
118  	{$setc TARGET_OS_MAC := FALSE}
119 	{$setc TARGET_OS_IPHONE := TRUE}
120 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
121 {$elsec}
122 	{$setc TARGET_OS_MAC := TRUE}
123 	{$setc TARGET_OS_IPHONE := FALSE}
124 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
125 {$endc}
126 	{$setc TARGET_OS_EMBEDDED := FALSE}
127 {$elifc defined __x86_64__ and __x86_64__}
128 	{$setc TARGET_CPU_PPC := FALSE}
129 	{$setc TARGET_CPU_PPC64 := FALSE}
130 	{$setc TARGET_CPU_X86 := FALSE}
131 	{$setc TARGET_CPU_X86_64 := TRUE}
132 	{$setc TARGET_CPU_ARM := FALSE}
133 	{$setc TARGET_CPU_ARM64 := FALSE}
134 {$ifc defined iphonesim}
135  	{$setc TARGET_OS_MAC := FALSE}
136 	{$setc TARGET_OS_IPHONE := TRUE}
137 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
138 {$elsec}
139 	{$setc TARGET_OS_MAC := TRUE}
140 	{$setc TARGET_OS_IPHONE := FALSE}
141 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
142 {$endc}
143 	{$setc TARGET_OS_EMBEDDED := FALSE}
144 {$elifc defined __arm__ and __arm__}
145 	{$setc TARGET_CPU_PPC := FALSE}
146 	{$setc TARGET_CPU_PPC64 := FALSE}
147 	{$setc TARGET_CPU_X86 := FALSE}
148 	{$setc TARGET_CPU_X86_64 := FALSE}
149 	{$setc TARGET_CPU_ARM := TRUE}
150 	{$setc TARGET_CPU_ARM64 := FALSE}
151 	{$setc TARGET_OS_MAC := FALSE}
152 	{$setc TARGET_OS_IPHONE := TRUE}
153 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
154 	{$setc TARGET_OS_EMBEDDED := TRUE}
155 {$elifc defined __arm64__ and __arm64__}
156 	{$setc TARGET_CPU_PPC := FALSE}
157 	{$setc TARGET_CPU_PPC64 := FALSE}
158 	{$setc TARGET_CPU_X86 := FALSE}
159 	{$setc TARGET_CPU_X86_64 := FALSE}
160 	{$setc TARGET_CPU_ARM := FALSE}
161 	{$setc TARGET_CPU_ARM64 := TRUE}
162 {$ifc defined ios}
163 	{$setc TARGET_OS_MAC := FALSE}
164 	{$setc TARGET_OS_IPHONE := TRUE}
165 	{$setc TARGET_OS_EMBEDDED := TRUE}
166 {$elsec}
167 	{$setc TARGET_OS_MAC := TRUE}
168 	{$setc TARGET_OS_IPHONE := FALSE}
169 	{$setc TARGET_OS_EMBEDDED := FALSE}
170 {$endc}
171 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
172 {$elsec}
173 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
174 {$endc}
175 
176 {$ifc defined __LP64__ and __LP64__ }
177   {$setc TARGET_CPU_64 := TRUE}
178 {$elsec}
179   {$setc TARGET_CPU_64 := FALSE}
180 {$endc}
181 
182 {$ifc defined FPC_BIG_ENDIAN}
183 	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
184 	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
185 {$elifc defined FPC_LITTLE_ENDIAN}
186 	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
187 	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
188 {$elsec}
189 	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
190 {$endc}
191 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
192 {$setc CALL_NOT_IN_CARBON := FALSE}
193 {$setc OLDROUTINENAMES := FALSE}
194 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
195 {$setc OPAQUE_UPP_TYPES := TRUE}
196 {$setc OTCARBONAPPLICATION := TRUE}
197 {$setc OTKERNEL := FALSE}
198 {$setc PM_USE_SESSION_APIS := TRUE}
199 {$setc TARGET_API_MAC_CARBON := TRUE}
200 {$setc TARGET_API_MAC_OS8 := FALSE}
201 {$setc TARGET_API_MAC_OSX := TRUE}
202 {$setc TARGET_CARBON := TRUE}
203 {$setc TARGET_CPU_68K := FALSE}
204 {$setc TARGET_CPU_MIPS := FALSE}
205 {$setc TARGET_CPU_SPARC := FALSE}
206 {$setc TARGET_OS_UNIX := FALSE}
207 {$setc TARGET_OS_WIN32 := FALSE}
208 {$setc TARGET_RT_MAC_68881 := FALSE}
209 {$setc TARGET_RT_MAC_CFM := FALSE}
210 {$setc TARGET_RT_MAC_MACHO := TRUE}
211 {$setc TYPED_FUNCTION_POINTERS := TRUE}
212 {$setc TYPE_BOOL := FALSE}
213 {$setc TYPE_EXTENDED := FALSE}
214 {$setc TYPE_LONGLONG := TRUE}
215 uses MacTypes,CFBase,CFString;
216 {$endc} {not MACOSALLINCLUDE}
217 
218 {$ALIGN POWER}
219 
220 {$ifc TARGET_OS_MAC}
221 
222 {
223     The possible text analysis properties of an index, used by
224     SKIndexCreateWithURL or SKIndexCreateWithMutableData.
225  }
226 
227 
228 {
229  *  kSKMinTermLength
230  *
231  *  Summary:
232  *    The minimum term length to index.
233  *
234  *  Discussion:
235  *    The kSKMinTermLength constant is an optional key in the text
236  *    analysis properties dictionary whose corresponding value is a
237  *    CFNumber object containing the minimum term length to index. If
238  *    this key is not present, SearchKit indexing defaults to a minimum
239  *    term length of 1.
240  *
241  *  Availability:
242  *    Mac OS X:         in version 10.3 and later in CoreServices.framework
243  *    CarbonLib:        not available
244  *    Non-Carbon CFM:   not available
245  }
246 var kSKMinTermLength: CFStringRef; external name '_kSKMinTermLength'; (* attribute const *)
247 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
248 {
249  *  kSKSubstitutions
250  *
251  *  Summary:
252  *    A dictionary of term substitutions.
253  *
254  *  Discussion:
255  *    The kSKSubstitutions constant is an optional key in the text
256  *    analysis properties dictionary whose corresponding value is a
257  *    CFDictionary object containing term substitutions.
258  *
259  *  Availability:
260  *    Mac OS X:         in version 10.3 and later in CoreServices.framework
261  *    CarbonLib:        not available
262  *    Non-Carbon CFM:   not available
263  }
264 var kSKSubstitutions: CFStringRef; external name '_kSKSubstitutions'; (* attribute const *)
265 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
266 {
267  *  kSKStopWords
268  *
269  *  Summary:
270  *    A set of stop words--words not to index.
271  *
272  *  Discussion:
273  *    The kSKStopWords constant is an optional key in the text analysis
274  *    properties dictionary whose corresponding value is a CFSet object
275  *    containing words not to index.
276  *
277  *  Availability:
278  *    Mac OS X:         in version 10.3 and later in CoreServices.framework
279  *    CarbonLib:        not available
280  *    Non-Carbon CFM:   not available
281  }
282 var kSKStopWords: CFStringRef; external name '_kSKStopWords'; (* attribute const *)
283 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
284 {
285  *  kSKProximityIndexing
286  *
287  *  Summary:
288  *    The proximity indexing option.
289  *
290  *  Discussion:
291  *    The kSKProximityIndexing constant is an optional key in the text
292  *    analysis properties dictionary whose corresponding value is a
293  *    CFBoolean object containing the proximity indexing option. If
294  *    this key is not present, SearchKit indexing defaults to not doing
295  *    proximity indexing.
296  *
297  *  Availability:
298  *    Mac OS X:         in version 10.4 and later in CoreServices.framework
299  *    CarbonLib:        not available
300  *    Non-Carbon CFM:   not available
301  }
302 var kSKProximityIndexing: CFStringRef; external name '_kSKProximityIndexing'; (* attribute const *)
303 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
304 {
305  *  kSKMaximumTerms
306  *
307  *  Summary:
308  *    The maximum unique terms per document to index.
309  *
310  *  Discussion:
311  *    The kSKMaximumTerms constant is an optional key in the text
312  *    analysis properties dictionary whose corresponding value is a
313  *    CFNumber object containing the maximum unique terms per document
314  *    to index. If this key is not present, SearchKit indexing defaults
315  *    to 2000. If the value of this key is zero, there is no limit of
316  *    the maximum unique terms per document to index.
317  *
318  *  Availability:
319  *    Mac OS X:         in version 10.4 and later in CoreServices.framework
320  *    CarbonLib:        not available
321  *    Non-Carbon CFM:   not available
322  }
323 var kSKMaximumTerms: CFStringRef; external name '_kSKMaximumTerms'; (* attribute const *)
324 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
325 {
326  *  kSKTermChars
327  *
328  *  Summary:
329  *    The extra valid characters for indexing.
330  *
331  *  Discussion:
332  *    The kSKTermCharSet constant is an optional key in the text
333  *    analysis properties dictionary whose corresponding value is a
334  *    CFString object containing the extra valid characters that a
335  *    valid term (word) can contain. Used for indexing and query
336  *    processing.
337  *
338  *  Availability:
339  *    Mac OS X:         in version 10.4 and later in CoreServices.framework
340  *    CarbonLib:        not available
341  *    Non-Carbon CFM:   not available
342  }
343 var kSKTermChars: CFStringRef; external name '_kSKTermChars'; (* attribute const *)
344 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
345 {
346  *  kSKStartTermChars
347  *
348  *  Summary:
349  *    The extra valid characters for indexing.
350  *
351  *  Discussion:
352  *    The kSKStartTermChars constant is an optional key in the text
353  *    analysis properties dictionary whose corresponding value is a
354  *    CFString object containing the extra valid characters that can
355  *    occur as the first character of a term. Overrides the
356  *    kSKTermChars for the first character of a term.
357  *
358  *  Availability:
359  *    Mac OS X:         in version 10.4 and later in CoreServices.framework
360  *    CarbonLib:        not available
361  *    Non-Carbon CFM:   not available
362  }
363 var kSKStartTermChars: CFStringRef; external name '_kSKStartTermChars'; (* attribute const *)
364 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
365 {
366  *  kSKEndTermChars
367  *
368  *  Summary:
369  *    The extra valid characters for indexing.
370  *
371  *  Discussion:
372  *    The kSKEndTermChars constant is an optional key in the text
373  *    analysis properties dictionary whose corresponding value is a
374  *    CFString object containing the extra valid characters that can
375  *    occur as the last character of a term. Overrides the kSKTermChars
376  *    for the last character of a term.
377  *
378  *  Availability:
379  *    Mac OS X:         in version 10.4 and later in CoreServices.framework
380  *    CarbonLib:        not available
381  *    Non-Carbon CFM:   not available
382  }
383 var kSKEndTermChars: CFStringRef; external name '_kSKEndTermChars'; (* attribute const *)
384 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
385 {
386  *  kSKLanguageTypes   *** DEPRECATED ***
387  *
388  *  Summary:
389  *    An array of string objects that specify the languages to use for
390  *    indexing.
391  *
392  *  Discussion:
393  *    The kSKLanguageTypes constant is an optional key in the text
394  *    analysis properties dictionary whose corresponding value is an
395  *    array of string objects that together specify the languages to
396  *    use for indexing. Each string should be a two character ISO 639-1
397  *    code indicating a language to use. For example, 'en' for English,
398  *    'ja' for Japanese, and so on. If this key is not present,
399  *    SearchKit uses the Mac OS X preferences system to determine the
400  *    primary language from the user's locale.
401  *
402  *  Availability:
403  *    Mac OS X:         in version 10.3 and later in CoreServices.framework but deprecated in 10.4
404  *    CarbonLib:        not available
405  *    Non-Carbon CFM:   not available
406  }
407 var kSKLanguageTypes: CFStringRef; external name '_kSKLanguageTypes'; (* attribute const *)
408 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
409 
410 
411 {$endc} {TARGET_OS_MAC}
412 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
413 
414 end.
415 {$endc} {not MACOSALLINCLUDE}
416