#ifndef PAKFIRE_JAIL_H
#define PAKFIRE_JAIL_H
-#ifdef PAKFIRE_PRIVATE
-
#include <pakfire/pakfire.h>
struct pakfire_jail;
int pakfire_jail_exec_script(struct pakfire_jail* jail,
const char* script, const size_t size, const char* args[], char*** output);
+#ifdef PAKFIRE_PRIVATE
+
// Convenience functions
int pakfire_jail_run(struct pakfire* pakfire, const char* argv[], int flags, char*** output);
int pakfire_jail_run_script(struct pakfire* pakfire,
int pakfire_jail_shell(struct pakfire* pakfire);
int pakfire_jail_ldconfig(struct pakfire* pakfire);
-#endif
+#endif /* PAKFIRE_PRIVATE */
#endif /* PAKFIRE_JAIL_H */
#include <pakfire/logging.h>
#include <pakfire/mount.h>
#include <pakfire/pakfire.h>
+#include <pakfire/private.h>
#include <pakfire/util.h>
#define BUFFER_SIZE 1024 * 64
return 0;
}
-int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire, int flags) {
+PAKFIRE_EXPORT int pakfire_jail_create(struct pakfire_jail** jail,
+ struct pakfire* pakfire, int flags) {
int r;
// Allocate a new jail
return r;
}
-struct pakfire_jail* pakfire_jail_ref(struct pakfire_jail* jail) {
+PAKFIRE_EXPORT struct pakfire_jail* pakfire_jail_ref(struct pakfire_jail* jail) {
++jail->nrefs;
return jail;
}
-struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail) {
+PAKFIRE_EXPORT struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail) {
if (--jail->nrefs > 0)
return jail;
}
// Returns the value of an environment variable or NULL
-const char* pakfire_jail_get_env(struct pakfire_jail* jail, const char* key) {
+PAKFIRE_EXPORT const char* pakfire_jail_get_env(struct pakfire_jail* jail,
+ const char* key) {
int i = pakfire_jail_find_env(jail, key);
if (i < 0)
return NULL;
}
// Sets an environment variable
-int pakfire_jail_set_env(struct pakfire_jail* jail, const char* key, const char* value) {
+PAKFIRE_EXPORT int pakfire_jail_set_env(struct pakfire_jail* jail,
+ const char* key, const char* value) {
// Find the index where to write this value to
int i = pakfire_jail_find_env(jail, key);
if (i < 0)
}
// Imports an environment
-int pakfire_jail_import_env(struct pakfire_jail* jail, const char* env[]) {
+PAKFIRE_EXPORT int pakfire_jail_import_env(struct pakfire_jail* jail, const char* env[]) {
if (!env)
return 0;
// Logging
-int pakfire_jail_set_log_callback(struct pakfire_jail* jail,
+PAKFIRE_EXPORT int pakfire_jail_set_log_callback(struct pakfire_jail* jail,
pakfire_jail_log_callback callback, void* data) {
jail->log_callback = callback;
jail->log_data = data;
return exit;
}
-int pakfire_jail_exec(struct pakfire_jail* jail, const char* argv[], char*** output) {
+PAKFIRE_EXPORT int pakfire_jail_exec(struct pakfire_jail* jail,
+ const char* argv[], char*** output) {
int r;
// Store logging callback
return r;
}
-int pakfire_jail_exec_script(struct pakfire_jail* jail,
+PAKFIRE_EXPORT int pakfire_jail_exec_script(struct pakfire_jail* jail,
const char* script, const size_t size, const char* args[], char*** output) {
char path[PATH_MAX];
const char** argv = NULL;