2
File: CFNetwork/CFHTTPMessage.h
4
Contains: CoreFoundation Network socket streams header
6
Version: CFNetwork-71.2~1
8
Copyright: � 2001-2003 by Apple Computer, Inc., all rights reserved
10
Bugs?: For bug reports, consult the following page on
13
http://www.freepascal.org/bugs.html
16
{ Pascal Translation: Peter N Lewis, <peter@stairways.com.au>, 2004 }
20
Modified for use with Free Pascal
22
Please report any bugs to <gpc@microbizz.nl>
33
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
34
{$setc GAP_INTERFACES_VERSION := $0200}
36
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
37
{$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
40
{$ifc defined CPUPOWERPC and defined CPUI386}
41
{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
43
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
44
{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
47
{$ifc not defined __ppc__ and defined CPUPOWERPC}
52
{$ifc not defined __i386__ and defined CPUI386}
58
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
59
{$error Conflicting definitions for __ppc__ and __i386__}
62
{$ifc defined __ppc__ and __ppc__}
63
{$setc TARGET_CPU_PPC := TRUE}
64
{$setc TARGET_CPU_X86 := FALSE}
65
{$elifc defined __i386__ and __i386__}
66
{$setc TARGET_CPU_PPC := FALSE}
67
{$setc TARGET_CPU_X86 := TRUE}
69
{$error Neither __ppc__ nor __i386__ is defined.}
71
{$setc TARGET_CPU_PPC_64 := FALSE}
73
{$ifc defined FPC_BIG_ENDIAN}
74
{$setc TARGET_RT_BIG_ENDIAN := TRUE}
75
{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
76
{$elifc defined FPC_LITTLE_ENDIAN}
77
{$setc TARGET_RT_BIG_ENDIAN := FALSE}
78
{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
80
{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
82
{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
83
{$setc CALL_NOT_IN_CARBON := FALSE}
84
{$setc OLDROUTINENAMES := FALSE}
85
{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
86
{$setc OPAQUE_UPP_TYPES := TRUE}
87
{$setc OTCARBONAPPLICATION := TRUE}
88
{$setc OTKERNEL := FALSE}
89
{$setc PM_USE_SESSION_APIS := TRUE}
90
{$setc TARGET_API_MAC_CARBON := TRUE}
91
{$setc TARGET_API_MAC_OS8 := FALSE}
92
{$setc TARGET_API_MAC_OSX := TRUE}
93
{$setc TARGET_CARBON := TRUE}
94
{$setc TARGET_CPU_68K := FALSE}
95
{$setc TARGET_CPU_MIPS := FALSE}
96
{$setc TARGET_CPU_SPARC := FALSE}
97
{$setc TARGET_OS_MAC := TRUE}
98
{$setc TARGET_OS_UNIX := FALSE}
99
{$setc TARGET_OS_WIN32 := FALSE}
100
{$setc TARGET_RT_MAC_68881 := FALSE}
101
{$setc TARGET_RT_MAC_CFM := FALSE}
102
{$setc TARGET_RT_MAC_MACHO := TRUE}
103
{$setc TYPED_FUNCTION_POINTERS := TRUE}
104
{$setc TYPE_BOOL := FALSE}
105
{$setc TYPE_EXTENDED := FALSE}
106
{$setc TYPE_LONGLONG := TRUE}
107
uses MacTypes,CFString,CFURL,CFBase,CFData,CFDictionary;
114
* Mac OS X: in version 10.1 and later in CoreServices.framework
115
* CarbonLib: not available
116
* Non-Carbon CFM: not available
118
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
119
var kCFHTTPVersion1_0: CFStringRef; external name '_kCFHTTPVersion1_0'; (* attribute const *)
124
* Mac OS X: in version 10.1 and later in CoreServices.framework
125
* CarbonLib: not available
126
* Non-Carbon CFM: not available
128
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
129
var kCFHTTPVersion1_1: CFStringRef; external name '_kCFHTTPVersion1_1'; (* attribute const *)
131
* kCFHTTPAuthenticationSchemeBasic
134
* Mac OS X: in version 10.2 and later in CoreServices.framework
135
* CarbonLib: not available
136
* Non-Carbon CFM: not available
138
// AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
139
var kCFHTTPAuthenticationSchemeBasic: CFStringRef; external name '_kCFHTTPAuthenticationSchemeBasic'; (* attribute const *)
141
* kCFHTTPAuthenticationSchemeDigest
144
* Mac OS X: in version 10.2 and later in CoreServices.framework
145
* CarbonLib: not available
146
* Non-Carbon CFM: not available
148
// AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
149
var kCFHTTPAuthenticationSchemeDigest: CFStringRef; external name '_kCFHTTPAuthenticationSchemeDigest'; (* attribute const *)
150
{ Currently unsupported }
152
CFHTTPMessageRef = ^SInt32; { an opaque 32-bit type }
154
* CFHTTPMessageGetTypeID()
157
* Mac OS X: in version 10.1 and later in CoreServices.framework
158
* CarbonLib: not available
159
* Non-Carbon CFM: not available
161
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
162
function CFHTTPMessageGetTypeID: CFTypeID; external name '_CFHTTPMessageGetTypeID';
166
* CFHTTPMessageCreateRequest()
169
* Mac OS X: in version 10.1 and later in CoreServices.framework
170
* CarbonLib: not available
171
* Non-Carbon CFM: not available
173
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
174
function CFHTTPMessageCreateRequest( allocator: CFAllocatorRef; requestMethod: CFStringRef; url: CFURLRef; httpVersion: CFStringRef ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateRequest';
177
{ Pass NULL to use the standard description for the given status code, as found in RFC 2616}
179
* CFHTTPMessageCreateResponse()
182
* Mac OS X: in version 10.1 and later in CoreServices.framework
183
* CarbonLib: not available
184
* Non-Carbon CFM: not available
186
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
187
function CFHTTPMessageCreateResponse( allocator: CFAllocatorRef; statusCode: SInt32; statusDescription: CFStringRef; httpVersion: CFStringRef ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateResponse';
190
{ Creates an empty request or response, which you can then append bytes to via CFHTTPMessageAppendBytes(). The HTTP header information will be parsed out as the bytes are appended.}
192
* CFHTTPMessageCreateEmpty()
195
* Mac OS X: in version 10.1 and later in CoreServices.framework
196
* CarbonLib: not available
197
* Non-Carbon CFM: not available
199
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
200
function CFHTTPMessageCreateEmpty( allocator: CFAllocatorRef; isRequest: Boolean ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateEmpty';
204
* CFHTTPMessageCreateCopy()
207
* Mac OS X: in version 10.1 and later in CoreServices.framework
208
* CarbonLib: not available
209
* Non-Carbon CFM: not available
211
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
212
function CFHTTPMessageCreateCopy( allocator: CFAllocatorRef; message: CFHTTPMessageRef ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateCopy';
215
{ Whether the message is a response or a request}
217
* CFHTTPMessageIsRequest()
220
* Mac OS X: in version 10.1 and later in CoreServices.framework
221
* CarbonLib: not available
222
* Non-Carbon CFM: not available
224
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
225
function CFHTTPMessageIsRequest( message: CFHTTPMessageRef ): Boolean; external name '_CFHTTPMessageIsRequest';
229
* CFHTTPMessageCopyVersion()
232
* Mac OS X: in version 10.1 and later in CoreServices.framework
233
* CarbonLib: not available
234
* Non-Carbon CFM: not available
236
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
237
function CFHTTPMessageCopyVersion( message: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyVersion';
241
* CFHTTPMessageCopyBody()
244
* Mac OS X: in version 10.1 and later in CoreServices.framework
245
* CarbonLib: not available
246
* Non-Carbon CFM: not available
248
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
249
function CFHTTPMessageCopyBody( message: CFHTTPMessageRef ): CFDataRef; external name '_CFHTTPMessageCopyBody';
253
* CFHTTPMessageSetBody()
256
* Mac OS X: in version 10.1 and later in CoreServices.framework
257
* CarbonLib: not available
258
* Non-Carbon CFM: not available
260
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
261
procedure CFHTTPMessageSetBody( message: CFHTTPMessageRef; bodyData: CFDataRef ); external name '_CFHTTPMessageSetBody';
265
* CFHTTPMessageCopyHeaderFieldValue()
268
* Mac OS X: in version 10.1 and later in CoreServices.framework
269
* CarbonLib: not available
270
* Non-Carbon CFM: not available
272
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
273
function CFHTTPMessageCopyHeaderFieldValue( message: CFHTTPMessageRef; headerField: CFStringRef ): CFStringRef; external name '_CFHTTPMessageCopyHeaderFieldValue';
277
* CFHTTPMessageCopyAllHeaderFields()
280
* Mac OS X: in version 10.1 and later in CoreServices.framework
281
* CarbonLib: not available
282
* Non-Carbon CFM: not available
284
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
285
function CFHTTPMessageCopyAllHeaderFields( message: CFHTTPMessageRef ): CFDictionaryRef; external name '_CFHTTPMessageCopyAllHeaderFields';
289
* CFHTTPMessageSetHeaderFieldValue()
292
* Mac OS X: in version 10.1 and later in CoreServices.framework
293
* CarbonLib: not available
294
* Non-Carbon CFM: not available
296
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
297
procedure CFHTTPMessageSetHeaderFieldValue( message: CFHTTPMessageRef; headerField: CFStringRef; value: CFStringRef ); external name '_CFHTTPMessageSetHeaderFieldValue';
300
{ The following function appends the given bytes to the message given (parsing out any control information if appropriate). Returns FALSE if a parsing error occurs while processing the new data.}
302
* CFHTTPMessageAppendBytes()
305
* Mac OS X: in version 10.1 and later in CoreServices.framework
306
* CarbonLib: not available
307
* Non-Carbon CFM: not available
309
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
310
function CFHTTPMessageAppendBytes( message: CFHTTPMessageRef; newBytes: UnivPtr; numBytes: CFIndex ): Boolean; external name '_CFHTTPMessageAppendBytes';
313
{ Whether further header data is expected by the message}
315
* CFHTTPMessageIsHeaderComplete()
318
* Mac OS X: in version 10.1 and later in CoreServices.framework
319
* CarbonLib: not available
320
* Non-Carbon CFM: not available
322
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
323
function CFHTTPMessageIsHeaderComplete( message: CFHTTPMessageRef ): Boolean; external name '_CFHTTPMessageIsHeaderComplete';
327
* CFHTTPMessageCopySerializedMessage()
330
* Mac OS X: in version 10.1 and later in CoreServices.framework
331
* CarbonLib: not available
332
* Non-Carbon CFM: not available
334
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
335
function CFHTTPMessageCopySerializedMessage( request: CFHTTPMessageRef ): CFDataRef; external name '_CFHTTPMessageCopySerializedMessage';
338
{*******************}
339
{ Request functions }
340
{*******************}
342
* CFHTTPMessageCopyRequestURL()
345
* Mac OS X: in version 10.1 and later in CoreServices.framework
346
* CarbonLib: not available
347
* Non-Carbon CFM: not available
349
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
350
function CFHTTPMessageCopyRequestURL( request: CFHTTPMessageRef ): CFURLRef; external name '_CFHTTPMessageCopyRequestURL';
354
* CFHTTPMessageCopyRequestMethod()
357
* Mac OS X: in version 10.1 and later in CoreServices.framework
358
* CarbonLib: not available
359
* Non-Carbon CFM: not available
361
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
362
function CFHTTPMessageCopyRequestMethod( request: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyRequestMethod';
365
{ Tries to modify request to contain the authentication information
366
requested by authenticationFailureResponse (which presumably is a
367
401 or 407 response). Returns TRUE if successful; FALSE otherwise
368
(leaving request unmodified). If authenticationScheme is NULL, the
369
strongest supported scheme listed in failedResponse will be used. }
371
* CFHTTPMessageAddAuthentication()
374
* Mac OS X: in version 10.1 and later in CoreServices.framework
375
* CarbonLib: not available
376
* Non-Carbon CFM: not available
378
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
379
function CFHTTPMessageAddAuthentication( request: CFHTTPMessageRef; authenticationFailureResponse: CFHTTPMessageRef; username: CFStringRef; password: CFStringRef; authenticationScheme: CFStringRef; forProxy: Boolean ): Boolean; external name '_CFHTTPMessageAddAuthentication';
382
{********************}
383
{ Response functions }
384
{********************}
386
* CFHTTPMessageGetResponseStatusCode()
389
* Mac OS X: in version 10.1 and later in CoreServices.framework
390
* CarbonLib: not available
391
* Non-Carbon CFM: not available
393
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
394
function CFHTTPMessageGetResponseStatusCode( response: CFHTTPMessageRef ): UInt32; external name '_CFHTTPMessageGetResponseStatusCode';
398
* CFHTTPMessageCopyResponseStatusLine()
401
* Mac OS X: in version 10.1 and later in CoreServices.framework
402
* CarbonLib: not available
403
* Non-Carbon CFM: not available
405
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
406
function CFHTTPMessageCopyResponseStatusLine( response: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyResponseStatusLine';