~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to packages/extra/univint/CFHTTPMessage.pas

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{
 
2
     File:       CFNetwork/CFHTTPMessage.h
 
3
 
 
4
     Contains:   CoreFoundation Network socket streams header
 
5
 
 
6
     Version:    CFNetwork-71.2~1
 
7
 
 
8
     Copyright:  � 2001-2003 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://www.freepascal.org/bugs.html
 
14
 
 
15
}
 
16
{         Pascal Translation:  Peter N Lewis, <peter@stairways.com.au>, 2004 }
 
17
 
 
18
 
 
19
{
 
20
    Modified for use with Free Pascal
 
21
    Version 200
 
22
    Please report any bugs to <gpc@microbizz.nl>
 
23
}
 
24
 
 
25
{$mode macpas}
 
26
{$packenum 1}
 
27
{$macro on}
 
28
{$inline on}
 
29
{$CALLING MWPASCAL}
 
30
 
 
31
unit CFHTTPMessage;
 
32
interface
 
33
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
 
34
{$setc GAP_INTERFACES_VERSION := $0200}
 
35
 
 
36
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
 
37
    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
 
38
{$endc}
 
39
 
 
40
{$ifc defined CPUPOWERPC and defined CPUI386}
 
41
        {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
 
42
{$endc}
 
43
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
 
44
        {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
 
45
{$endc}
 
46
 
 
47
{$ifc not defined __ppc__ and defined CPUPOWERPC}
 
48
        {$setc __ppc__ := 1}
 
49
{$elsec}
 
50
        {$setc __ppc__ := 0}
 
51
{$endc}
 
52
{$ifc not defined __i386__ and defined CPUI386}
 
53
        {$setc __i386__ := 1}
 
54
{$elsec}
 
55
        {$setc __i386__ := 0}
 
56
{$endc}
 
57
 
 
58
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
 
59
        {$error Conflicting definitions for __ppc__ and __i386__}
 
60
{$endc}
 
61
 
 
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}
 
68
{$elsec}
 
69
        {$error Neither __ppc__ nor __i386__ is defined.}
 
70
{$endc}
 
71
{$setc TARGET_CPU_PPC_64 := FALSE}
 
72
 
 
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}
 
79
{$elsec}
 
80
        {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
 
81
{$endc}
 
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;
 
108
{$ALIGN MAC68K}
 
109
 
 
110
{
 
111
 *  kCFHTTPVersion1_0
 
112
 *  
 
113
 *  Availability:
 
114
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
115
 *    CarbonLib:        not available
 
116
 *    Non-Carbon CFM:   not available
 
117
 }
 
118
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
119
var kCFHTTPVersion1_0: CFStringRef; external name '_kCFHTTPVersion1_0'; (* attribute const *)
 
120
{
 
121
 *  kCFHTTPVersion1_1
 
122
 *  
 
123
 *  Availability:
 
124
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
125
 *    CarbonLib:        not available
 
126
 *    Non-Carbon CFM:   not available
 
127
 }
 
128
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
129
var kCFHTTPVersion1_1: CFStringRef; external name '_kCFHTTPVersion1_1'; (* attribute const *)
 
130
{
 
131
 *  kCFHTTPAuthenticationSchemeBasic
 
132
 *  
 
133
 *  Availability:
 
134
 *    Mac OS X:         in version 10.2 and later in CoreServices.framework
 
135
 *    CarbonLib:        not available
 
136
 *    Non-Carbon CFM:   not available
 
137
 }
 
138
// AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
 
139
var kCFHTTPAuthenticationSchemeBasic: CFStringRef; external name '_kCFHTTPAuthenticationSchemeBasic'; (* attribute const *)
 
140
{
 
141
 *  kCFHTTPAuthenticationSchemeDigest
 
142
 *  
 
143
 *  Availability:
 
144
 *    Mac OS X:         in version 10.2 and later in CoreServices.framework
 
145
 *    CarbonLib:        not available
 
146
 *    Non-Carbon CFM:   not available
 
147
 }
 
148
// AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
 
149
var kCFHTTPAuthenticationSchemeDigest: CFStringRef; external name '_kCFHTTPAuthenticationSchemeDigest'; (* attribute const *)
 
150
{ Currently unsupported }
 
151
type
 
152
        CFHTTPMessageRef    = ^SInt32; { an opaque 32-bit type }
 
153
{
 
154
 *  CFHTTPMessageGetTypeID()
 
155
 *  
 
156
 *  Availability:
 
157
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
158
 *    CarbonLib:        not available
 
159
 *    Non-Carbon CFM:   not available
 
160
 }
 
161
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
162
function CFHTTPMessageGetTypeID: CFTypeID; external name '_CFHTTPMessageGetTypeID';
 
163
 
 
164
 
 
165
{
 
166
 *  CFHTTPMessageCreateRequest()
 
167
 *  
 
168
 *  Availability:
 
169
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
170
 *    CarbonLib:        not available
 
171
 *    Non-Carbon CFM:   not available
 
172
 }
 
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';
 
175
 
 
176
 
 
177
{ Pass NULL to use the standard description for the given status code, as found in RFC 2616}
 
178
{
 
179
 *  CFHTTPMessageCreateResponse()
 
180
 *  
 
181
 *  Availability:
 
182
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
183
 *    CarbonLib:        not available
 
184
 *    Non-Carbon CFM:   not available
 
185
 }
 
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';
 
188
 
 
189
 
 
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.}
 
191
{
 
192
 *  CFHTTPMessageCreateEmpty()
 
193
 *  
 
194
 *  Availability:
 
195
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
196
 *    CarbonLib:        not available
 
197
 *    Non-Carbon CFM:   not available
 
198
 }
 
199
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
200
function CFHTTPMessageCreateEmpty( allocator: CFAllocatorRef; isRequest: Boolean ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateEmpty';
 
201
 
 
202
 
 
203
{
 
204
 *  CFHTTPMessageCreateCopy()
 
205
 *  
 
206
 *  Availability:
 
207
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
208
 *    CarbonLib:        not available
 
209
 *    Non-Carbon CFM:   not available
 
210
 }
 
211
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
212
function CFHTTPMessageCreateCopy( allocator: CFAllocatorRef; message: CFHTTPMessageRef ): CFHTTPMessageRef; external name '_CFHTTPMessageCreateCopy';
 
213
 
 
214
 
 
215
{ Whether the message is a response or a request}
 
216
{
 
217
 *  CFHTTPMessageIsRequest()
 
218
 *  
 
219
 *  Availability:
 
220
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
221
 *    CarbonLib:        not available
 
222
 *    Non-Carbon CFM:   not available
 
223
 }
 
224
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
225
function CFHTTPMessageIsRequest( message: CFHTTPMessageRef ): Boolean; external name '_CFHTTPMessageIsRequest';
 
226
 
 
227
 
 
228
{
 
229
 *  CFHTTPMessageCopyVersion()
 
230
 *  
 
231
 *  Availability:
 
232
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
233
 *    CarbonLib:        not available
 
234
 *    Non-Carbon CFM:   not available
 
235
 }
 
236
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
237
function CFHTTPMessageCopyVersion( message: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyVersion';
 
238
 
 
239
 
 
240
{
 
241
 *  CFHTTPMessageCopyBody()
 
242
 *  
 
243
 *  Availability:
 
244
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
245
 *    CarbonLib:        not available
 
246
 *    Non-Carbon CFM:   not available
 
247
 }
 
248
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
249
function CFHTTPMessageCopyBody( message: CFHTTPMessageRef ): CFDataRef; external name '_CFHTTPMessageCopyBody';
 
250
 
 
251
 
 
252
{
 
253
 *  CFHTTPMessageSetBody()
 
254
 *  
 
255
 *  Availability:
 
256
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
257
 *    CarbonLib:        not available
 
258
 *    Non-Carbon CFM:   not available
 
259
 }
 
260
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
261
procedure CFHTTPMessageSetBody( message: CFHTTPMessageRef; bodyData: CFDataRef ); external name '_CFHTTPMessageSetBody';
 
262
 
 
263
 
 
264
{
 
265
 *  CFHTTPMessageCopyHeaderFieldValue()
 
266
 *  
 
267
 *  Availability:
 
268
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
269
 *    CarbonLib:        not available
 
270
 *    Non-Carbon CFM:   not available
 
271
 }
 
272
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
273
function CFHTTPMessageCopyHeaderFieldValue( message: CFHTTPMessageRef; headerField: CFStringRef ): CFStringRef; external name '_CFHTTPMessageCopyHeaderFieldValue';
 
274
 
 
275
 
 
276
{
 
277
 *  CFHTTPMessageCopyAllHeaderFields()
 
278
 *  
 
279
 *  Availability:
 
280
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
281
 *    CarbonLib:        not available
 
282
 *    Non-Carbon CFM:   not available
 
283
 }
 
284
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
285
function CFHTTPMessageCopyAllHeaderFields( message: CFHTTPMessageRef ): CFDictionaryRef; external name '_CFHTTPMessageCopyAllHeaderFields';
 
286
 
 
287
 
 
288
{
 
289
 *  CFHTTPMessageSetHeaderFieldValue()
 
290
 *  
 
291
 *  Availability:
 
292
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
293
 *    CarbonLib:        not available
 
294
 *    Non-Carbon CFM:   not available
 
295
 }
 
296
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
297
procedure CFHTTPMessageSetHeaderFieldValue( message: CFHTTPMessageRef; headerField: CFStringRef; value: CFStringRef ); external name '_CFHTTPMessageSetHeaderFieldValue';
 
298
 
 
299
 
 
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.}
 
301
{
 
302
 *  CFHTTPMessageAppendBytes()
 
303
 *  
 
304
 *  Availability:
 
305
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
306
 *    CarbonLib:        not available
 
307
 *    Non-Carbon CFM:   not available
 
308
 }
 
309
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
310
function CFHTTPMessageAppendBytes( message: CFHTTPMessageRef; newBytes: UnivPtr; numBytes: CFIndex ): Boolean; external name '_CFHTTPMessageAppendBytes';
 
311
 
 
312
 
 
313
{ Whether further header data is expected by the message}
 
314
{
 
315
 *  CFHTTPMessageIsHeaderComplete()
 
316
 *  
 
317
 *  Availability:
 
318
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
319
 *    CarbonLib:        not available
 
320
 *    Non-Carbon CFM:   not available
 
321
 }
 
322
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
323
function CFHTTPMessageIsHeaderComplete( message: CFHTTPMessageRef ): Boolean; external name '_CFHTTPMessageIsHeaderComplete';
 
324
 
 
325
 
 
326
{
 
327
 *  CFHTTPMessageCopySerializedMessage()
 
328
 *  
 
329
 *  Availability:
 
330
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
331
 *    CarbonLib:        not available
 
332
 *    Non-Carbon CFM:   not available
 
333
 }
 
334
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
335
function CFHTTPMessageCopySerializedMessage( request: CFHTTPMessageRef ): CFDataRef; external name '_CFHTTPMessageCopySerializedMessage';
 
336
 
 
337
 
 
338
{*******************}
 
339
{ Request functions }
 
340
{*******************}
 
341
{
 
342
 *  CFHTTPMessageCopyRequestURL()
 
343
 *  
 
344
 *  Availability:
 
345
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
346
 *    CarbonLib:        not available
 
347
 *    Non-Carbon CFM:   not available
 
348
 }
 
349
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
350
function CFHTTPMessageCopyRequestURL( request: CFHTTPMessageRef ): CFURLRef; external name '_CFHTTPMessageCopyRequestURL';
 
351
 
 
352
 
 
353
{
 
354
 *  CFHTTPMessageCopyRequestMethod()
 
355
 *  
 
356
 *  Availability:
 
357
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
358
 *    CarbonLib:        not available
 
359
 *    Non-Carbon CFM:   not available
 
360
 }
 
361
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
362
function CFHTTPMessageCopyRequestMethod( request: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyRequestMethod';
 
363
 
 
364
 
 
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. }
 
370
{
 
371
 *  CFHTTPMessageAddAuthentication()
 
372
 *  
 
373
 *  Availability:
 
374
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
375
 *    CarbonLib:        not available
 
376
 *    Non-Carbon CFM:   not available
 
377
 }
 
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';
 
380
 
 
381
 
 
382
{********************}
 
383
{ Response functions }
 
384
{********************}
 
385
{
 
386
 *  CFHTTPMessageGetResponseStatusCode()
 
387
 *  
 
388
 *  Availability:
 
389
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
390
 *    CarbonLib:        not available
 
391
 *    Non-Carbon CFM:   not available
 
392
 }
 
393
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
394
function CFHTTPMessageGetResponseStatusCode( response: CFHTTPMessageRef ): UInt32; external name '_CFHTTPMessageGetResponseStatusCode';
 
395
 
 
396
 
 
397
{
 
398
 *  CFHTTPMessageCopyResponseStatusLine()
 
399
 *  
 
400
 *  Availability:
 
401
 *    Mac OS X:         in version 10.1 and later in CoreServices.framework
 
402
 *    CarbonLib:        not available
 
403
 *    Non-Carbon CFM:   not available
 
404
 }
 
405
// AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
 
406
function CFHTTPMessageCopyResponseStatusLine( response: CFHTTPMessageRef ): CFStringRef; external name '_CFHTTPMessageCopyResponseStatusLine';
 
407
 
 
408
end.