{ NULL, NULL },
};
+struct pakfire_log_buffer {
+ char data[BUFFER_SIZE];
+ size_t used;
+};
+
+enum pakfire_jail_pty_flags {
+ PAKFIRE_JAIL_PTY_READY_TO_READ = (1 << 0),
+ PAKFIRE_JAIL_PTY_READY_TO_WRITE = (1 << 1),
+};
+
+struct pakfire_jail_pty_stdio {
+ // File Descriptor
+ int fd;
+
+ // Buffer
+ struct pakfire_log_buffer buffer;
+
+ // Terminal Attributes
+ struct termios attrs;
+
+ // File Descriptor Flags
+ int fdflags;
+
+ // IO Flags
+ enum pakfire_jail_pty_flags flags;
+};
+
struct pakfire_jail_mountpoint {
char source[PATH_MAX];
char target[PATH_MAX];
unsigned int num_mountpoints;
};
-struct pakfire_log_buffer {
- char data[BUFFER_SIZE];
- size_t used;
-};
-
struct pakfire_jail_exec {
int flags;
// The path to the console
char console[PATH_MAX];
- // The master fd
+ // The master device
struct pakfire_jail_pty_master {
int fd;
-
- enum pakfire_jail_pty_flags {
- PAKFIRE_JAIL_PTY_READY_TO_READ = (1 << 0),
- PAKFIRE_JAIL_PTY_READY_TO_WRITE = (1 << 1),
- } flags;
- } master;
-
- // Standard Input
- struct pakfire_jail_pty_stdio {
- int fd;
- struct pakfire_log_buffer buffer;
- struct termios attrs;
- int fdflags;
enum pakfire_jail_pty_flags flags;
- } stdin;
+ } master;
- // Standard Output
+ // Standard Input/Output
+ struct pakfire_jail_pty_stdio stdin;
struct pakfire_jail_pty_stdio stdout;
} pty;
};