summaryrefslogblamecommitdiffstats
path: root/03_exercise/srv/process.h
blob: 6e9208cf922a0fcb695a8ca9ac488694b2d52abf (plain) (tree)





























                                                                          
#ifndef SHELL_PROCESS_H
#define SHELL_PROCESS_H

#include <stddef.h>
#include <stdbool.h>

typedef struct {
    char **argv;
    size_t argc;
    int in_fd;
    int out_fd;
    int  pid;
    bool blocking;
} process;

/*
 * Parses the given line and creates an array of processes at *processes
 *  Expects tail -F file | grep panic & to mean that both processes should
 *  run in the background
 */
int parse_line(char const *line, process **processes);

/*
 * returns the return code of the executed program
 */
int exec_command(process p);

void free_processes(process **processes);

#endif // SHELL_PROCESS_H