14#define O_WRONLY _O_WRONLY
15#define O_CREAT _O_CREAT
16#define O_TRUNC _O_TRUNC
18#define STDOUT_FILENO 1
void build_pipeline(CommandNode **commands)
Build the pipeline using a NULL-terminated array of CommandNode pointers.
void free_pipeline(CommandNode *head)
Free the linked list of commands.
CommandNode * create_command_node(char **args)
Create a new CommandNode.
void execute_pipeline(CommandNode *head, int output_fd)
Execute a pipeline of commands.
Structure representing a command in a pipeline.