struct pakfire_jail;
-int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire);
+int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire, int flags);
struct pakfire_jail* pakfire_jail_ref(struct pakfire_jail* jail);
struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail);
struct pakfire* pakfire;
int nrefs;
+ // Flags
+ int flags;
+
// Environment
char* env[ENVIRON_SIZE];
};
free(jail);
}
-int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire) {
+int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire, int flags) {
int r;
// Allocate a new jail
// Initialize reference counter
j->nrefs = 1;
+ // Store flags
+ j->flags = flags;
+
DEBUG(j->pakfire, "Allocated new jail at %p\n", j);
// Set default environment
struct pakfire_jail* jail = NULL;
// Create a new jail
- ASSERT_SUCCESS(pakfire_jail_create(&jail, t->pakfire));
+ ASSERT_SUCCESS(pakfire_jail_create(&jail, t->pakfire, 0));
// Destroy it
ASSERT_NULL(pakfire_jail_unref(jail));
struct pakfire_jail* jail = NULL;
// Create a new jail
- ASSERT_SUCCESS(pakfire_jail_create(&jail, t->pakfire));
+ ASSERT_SUCCESS(pakfire_jail_create(&jail, t->pakfire, 0));
// Check if the default variables are set
ASSERT(pakfire_jail_get_env(jail, "LANG"));