-XBT_PUBLIC aid_t sg_actor_get_PID(sg_actor_t actor);
-XBT_PUBLIC aid_t sg_actor_get_PPID(sg_actor_t actor);
+XBT_PUBLIC size_t sg_actor_count();
+XBT_PUBLIC sg_actor_t* sg_actor_list();
+
+XBT_PUBLIC sg_actor_t sg_actor_create(const char* name, sg_host_t host, xbt_main_func_t code, int argc,
+ const char* const* argv);
+XBT_PUBLIC sg_actor_t sg_actor_init(const char* name, sg_host_t host);
+/** Start the previously initialized actor.
+ *
+ * Note that argv is copied over, so you should free your own copy once the actor is started. */
+XBT_PUBLIC void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, const char* const* argv);
+XBT_PUBLIC void sg_actor_set_stacksize(sg_actor_t actor, unsigned size);
+
+XBT_PUBLIC void sg_actor_exit();
+XBT_PUBLIC void sg_actor_on_exit(void_f_int_pvoid_t fun, void* data);
+
+XBT_PUBLIC aid_t sg_actor_get_PID(const_sg_actor_t actor);
+XBT_PUBLIC aid_t sg_actor_get_PPID(const_sg_actor_t actor);