/** * @file minishell.h * * @brief Header file for the Minishell project. * * This header file includes all necessary libraries and headers required for the Minishell project. * The following is a list of included headers and the functions or system calls they provide: * * @headerfile * - int printf(const char *format, ...); * - Prints formatted data to stdout. * - void perror(const char *s); * - Prints a descriptive error message to stderr. * * @headerfile * - void* malloc(size_t size); * - Allocates memory dynamically. * - void free(void *ptr); * - Frees dynamically allocated memory. * - void exit(int status); * - Terminates the calling process. * - char* getenv(const char *name); * - Retrieves the value of an environment variable. * * @headerfile * - ssize_t write(int fd, const void *buf, size_t count); * - Writes data to a file descriptor. * - int access(const char *pathname, int mode); * - Checks user's permissions for a file. * - ssize_t read(int fd, void *buf, size_t count); * - Reads data from a file descriptor. * - int close(int fd); * - Closes a file descriptor. * - pid_t fork(void); * - Creates a new process. * - char* getcwd(char *buf, size_t size); * - Gets the current working directory. * - int chdir(const char *path); * - Changes the current working directory. * - int unlink(const char *pathname); * - Deletes a name from the filesystem. * - int execve(const char *pathname, char *const argv[], char *const envp[]); * - Executes a program. * - int dup(int oldfd); * - Duplicates a file descriptor. * - int dup2(int oldfd, int newfd); * - Duplicates a file descriptor to a specific descriptor number. * - int pipe(int pipefd[2]); * - Creates a pipe. * - int isatty(int fd); * - Checks if a file descriptor refers to a terminal. * - char* ttyname(int fd); * - Returns the name of the terminal associated with a file descriptor. * - int ttyslot(void); * - Returns the index of the current terminal. * * @headerfile * - char* strerror(int errnum); * - Returns a string describing the error number. * * @headerfile * - Required for various system calls and data types. * * @headerfile * - pid_t wait(int *wstatus); * - Waits for a child process to change state. * - pid_t waitpid(pid_t pid, int *wstatus, int options); * - Waits for a specific child process to change state. * - pid_t wait3(int *wstatus, int options, struct rusage *rusage); * - Waits for a child process to change state with resource usage information. * - pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage); * - Waits for a specific child process to change state with resource usage information. * * @headerfile * - int open(const char *pathname, int flags, ...); * - Opens a file. * * @headerfile * - Provides access to the errno variable. * * @headerfile * - void (*signal(int signum, void (*handler)(int)))(int); * - Sets a signal handler. * - int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); * - Examines and changes a signal action. * - int sigemptyset(sigset_t *set); * - Initializes a signal set to empty. * - int sigaddset(sigset_t *set, int signum); * - Adds a signal to a signal set. * - int kill(pid_t pid, int sig); * - Sends a signal to a process. * * @headerfile * - char* readline(const char *prompt); * - Reads a line of input from the user. * - void rl_clear_history(void); * - Clears the history list. * - void rl_on_new_line(void); * - Informs the readline library that the cursor is on a new line. * - void rl_replace_line(const char *text, int clear_undo); * - Replaces the contents of the current line. * - void rl_redisplay(void); * - Redisplays the current line. * - void add_history(const char *line); * - Adds a line to the history list. * * @headerfile * - DIR* opendir(const char *name); * - Opens a directory stream. * - struct dirent* readdir(DIR *dirp); * - Reads a directory entry. * - int closedir(DIR *dirp); * - Closes a directory stream. * * @headerfile * - int stat(const char *pathname, struct stat *statbuf); * - Gets file status. * - int lstat(const char *pathname, struct stat *statbuf); * - Gets file status, not following symbolic links. * - int fstat(int fd, struct stat *statbuf); * - Gets file status for an open file descriptor. * * @headerfile * - int ioctl(int fd, unsigned long request, ...); * - Manipulates the underlying device parameters of special files. * * @headerfile * - int tcsetattr(int fd, int optional_actions, const struct termios *termios_p); * - Sets the parameters associated with the terminal. * - int tcgetattr(int fd, struct termios *termios_p); * - Gets the parameters associated with the terminal. * * @headerfile * - int tgetent(char *bp, const char *name); * - Loads the terminal entry for a given terminal name. * - int tgetflag(const char *id); * - Gets the boolean value of a terminal capability. * - int tgetnum(const char *id); * - Gets the numeric value of a terminal capability. * - char* tgetstr(const char *id, char **area); * - Gets the string value of a terminal capability. * - char* tgoto(const char *cap, int col, int row); * - Computes a cursor movement string. * - int tputs(const char *str, int affcnt, int (*putc)(int)); * - Outputs a string with padding. */ #ifndef MINISHELL_H # define MINISHELL_H # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include "libft.h" # include "enviroment.h" #endif // MINISHELL_H