]> gitweb.factorcode.org Git - factor.git/blob - basis/core-foundation/core-foundation.factor
Merge branch 'master' of git://factorcode.org/git/factor into new_ui
[factor.git] / basis / core-foundation / core-foundation.factor
1 ! Copyright (C) 2006, 2008 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.syntax alien.c-types alien.destructors accessors kernel ;
4 IN: core-foundation
5
6 TYPEDEF: void* CFTypeRef
7
8 TYPEDEF: void* CFAllocatorRef
9 CONSTANT: kCFAllocatorDefault f
10
11 TYPEDEF: bool Boolean
12 TYPEDEF: long CFIndex
13 TYPEDEF: char UInt8
14 TYPEDEF: int SInt32
15 TYPEDEF: uint UInt32
16 TYPEDEF: ulong CFTypeID
17 TYPEDEF: UInt32 CFOptionFlags
18 TYPEDEF: void* CFUUIDRef
19
20 ALIAS: <CFIndex> <long>
21 ALIAS: *CFIndex *long
22
23 C-STRUCT: CFRange
24 { "CFIndex" "location" }
25 { "CFIndex" "length" } ;
26
27 : <CFRange> ( location length -- range )
28     "CFRange" <c-object>
29     [ set-CFRange-length ] keep
30     [ set-CFRange-location ] keep ;
31
32 FUNCTION: CFTypeRef CFRetain ( CFTypeRef cf ) ;
33
34 FUNCTION: void CFRelease ( CFTypeRef cf ) ;
35
36 DESTRUCTOR: CFRelease