Line 25:
Line 25:
When CRIU receives an unsupported object, it enumerates callbacks until one of them doesn't return something other than -ENOSUPP. Usually callbacks returns negative code in an error case. The -ENOSUPP code is a special one. It is returned, if a callback is not suitable for the object.
When CRIU receives an unsupported object, it enumerates callbacks until one of them doesn't return something other than -ENOSUPP. Usually callbacks returns negative code in an error case. The -ENOSUPP code is a special one. It is returned, if a callback is not suitable for the object.
−
Each callback gets an unique identificator for each serialized object.
+
A callback gets an unique identificator for a serialized object. On restore this identificator is used to request a specific object.
The CRIU tool looks up callback by their names. A library may provide any set of callbacks. All callback prototypes are defined in ''criu-plugins.h''.
The CRIU tool looks up callback by their names. A library may provide any set of callbacks. All callback prototypes are defined in ''criu-plugins.h''.
Line 32:
Line 32:
A socket is external, if it's dumped without a peer. In this case some state can be hidden on another side.
A socket is external, if it's dumped without a peer. In this case some state can be hidden on another side.
−
The most popular example of this type of sockets is a dbus socket. Only D-Bus daemon knows on which events a socket is subscribed.
+
The most popular example of this type of sockets is a D-Bus socket. Only D-Bus daemon knows on which events a socket is subscribed.
int cr_plugin_dump_unix_sk(int sk, int id)
int cr_plugin_dump_unix_sk(int sk, int id)