/usr/lib/ocaml/netsys/netsys_pmanage.mli is in libocamlnet-ocaml-dev 4.1.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | (* $Id$ *)
(** Manage persistent objects *)
(** This module allows you to keep a list of all objects with
kernel persistency in an external file.
*)
type pm_obj =
[ `File of string
| `Posix_shm of string
| `Posix_sem of string
| `Sem_cont of string
]
class type pmanage =
object
method register_file : string -> unit
(** Register a temporary file *)
method unregister_file : string -> unit
(** Unregister a temporary file *)
method register_posix_shm : string -> unit
(** Register a POSIX shared memory object identified by this path *)
method unregister_posix_shm : string -> unit
(** Unregister a POSIX shared memory object identified by this path *)
method register_posix_sem : string -> unit
(** Register a POSIX named semaphore identified by this path *)
method unregister_posix_sem : string -> unit
(** Unregister a POSIX named semaphore identified by this path *)
method register_sem_cont : string -> unit
(** Register a semaphore container (see {!Netsys_sem}) *)
method unregister_sem_cont : string -> unit
(** Unregister a semaphore container (see {!Netsys_sem}) *)
method registered : pm_obj list
(** Return the registered objects *)
method register : pm_obj list -> unit
(** Mass-register a list of objects *)
method unlink : unit -> unit
(** Delete all registered objects *)
end
val pmanage : string -> pmanage
(** Create a new manager for persistent kernel objects. The data is stored
in a text file whose path is passed to this function. If the file already
exists, it is opened and used. If the file does not exist yet, an
empty manager will be created.
This function can be safely used from several threads and several
processes.
*)
val fake_pmanage : unit -> pmanage
(** A pseudo manager that does not save anything to a text file *)
val unlink_this : pm_obj -> unit
(** Unlinks this object *)
|