]> git.ipfire.org Git - people/ms/pakfire.git/blobdiff - src/libpakfire/include/pakfire/jail.h
jail: Replace communication callbacks by setting callbacks
[people/ms/pakfire.git] / src / libpakfire / include / pakfire / jail.h
index 6185d2016b959c20c5dbb8d39adf34fe4e2e1e4e..0d10c16334861d513a6736bb4925795d5bc7ae31 100644 (file)
@@ -45,6 +45,18 @@ const char* pakfire_jail_get_env(struct pakfire_jail* jail, const char* key);
 int pakfire_jail_set_env(struct pakfire_jail* jail, const char* key, const char* value);
 int pakfire_jail_import_env(struct pakfire_jail* jail, const char* env[]);
 
+// Standard Input
+typedef int (*pakfire_jail_stdin_callback)
+       (struct pakfire_jail* jail, void* data, int fd);
+void pakfire_jail_set_stdin_callback(struct pakfire_jail* jail,
+       pakfire_jail_stdin_callback callback, void* data);
+
+// Standard Output
+typedef int (*pakfire_jail_stdout_callback)
+       (struct pakfire_jail* jail, void* data, const char* line, const size_t length);
+void pakfire_jail_set_stdout_callback(struct pakfire_jail* jail,
+       pakfire_jail_stdout_callback callback, void* data);
+
 // Execute
 typedef int (*pakfire_jail_communicate_in)
        (struct pakfire* pakfire, void* data, int fd);
@@ -71,8 +83,8 @@ int pakfire_jail_exec(
 #include <pakfire/cgroup.h>
 
 // Capture
-int pakfire_jail_capture_stdout(struct pakfire* pakfire, void* data,
-       int priority, const char* line, size_t length);
+int pakfire_jail_capture_stdout(struct pakfire_jail* jail,
+       void* data, const char* line, size_t length);
 
 // Resource limits
 int pakfire_jail_set_cgroup(struct pakfire_jail* jail, struct pakfire_cgroup* cgroup);