int make_stdio(int fd);
int make_null_stdio(void);
-bool is_clean_exit(int code, int status);
-bool is_clean_exit_lsb(int code, int status);
-
unsigned long long random_ull(void);
#define DEFINE_STRING_TABLE_LOOKUP(name,type) \
char* gethostname_malloc(void);
char* getlogname_malloc(void);
-int getttyname_malloc(char **r);
+
+int getttyname_malloc(int fd, char **r);
+int getttyname_harder(int fd, char **r);
+
+int get_ctty_devnr(dev_t *d);
+int get_ctty(char **r);
int chmod_and_chown(const char *path, mode_t mode, uid_t uid, gid_t gid);
void filter_environ(const char *prefix);
+bool tty_is_vc(const char *tty);
const char *default_term_for_tty(const char *tty);
+bool running_in_vm(void);
+
+void execute_directory(const char *directory, DIR *_d, char *argv[]);
+
#define NULSTR_FOREACH(i, l) \
for ((i) = (l); (i) && *(i); (i) = strchr((i), 0)+1)