Added:
[ocaml-ancient.git] / ancient.ml
1 (* Mark objects as 'ancient' so they are taken out of the OCaml heap.
2  * $Id: ancient.ml,v 1.5 2006-10-09 12:18:05 rich Exp $
3  *)
4
5 type 'a ancient
6
7 external mark : 'a -> 'a ancient = "ancient_mark"
8
9 external follow : 'a ancient -> 'a = "ancient_follow"
10
11 external delete : 'a ancient -> unit = "ancient_delete"
12
13 external is_ancient : 'a -> bool = "ancient_is_ancient"
14
15 type md
16
17 external attach : Unix.file_descr -> nativeint -> md = "ancient_attach"
18
19 external detach : md -> unit = "ancient_detach"
20
21 external share : md -> int -> 'a -> 'a ancient = "ancient_share"
22
23 external get : md -> int -> 'a ancient = "ancient_get"
24
25 let max_key = 1023 (* MMALLOC_KEYS-1.  See mmprivate.h *)